02.01.2015 Views

Klasyczne metody szyfrowania

Klasyczne metody szyfrowania

Klasyczne metody szyfrowania

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!