též permutační šifra, představuje jiný typ šifer, nežli šifry substituční. Její princip je postaven na permutaci (přeuspořádání) znaků ve vstupním slově dle určitého vzoru.
Z matematického hlediska stačí na úplné zadání permutační šifry znát přepis permutace, obvykle zadávaný tabulkovou metodou, viz ZDE.
Poměrně známá permutační šifra fungovala na principu, kdy se vstupní řetězec přepsal po řádcích do obdélníku, ten se otočil o 90 stupňů a výstup se z něho opět přečetl po řádcích (říká se jí též obdélníková transpoziční šifra):
| Šifruj("nazdar") | → |
|
→ |
|
→ | adrnza |
Takto zapsaná permutační šifra se dá jednoduše přepsat pomocí tabulkového zápisu (definujícího permutaci), stačí si uvědomit, jak se mění pořadí jednotlivých symbolů:
| Šifruj("123456") | → |
|
→ |
|
→ | 246135 |
Z uvedeného tedy vyplývá, že předpis permutace lze zapsat jako (permutace se obvykle značí řeckými písmeny):
| χ = |
|
Ze znalosti tohoto předpisu lze již snadno vytvořit algoritmus pro šifrování daného vstupu. Pokud je vstup delší, rozdělí se na úseky o vhodné délce, případně se poslední úsek doplní vhodným počtem znaků.
Dešifrování lze snadno provést ze znalosti předpisu permutace tak, že se zjistí inverzní permutace (popsáno v příslušné sekci ZDE) a ta se použije na zašifrovaný výstup.
Ve středověku byla oblíbená permutační šifra postavena na principu, kdy se namotal tenký list kůže (lze to i s papírem) kolem tyče s určitým průměrem, přes jednotlivé proužky se napsal vzkaz. Po rozmotání se papírek poslal dál. Pro dešifrování bylo potřeba namotat papírek na tyč se správným průměrem (té se říkalo skytalé).

Skytalé - ukázka transpoziční šifry v praxi. Zdroj zde.
Se provádí ze znalosti pravidel daného jazyka (například v latině se často vyskytují písmena a a e vedle sebe apod.). Obecně však neexistuje jednoduchá cesta, jak dosáhnout rychle správného výsledku.
Napište program realizující transpoziční šifru tak, aby mohl zároveň šifrovat i dešifrovat zprávy dle zadaného předpisu permutace (včetně delších zpráv než je předpis permutace).