Klasyczne metody szyfrowania
Klasyczne metody szyfrowania
Klasyczne metody szyfrowania
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
zastapi¢ niewygodne w u»yciu ksi¡»ki kodowe. Odpowiedzi¡ rmy IBM byª<br />
system LUCIFER, który po uproszczeniu i modykacji staª si¦ standardem.<br />
Program szyfruj¡cy zostaª rozpowszechniony w postaci ko±ci, któr¡ ka»dy<br />
zainteresowany mógª wmontowa¢ w swój komputer. Rozszyfrowywanie polegaªo<br />
na u»yciu tej samej ko±ci.<br />
Opiszemy teraz zasad¦ dziaªania algorytmu DES. Wej±ciowe 64 bity s¡<br />
najpierw pomieszane przez pocz¡tkow¡ permutacj¦ IP. Pierwsze 32 bity<br />
tworz¡ wektor L 0 , a nast¦pne 32 tworz¡ R 0 . Po szesnastu rundach manipulacji,<br />
wektory lewy i prawy ª¡cz¡ si¦ w caªo±¢ i przechodz¡ przez permutacj¦<br />
IP −1 generuj¡c ostateczn¡ wersj¦ szyfru.<br />
Podczas 16 rund <strong>szyfrowania</strong> tworz¡ si¦ kolejno wektory L 1 , L 2 , . . . , L 16<br />
oraz R 1 , R 2 , . . . , R 16 . Dla 1 ≤ i ≤ 16, mamy<br />
L i = R i−1 , R i = L i−1 ⊕ f(R i−1 , K i ),<br />
gdzie f(R i−1 , K i ) jest wektorem dwójkowym o 32 wspóªrz¦dnych, a wektory<br />
K i s¡ 48-bitowymi wektorami generowanymi przez klucz K wedªug procedury,<br />
któr¡ opiszemy pó¹niej.<br />
Dekodowanie odbywa si¦ w odwrotn¡ stron¦, tj. najpierw zaszyfrowany<br />
tekst jest poddawany permutacji IP −1 , tworz¡ si¦ L 16 i R 16 , a nast¦pnie<br />
obliczane s¡ kolejno<br />
R 15 = L 16 , L 15 = R 16 ⊕ f(R 15 , K 16 ) . . . , R 0 = L 1 , L 0 = R 1 ⊕ f(R 0 , K 1 ).<br />
Poª¡czony wektor L 0 R 0 jest poddany permutacji IP i powstaje ci¡g 64 bitów<br />
wiadomo±ci jawnej.<br />
Warto±ci¡ funkcji f jest 32-bitowy ci¡g. Procedura jego powstawania wygl¡da<br />
nast¦puj¡co. Jak ju» wspominali±my, K i ma 48 bitów, a R i−1 - 32 bity.<br />
Aby te wektory doda¢, musimy rozszerzy¢ R i−1 do 48 bitów. Rozszerzenie<br />
R i−1 odbywa si¦ wedªug Tabeli selekcji bitów. Powstaªy 48-bitowy strumie«<br />
jest podzielony na 8 wektorow 6-bitowych, które s¡ przepuszczone przez S-<br />
boksy (Tabela S-boksów). Aby przybli»y¢ metod¦ dziaªania S-boksów, rozwa»my<br />
wektor sze±ciobitowy a 1 a 2 a 3 a 4 a 5 a 6 , na przykªad 010011, który traa<br />
na S 4 . Bity a 1 a 6 to numer wiersza (i), a a 2 a 3 a 4 a 5 to numer kolumny (j) zapisane<br />
w ukªadzie dwójkowym. Strumie« wyj±ciowy (w ukªadzie dziesi¦tnym)<br />
jest na pozycji (i, j) S-boksa. W naszym przypadku, 01 2 = 1 oraz 1001 2 = 9<br />
i w S 4 znajduje si¦ na pozycji (1, 9) liczba 7 = 0111 2 . Zatem strumieniem<br />
wyj±ciowym jest 0111.<br />
29