[ Pobierz całość w formacie PDF ]
.2.Na kluczu wykonuje siÄ™ przesuniÄ™cie cykliczne o 25 pozycji.Wynikjest na nowo dzielony na bloki dÅ‚ugoÅ›ci 16.Daje to nastÄ™pnych 8podkluczy (4 brakujÄ…ce podklucze dla drugiej rundy, 4 dla trzeciejrundy).3.Operacje z punktu 2 powtarzamy, a\ wygenerujemy wszystkiepotrzebne podklucze.3.4.3.Deszyfrowanie przez IDEATak jak w przypadku DES-a potrzebna jest jakaÅ› sprytna metoda, albowiembyÅ‚oby trudno bezpoÅ›rednio wyliczyć dane wejÅ›ciowe dla rundy napodstawie danych wyjÅ›ciowych dla rundy (porównaj rysunek 3.6).Idea deszyfrowania dla jednej rundy:Wprowadzmy nastÄ™pujÄ…ce oznaczenia (patrz rysunek 3.7):(i) (i) (i) (i)A = X1-Z1 , B = X2 + Z2 , C = X3 + Z3 , D = X4*Z4.NiechE = B XOR Y3, F = C XOR Y2(porównaj rysunek 3.7).Aatwo zauwa\yć korzystajÄ…c z rysunku 3.7, \eY3 XOR Y4 = (B XOR E) XOR (E XOR D) = B XOR D.Zatem mo\emy obliczyć wartość B XOR D.Podobnie mo\na obliczyć AXOR C.Zauwa\my, \e B XOR D i A XOR C sÄ… wynikami otrzymywanymiprzez dwa wÄ™zÅ‚y obliczajÄ…ce XOR w Å›rodkowej części ukÅ‚adu44KryptografiaRysunek 3.7.Metoda deszyfrowania dla algorytmu IDEA45M.KutyÅ‚owski, W.-B.Strothmannprzedstawionego na rysunku 3.7.Tak wiÄ™c znajÄ…c klucze Z5 oraz Zf,mo\na obliczyć E i F.Za ich pomocÄ… otrzymujemy:A = YlXORF, B = Y3XORE, C = Y2 XOR F, D = Y4 XOR £.ZnajÄ…c A, B, C, D i podklucze Zj ,., yf, mo\na na koniec wyliczyćXi,.,X4.W opisany powy\ej sposób znajÄ…c podklucze wyprowadziliÅ›my danewejÅ›ciowe rundy z jej wyniku.W celu przeprowadzenia deszyfrowa-nia, czynimy to dla wszystkich rund, poczynajÄ…c od ostatniej.Rysunek 3.8.Schemat deszyfrowania w algorytmie IDEARealizacja deszyfrowania: jeÅ›li operacje wykonywane w trakcie de-szyfrowania przedstawimy schematycznie (patrz rysunek 3.8), to za-46Kryptografiauwa\amy uderzajÄ…ce podobieÅ„stwo do operacji wykonywanych pod-czas szyfrowania.Jedyna ró\nica polega na tym, \e operacje arytme-tyczne przy u\yciu 4 podkluczy sÄ… wykonywane nie na poczÄ…tku, ale nakoÅ„cu rundy deszyfrowania.DziÄ™ki temu ten sam ukÅ‚ad elektronicznymo\e być u\yty w celu szyfrowania i deszyfrowania.Jedynie logicznypodziaÅ‚ na rundy jest nieco inny: najpierw przeprowadzamy operacjÄ™poczÄ…tkowÄ…, odpowiadajÄ…cÄ… operacji koÅ„cowej szyfrowania, a nastÄ™p-nie wykonujemy 8 rund, ka\da z nich zaczynajÄ…ca siÄ™ od operacji XOR.Podklucze u\ywane podczas deszyfrowania odpowiadajÄ… podkluczomszyfrowania wylistowanym w innej kolejnoÅ›ci.Ponadto, aby otrzymaćpodklucze deszyfrowania, musimy część podkluczy odwrócić (te u\y-wane do mno\enia) lub zanegować (te u\ywane do dodawania).16 bitów 16 bitów 16 bitów16 bitówRysunek 3.9.PrzeksztaÅ‚cenie koÅ„cowe w algorytmie IDEA3.5.RC5RC5 to stosunkowo nowy algorytm.ZostaÅ‚ on zaproponowany w 1994roku przez R.Rivesta.ZgÅ‚oszono na niego patent, ale ponoć sÄ… zamiary,by opÅ‚aty licencyjne za u\ywanie RC5 byÅ‚y niskie.W pewnym sensieRC5 jest spokrewniony zarówno z DES-em, jak i algorytmem IDEA.Inaczej jednak ni\ dla poprzednich algorytmów, mo\liwe jest wybiera-nie liczby wykonywanych rund (parametr r), wielkoÅ›ci szyfrowanychbloków (parametr 2w), jak i dÅ‚ugoÅ›ci klucza w bajtach (parametr b).Standardowymi wielkoÅ›ciami sÄ… w = 32, r = 12, h = 16.Trzy opera-cje stanowiÄ… podstawÄ™ zarówno szyfrowania, jak i deszyfrowania: do-dawanie modulo 2W, xOR ciÄ…gów dÅ‚ugoÅ›ci w, wreszcie przesuniÄ™cie47M.Kutytowski, W.-B.Strothmanncykliczne w lewo lub w prawo o zadanÄ… ilość pozycji (przez X - generowanie podpisów cyfrowych (patrz rozdziaÅ‚ 8),>- liczne protokoÅ‚y kryptograficzne (patrz, na przykÅ‚ad, rozdziaÅ‚y 9 i 11),> % one-time pad i pokrewne mu szyfrowanie strumieniowe (patrz poni\ejw tym rozdziale).Szybkie generowanie losowych ciÄ…gów jest technicznie trudne.Mo\na to, naprzykÅ‚ad, zrealizować poprzez mierzenie odstÄ™pów czasu pomiÄ™dzyuderzeniami palców w klawiaturÄ™.Ta metoda nie pozwala jednakwygenerować wielu bitów i jest nieco uciÄ…\liwa dla u\ytkownika.Do-tychczas nie ma dostÄ™pnych na rynku tanich i efektywnych urzÄ…dzeÅ„generujÄ…cych losowe ciÄ…gi.DecydujÄ…cym powodem jest to, \e tanio i szybkomo\na uzyskać tzw.ciÄ…gi pseudolosowe za pomocÄ… specjalnych algorytmów.CiÄ…gi pseudolosowe majÄ… wszystkie wÅ‚asnoÅ›ci ciÄ…gów losowych, jakieefektywnie mo\na przetestować, ale jednoczeÅ›nie mogÄ…101M.KutyÅ‚owski, W.-B.Strothmannbyć wygenerowane w deterministyczny sposób.Jedynym losowym ele-mentem takiego ciÄ…gu jest zarodek.CiÄ…g pseudolosowy jest tworzony tak, \ejego z-ty element s, jest wyznaczony przez pewien deterministycznyalgorytm z zarodka x, indeksu i oraz wartoÅ›ci Si,., s,-_i.Zarodek jestzwykle stosunkowo krótkim ciÄ…giem, wiÄ™c mo\na go wygenerować takimimetodami, jak poprzez mierzenie odstÄ™pów czasu pomiÄ™dzy uderzeniamipalców w klawiaturÄ™.Z drugiej strony, zarodek musi być na tyle dÅ‚ugi, bywykluczyć mo\liwość odtworzenia zarodka poprzez przeglÄ…danie wszystkichzarodków i ciÄ…gów przez nie generowanych.7.1.1.WÅ‚asnoÅ›ci ciÄ…gów pseudolosowychCiÄ…gi pseudolosowe mo\na napotkać, na przykÅ‚ad, w dziedzinie algorytmówzrandomizowanych, symulacjach procesów stochastycznych itp.Metodygenerowania ciÄ…gów pseudolosowych znane z tych dziedzin zwykle niemogÄ… być stosowane do celów kryptograficznych.W kryptografii \Ä…damy odnich dodatkowych wÅ‚asnoÅ›ci: nie powinny one być rozró\nialne odprawdziwie losowych ciÄ…gów przy u\yciu \adnych praktycznie dostÄ™pnychmetod.Poni\ej staramy siÄ™ sprecyzować, co to znaczy.Nierozró\nialność: jeÅ›li ciÄ…gi bitów dÅ‚ugoÅ›ci / generujemy w sposóbnaprawdÄ™ losowy, to ka\dy ciÄ…g jest generowany z tym samym praw-dopodobieÅ„stwem 1/2'.JeÅ›li z kolei ciÄ…gi dÅ‚ugoÅ›ci / generujemy za pomocÄ…zarodków dÅ‚ugoÅ›ci k (k - Inaczej mówiÄ…c, dla danych podawanych przez jeden zgeneratorów algorytm A daje odpowiedz 1 częściej o frakcjÄ™ e.WÅ‚asność, jakÄ… chcielibyÅ›my osiÄ…gnąć w przypadku generatora pseu-dolosowych ciÄ…gów g\, to jego nierozró\nialność od generatora losowego g2-dla ka\dego wystarczajÄ…co du\ego e i ka\dego zrandomizo-wanegoalgorytmu A pracujÄ…cego w czasie wielomianowym, g\ i g2 nie sÄ… e-rozró\nialne. WystarczajÄ…co du\e" mo\e oznaczać na przykÅ‚ad e > 1/2100.Zauwa\my, \e wtedy potrzebujemy co najmniej 2100 testów, by oczekiwanailość jedynek generowanych przez A dla g\ i g2 ró\niÅ‚a siÄ™ o 1.Wrozwa\aniach teoretycznych za wystarczajÄ…co du\e" przyjmuje siÄ™wyra\enia typu e > l/p(l), gdzie p jest wielomianem [ Pobierz caÅ‚ość w formacie PDF ]