Treść książki

Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
Algorytmykryptograczne
Zasadadziałaniaalgorytmu
Samalgorytmjestszyfremblokowym.Danepodlegająceszyfrowaniu
sądzielonenablokidanychorozmiarze64-bitów.Dozaszyfrowaniadanych
używanyjestkluczbędący64-bitowymciągiemznaków,zczegoco8bit
wciągustanowibitkontrolnydosprawdzaniaparzystości.Algorytmnależy
dogrupysymetrycznychalgorytmówszyfrujących,czylitensamkluczwy-
korzystywanyjestzarównopodczasszyfrowania,jakideszyfrowaniadanych.
Wprocesieszyfrowaniamożemywyróżnić3etapy.Wpierwszymeta-
piewykorzystywanesąwcześniejstworzoneblokitekstu,któryjestjawny
(rys.2.1).Teksttakiprzechodziprzezprocesonazwiepermutacjawejścio-
waIP,wktórymbitywblokuwejściowymsąprzestawioneiprzygotowa-
nedonastępnegoetapuszyfrowania.Permutacjamiałanaceluułatwienie
wprowadzaniadanychdomaszynyszyfrującejwczasachpowstaniaalgo-
rytmu.Maszynyteniczymniedorównywałytworzonymobecnie,dlatego
teżoptymalizacjadanychwejściowychbyłakluczowymelementemzwią-
zanymzszybkościąwykonywanychoperacjiiichzłożonością.
Wdrugimetapiewykonywanejest16iteracjiprzyużyciufunkcjiFei-
stela,którazawieraodstawieniaipermutacje.Blokwejściowyjestrozbija-
nynaczęścilewąorazprawą.Każdycyklwyglądanastępująco:
1)bitykluczasąpermutowane,anastępniezostajewybrane48bitów
z56wszystkichbitów,
2)następujerozszerzenieprawejstronydo48-bitów(permutacjiroz-
szerzonej),
3)prawastronajestsumowanamodulo2zodpowiednimibitamida-
nychzkrokudrugiegocyklu(48bitów),
4)danewyjściowezostająpodzielonenaosiem6-bitowychblokówikażdy
blokpodawanyjestnawejściejednegozS-bloków(kolejne6-bitowe
blokipodawanesąnakolejnewejściaS-bloku).Pierwszyiostatnibit
danychokreślawiersz,apozostałebitykolumnęS-bloku.Powyznacze-
niumiejscawtabeli,odczytujesięwartośćizamienianazapisdwójko-
wy.WynikiemdziałaniakażdegoS-blokusą4bitywyjściowetworzą
one32-bitowewyjścieS-bloków.KażdyS-blokmainnąstrukturę,
5)wyjścieS-blokówpoddawanejestpermutacjiwP-blokach,
6)bitypoprzetworzeniusumowanesązbitamilewejstrony,
7)danepozsumowaniustająsięprawąpołową,wcześniejszaprawa
połowajestnowąlewąpołową.
Wtrzecimetapiepowykonaniuwspomnianych16cykli,lewaiprawa
połowazostajezłączonaoperacjąXOR,anastępniewykonywanajestosta-
tecznapermutacjabędącaodwrotnościąpermutacjipoczątkowej,poktórej
zostajestworzonykryptogramzdanychwejściowychirazemzkluczem
stanowiąoneproduktalgorytmu.
12