Jednoduchá sloupcová transpozice

Z Wikipedie, otevřené encyklopedie

Jednoduchá sloupcová transpozice je jedna z transpozičních šifer. Dále jsou blíže popsány dvě varianty této kryptografické operace, varianta s úplnou tabulkou a silnější varianta s neúplnou tabulkou.

Varianta s úplnou tabulkou[editovat | editovat zdroj]

Varianta s úplnou tabulkou funguje na principu přepsání kódovaného textu do tabulky o počtu sloupců, který je roven počtu písmen v klíčovém slově (nebo i více slovech) a následném rozložení – zašifrování.

Pokud např. jako klíč bude zvoleno slovo ZAKODOVANO, bude mít tabulka 10 sloupců. Očíslováním znaků daného klíčového slova lze získat jednoznačný parametr k zakódování a dekódování zprávy. Čísla se k jednotlivým písmenům přiřazují podle jejich abecedního pořadí. Pokud se některé písmeno v klíčovém slově opakuje, přiřadí se nižší číslo prvnímu výskytu v klíči. V uvedeném případě bude posloupnost čísel vypadat následovně:

Z  A  K  O  D  O  V  A  N  O
10 1  4  6  3  7  9  2  5  8

Text určený k zašifrování („Schuzka zitra v deset hodin na Velkem namesti pod kasnou Budu mit na hlave cerny baret s fialovou antenkou“) se nejprve přepíše po 10 písmenech v řádku bez mezer mezi slovy, náhodnými písmeny se případně doplní tabulka do 10 písmen v posledním řádku (např. znaky D, G):

10 1  4  6  3  7  9  2  5  8 
S  C  H  U  Z  K  A  Z  I  T
R  A  V  D  E  S  E  T  H  O
D  I  N  N  A  V  E  L  K  E
M  N  A  M  E  S  T  I  P  O
D  K  A  S  N  O  U  B  U  D
U  M  I  T  N  A  H  L  A  V
E  C  E  R  N  Y  B  A  R  E
T  S  F  I  A  L  O  V  O  U
A  N  T  E  N  K  O  U  D  G

Vypsáním po sloupcích postupně podle očíslování od 1 do 10 se získá šifrovaný text:

CAINKMCSN ZTLIBLAVU ZEAENNNAN HVNAAIEFT IHKPUAROD UDNMSTRIE KSVSOAYLK TOEODVEUG AEETUHBOO SRDMDUETA

a poté se text ještě může upravit např. rozdělením do sad po pěti znacích:

CAINK MCSNZ TLIBL AVUZE AENNN ANHVN AAIEF TIHKP UAROD UDNMS TRIEK SVSOA YLKTO EODVE UGAEE TUHBO OSRDM DUETA

Zpětné složení a dešifrování textu příjemcem (pokud disponuje správným klíčem) je zřejmé. Stačí seřadit písmena do sloupců po devíti znacích (počet písmen v sloupci se zjistí vydělením počtu všech písmen zprávy, což je v daném případě 90, počtem písmen v klíčovém slově) a podle číselné posloupnosti získané podle klíčového slova seřadit tyto sloupce 1 až 10 do správného pořadí.

Varianta s neúplnou tabulkou[editovat | editovat zdroj]

Silnější variantou proti prolomení je jednoduchá sloupcová transpozice s neúplnou tabulkou. Při šifrování textu se postupuje naprosto stejně jako v předchozím příkladu s jedinou výjimkou – nepoužijí se náhodná písmena pro doplnění tabulky.

Z  A  K  O  D  O  V  A  N  O
10 1  4  6  3  7  9  2  5  8 
S  C  H  U  Z  K  A  Z  I  T
R  A  V  D  E  S  E  T  H  O
D  I  N  N  A  V  E  L  K  E
M  N  A  M  E  S  T  I  P  O
D  K  A  S  N  O  U  B  U  D
U  M  I  T  N  A  H  L  A  V
E  C  E  R  N  Y  B  A  R  E
T  S  F  I  A  L  O  V  O  U
A  N  T  E  N  K  O  U

Vypsáním po sloupcích postupně od sloupce 1 do sloupce 10 se získá šifrovaný text:

CAINKMCSN ZTLIBLAVU ZEAENNNAN HVNAAIEFT IHKPUARO UDNMSTRIE KSVSOAYLK TOEODVEU AEETUHBOO SRDMDUETA

a poté lze text ještě rozdělit do sad po pěti znacích:

CAINK MCSNZ TLIBL AVUZE AENNN ANHVN AAIEF TIHKP UAROU DNMST RIEKS VSOAY LKTOE ODVEU AEETU HBOOS RDMDU ETA

Dešifrování se znalostí klíčového slova je následující:

Podle počtu písmen v klíčovém slově se určí počet sloupců tabulky K (tj. K = 10). Tímto číslem se vydělí celkový počet písmen zašifrovaného textu T (tedy T = 88). Počet řádků tabulky R určuje výsledek (tj. 8,8) zaokrouhlený na celé číslo nahoru (tj. R = 9). Poslední řádek bude neúplný. Ze vzorce T – (K × (R-1)) se zjistí, kolik sloupců bude mít o jedno písmeno více než sloupce zbývající. V uvedeném příkladu 88 – (10 × (9-1)) = 8.

Jde vždy o sloupce od začátku klíčového slova, nikoliv o sloupce podle pořadí písmene v abecedě. V příkladu to tedy bude prvních 8 sloupců pod písmeny Z A K O D O V A, kterým podle očíslování odpovídají hodnoty 10 1 4 6 3 7 9 2. Kratší budou sloupce pod písmeny N a O, tedy pátý a osmý. Tučně jsou zvýrazněny sloupce, které svým posledním písmenem vytvoří poslední, neúplný řádek tabulky:

CAINKMCSN ZTLIBLAVU ZEAENNNAN HVNAAIEFT IHKPUARO UDNMSTRIE KSVSOAYLK TOEODVEU AEETUHBOO SRDMDUETA

Stejně jako u předchozí varianty se pak podle číselné posloupnosti vytvořené z klíčového slova seřadí tyto sloupce 1 až 10 do správného pořadí – sestaví se tabulka a přečte text.

Prolomení tohoto systému bez znalosti klíčového slova je díky neúplnosti tabulky pro luštitele složitější, má problém určit správný rozměr tabulky, protože neví, které sloupce jsou krátké a které dlouhé.