COMPUTERWORLD
Specializovan² t²denφk o v²poΦetnφ technice

Serißl
o bezpeΦnosti
a informaΦnφm soukromφ

╚ßst 26 - CW 36/97

Principy Üifrovßnφ aneb jak zamotat nep°φteli hlavu

Antonφn BeneÜ

Dovolili bychom si na tomto mφst∞ upozornit ct∞nΘho P. T. Φtenß°e, ₧e k mnoh²m otßzkßm, kter²ch se tento p°ehled pouze dot²kß, se serißl vrßtφ ve sv²ch nßsledujφcφch dφlech. Berme toto pojednßnφ jako zb∞₧n² pr∙zkum ·zemφ.

Abychom si rozum∞li

P°edpoklßdejme, ₧e jsme se dohodli na n∞jakΘm zp∙sobu zßpisu (nebo chcete-li k≤dovßnφ) myÜlenek. Za tφmto ·Φelem pou₧φvßme znaky jistΘ abecedy. V prvnφ fßzi jsou vÜechny myÜlenky popsßny zp∙sobem, kter² je obecn∞ srozumiteln². Tomuto zßpisu budeme nadßle °φkat otev°en² text (plaintext). Pro jednoduchost budeme dßle zßpis myÜlenky oznaΦovat slovem zprßva.

èifrovacφ algoritmus otev°enΘmu textu p°i°adφ odpovφdajφcφ zaÜifrovan² text (ciphertext). ZaÜifrovan² text p°itom nenφ nic jinΘho, ne₧ jinΘ k≤dovßnφ stejnΘ zprßvy. Toto k≤dovßnφ mß ovÜem tu p°φjemnou vlastnost, ₧e je srozumitelnΘ pouze omezenΘmu okruhu Φtenß°∙ zprßvy. Pon∞kud nep°esn∞ lze °φci, ₧e zatφmco k p°eΦtenφ otev°enΘho textu vystaΦφme se znalostφ zp∙sobu k≤dovßnφ, k p°eΦtenφ zaÜifrovanΘho textu pot°ebujeme navφc jeÜt∞ dalÜφ informaci. TΘto informaci °φkßme klφΦ.

Formßln∞ji °eΦeno je Üifrovacφ algoritmus parametrickΘ zobrazenφ, kterΘ otev°enΘmu textu p°i°azuje odpovφdajφcφ zaÜifrovan² text. Aby bylo mo₧no zaÜifrovan² text jednoznaΦn∞ p°evΘst zp∞t do podoby otev°enΘho textu (deÜifrovat), musφ toto zobrazenφ b²t injektivnφ. Parametrem zobrazenφ je klφΦ. Volbou klφΦe vybereme jedno konkrΘtnφ "mapovßnφ" prostoru otev°en²ch text∙ do prostoru zaÜifrovan²ch text∙. Poznamenejme jeÜt∞, ₧e abeceda otev°enΘho textu a abeceda zaÜifrovanΘho textu mohou b²t

obecn∞ r∙znΘ.

"Tvrd² chlapi pou₧φvajφ tvrd² algoritmy"

JakΘ mß vlastnosti kryptograficky siln² Üifrovacφ algoritmus? Tak p°edevÜφm -- jφm popisovanΘ mapovßnφ otev°en²ch text∙ na odpovφdajφcφ zaÜifrovanΘ texty je co nejkomplikovan∞jÜφ. Zm∞ny v otev°enΘm textu by m∞ly ·stit v co nejnßhodn∞jÜφ zm∞ny v²slednΘ Üifry. Tuto vlastnost naz²vßme zmatenφ (confusion).

DalÜφ d∙le₧itou vlastnostφ je difuze. V pr∙b∞hu Üifrovßnφ je t°eba zajistit, aby pokud mo₧no ka₧dß Φßst zaÜifrovanΘho textu zßvisela na ka₧dΘ Φßsti p∙vodnφho plaintextu. V takovΘm p°φpad∞ i malß zm∞na otev°enΘho textu vyvolß zm∞nu celΘho zaÜifrovanΘho textu, co₧ zt∞₧uje anal²zu.

Je nutnΘ, aby algoritmus m∞l dostateΦn∞ velk² prostor klφΦ∙. V²sledek prßce dobrΘho algoritmu musφ p°i vÜech standardnφch statistick²ch testech vypadat jako nßhodnß posloupnost -- jako tzv. bφl² Üum. Algoritmus by m∞l b²t dob°e definovan² a verifikovateln², nem∞l by klßst omezenφ na vlastnosti otev°enΘho textu.

DalÜφ po₧adavek je pon∞kud v rozporu s po₧adavkem difuze: algoritmus by nem∞l propagovat chyby p°i Üifrovßnφ, Φi komunikaci a ovliv≥ovat tak dalÜφ tok informace. Zajφmavou vlastnostφ je tzv. interval jedineΦnosti (unicity distance). Tato veliΦina °φkß, jak dlouh² zaÜifrovan² text ji₧ mß s vysokou pravd∞podobnostφ pouze jeden mo₧n² zp∙sob deÜifrovßnφ. Platφ Φφm v∞tÜφ, tφm lepÜφ.

BezpeΦnost Üifrovacφho algoritmu by nem∞la zßviset na jeho (ne)znalosti. Naopak, je velmi vhodnΘ, aby auto°i nov² algoritmus p°edlo₧ili k ve°ejnΘ oponentu°e. Znakem kvality algoritmu nejsou tvrzenφ jeho tv∙rc∙, ale schopnost odolßvat

·silφ mnoha odbornφk∙ z celΘho sv∞ta.

Krajnφ meze

Pod pojmem bezpeΦnost Üifrovacφho algoritmu rozumφme jeho odolnost v∙Φi ·silφ neautorizovanΘ strany o zφskßnφ p°φstupu k otev°enΘmu textu, nebo jeÜt∞ lΘpe ke klφΦi, na zßklad∞ jemu dostupn²ch informacφ. N∞kterΘ metody, kterΘ k tomu m∙₧e pou₧φvat, jsou uvedeny dßle.

Ideßlnφ p°φpad p°edstavuje absolutn∞ bezpeΦn² algoritmus. Takov² algoritmus zaruΦuje, ₧e nenφ mo₧nΘ na zßklad∞ zachycenΘ Üifry zjistit p∙vodnφ otev°en² text. Docφlit popsanΘ vlastnosti je vÜak mimo°ßdn∞ obtφ₧nΘ, i kdy₧ ne nemo₧nΘ. Mnohdy se musφme spokojit pouze s efektivn∞ bezpeΦn²m algoritmem. Zde je pravd∞podobnost, ₧e se ·toΦnφkovi poda°φ otev°en² text zφskat v rozumnΘm Φase, dostateΦn∞ malß. To znamenß, ₧e problΘm nalezenφ otev°enΘho textu je algoritmicky °eÜiteln², ale dφky nßrok∙m na Φas a v²poΦetnφ v²kon prakticky nerealizovateln².

Pokud mß ·toΦnφk zachytivÜφ zaÜifrovanou zprßvu stejnou nad∞ji na nalezenφ p∙vodnφho otev°enΘho textu, jako by m∞l bez tΘto informace a tato pravd∞podobnost odpovφdß pravd∞podobnosti v²skytu tohoto otev°enΘho textu, hovo°φme o perfektnφm utajenφ (perfect secrecy). Zachycenφ zaÜifrovanΘ zprßvy v tomto p°φpad∞ ·toΦnφkovi nijak neprosp∞je v jeho ·silφ rozluÜtit Üifru.

P°i posuzovßnφ bezpeΦnosti Φi kvality Üifrovacφch algoritm∙ je nutnΘ vzφt v ·vahu dobu a prost°edφ jejich vzniku, stejn∞ tak jako oblast zam²ÜlenΘho nasazenφ. MnohΘ z dnes snadno zlomiteln²ch algoritm∙ mohly b²t v dob∞ svΘho vzniku velmi kvalitnφmi a bezpeΦn²mi Üiframi. Nasazenφ v²poΦetnφ techniky odsunulo do pozadφ tΘm∞° vÜechny starÜφ algoritmy. ZvyÜovßnφ v²konu poΦφtaΦ∙ v dneÜnφch dnech p°inßÜφ zkßzu algoritmu,

kter² zaÜifroval nejvφce dat ze vÜech -- DESu.

Bylo, nebylo

Jednφm z prvnφch, o kom se dovφdßme, ₧e se ·sp∞Ün∞ pom∞°il s problΘmem Üifrovßnφ, nebyl nikdo menÜφ, ne₧ Julius G. Caesar. Jeho myÜlenka byla velmi jednoduchß. Ka₧dΘ pφsmenko zprßvy nahradil pφsmenem, kterΘ je v abeced∞ o t°i mφsta dßle (A -> D ... Z -> C). Tento Üifrovacφ algoritmus je specißlnφm p°φpadem monoalfabetickΘ substituce. VÜechny podobnΘ algoritmy nahrazujφ ka₧d² znak abecedy otev°enΘho textu znakem jinΘ abecedy. Slabina t∞chto algoritm∙ spoΦφvß ve faktu, ₧e r∙znΘ znaky majφ r∙znou pravd∞podobnost v²skytu. Je tedy snadnΘ urΦit p°i°azenφ nejfrekventovan∞jÜφch znak∙ a ostatnφ doplnit tak, aby text dßval smysl. V²raznΘ zlepÜenφ nep°inesl ani nßpad rozd∞lit zprßvu na n∞kolik stejn²ch Φßstφ a na ka₧dou z nich aplikovat monoalfabetickou substituci. U tΘto tzv. polyalfabetickΘ substituce nenφ slo₧itΘ urΦit poΦet pou₧it²ch substitucφ na zßklad∞ anal²zy v²skytu opakujφcφch se °et∞zc∙ v zaÜifrovanΘm textu.

Namφsto nahrazovßnφ znak∙ jin²mi se m∙₧eme pokusit dostateΦn∞ zamφchat po°adφm jednotliv²ch znak∙. Tyto tzv. permutaΦnφ Üifry se vyskytovaly v mnoha podobßch. Jednoduch²m modelem permutaΦnφ Üifry je matice, do kterΘ po °ßdcφch zapφÜeme zprßvu. Opsßnφm matice po sloupcφch vznikne zaÜifrovan² text. Lehkou obm∞nou tohoto postupu je prou₧ek papφru, kter² navineme na vßleΦek. PotΘ zapφÜeme zprßvu po °ßdcφch ve sm∞ru podΘlnΘ osy vßleΦku. Po rozvinutφ je na prou₧ku zaÜifrovanß zprßva. K jejφmu p°eΦtenφ pot°ebujeme vßleΦek odpovφdajφcφ tlouÜ¥ky. Anal²zou digram∙ a trigram∙ (dvoj- a trojznakovΘ skupiny) vÜak lze zlomit i tyto Üifry.

Postupem Φasu dochßzelo k neustßlΘmu zlepÜovßnφ Üifrovacφch algoritm∙. Nekorunovan²mi krßli mezi Üifrovacφmi algoritmy pou₧φvan²mi p°ed nßstupem poΦφtaΦ∙ byly rotorovΘ stroje, z nich₧ nejslavn∞jÜφ je Enigma. Elektrick² impulz z klßvesnice po ·vodnφm permutaci realizovanΘ svorkovnicφ je veden p°es soustavu r∙znou rychlostφ se otßΦejφcφch rotor∙ s kontakty na v²stupnφ konzoli. Zp∙sob zaÜifrovßnφ vstupnφho znaku je tedy dßn zapojenφm svorkovnice a vÜech rotor∙ a jejich aktußlnφm nastavenφm.

Historie nßm po sob∞ tΘ₧ z∙stavila absolutn∞ bezpeΦnou Üifru -- Vernamovu Üifru. Tento algoritmus Üifruje tφm zp∙sobem, ₧e otev°en² text kombinuje, nap°φklad pomocφ operace XOR, s nßhodnou neopakujφcφ se sekvencφ stejnΘ dΘlky, jako p∙vodnφ zprßva. DeÜifrovßnφ se provßdφ op∞tovn²m zkombinovßnφm zaÜifrovanΘho textu se stejnou nßhodnou posloupnostφ.

Pokud vÜak je nßhodnß posloupnost pou₧ita dvakrßt, ztrßcφ Üifra svoji absolutnφ bezpeΦnost. Aby se tomuto p°edeÜlo, m∞li ÜifrΘ°i k dispozici bloΦek s lφstky popsan²mi nßhodnou posloupnostφ znak∙. Po zaÜifrovanφ zprßvy byl lφstek zniΦen aby nemohl b²t omylem pou₧it znovu. Odtud oznaΦenφ tΘto Üifrovacφ metody one-time pad. Dodejme jeÜt∞, ₧e pou₧itφ text∙ z knih na mφst∞ nßhodnΘ posloupnosti rovn∞₧ vede ke ztrßt∞ absolutnφ bezpeΦnosti, nebo¥ sekvence znak∙ p°irozenΘho jazyka nemß nßhodnΘ rozlo₧enφ.

LidΘ v minulosti pou₧φvali nep°ebernΘ mno₧stvφ r∙zn²ch Üifrovacφch algoritm∙. Pouze jejich v²Φet by patrn∞ p°esßhl rozm∞ry tohoto Φlßnku. Uveden² v²b∞r pouze shrnuje nejΦast∞ji pou₧φvanΘ principy, a to ani zdaleka ne vÜechny. SpoleΦn²m rysem vÜech je malß velikost prostoru klφΦ∙ Φi p°φliÜ jasnß korelace mezi otev°en²m a v²sledn²m

zaÜifrovan²m textem.

Z historie do ₧havΘ souΦasnosti

Nßstup poΦφtaΦ∙ a elektronickΘ zpracovßnφ informacφ s sebou p°inesly obrovsk² rozvoj Üifrovacφch algoritm∙ a mnoha dalÜφch nov²ch odv∞tvφ kryptografie. Tφm, ₧e proces Üifrovßnφ p°evzaly stroje, odpadl po₧adavek na jednoduchost a pochopitelnost algoritmu, aby jej mohl realizovat Φlov∞k. Kryptografie dnes nejsou jen vlastnφ Üifrovacφ algoritmy, ale tΘ₧ problematika sprßvy Üifrovacφch klφΦ∙, kryptografickΘ protokoly, kryptografickΘ haÜovacφ funkce atd. Velmi d∙le₧itß je otßzka generovßnφ pseudonßhodn²ch Φφsel Φi posloupnostφ. Zm∞nily se i samotnΘ Üifrovacφ algoritmy. Dnes jich pou₧φvßme mnoho druh∙, p°iΦem₧ ka₧d² z nich mß specifick² okruh nasazenφ.

Pokud algoritmus zpracovßvß sv∙j vstup bit po bitu, hovo°φme o proudovΘ Üif°e. ProudovΘ Üifry jsou vhodnΘ k Üifrovßnφ sΘriov²ch linek Φi p°enosov²ch kanßl∙, kde data jsou p°enßÜena postupn∞ po mal²ch Φßstech. V∞tÜina algoritm∙ vÜak zpracovßvß sv∙j vstup po blocφch jistΘ dΘlky. Ty naz²vßme blokovΘ Üifry. V²sledkem jejich prßce jsou bloky zaÜifrovanΘho textu. èifrovßnφ jednotliv²ch blok∙ je p°itom naprosto nezßvislΘ. To vÜak nenφ v₧dy ₧ßdoucφ a proto byly vypracovßny metody, jak vnΘst urΦitou mφru zßvislosti do Üifrovßnφ jednotliv²ch blok∙.

V ·vodu jsme se zmφnili, ₧e k Üifrovßnφ a deÜifrovßnφ pot°ebujeme mimo jinΘ tΘ₧ jakousi dodateΦnou informaci zvanou klφΦ. V zßvislosti na tom, zda k ob∞ma t∞mto operacφm pou₧φvßme stejnΘho klφΦe Φi nikoliv, hovo°φme o symetrick²ch, resp. asymetrick²ch Üifrßch. Pokud pou₧φvßme rozdφlnΘho klφΦe, oznaΦujeme tyto klφΦe jako Üifrovacφ, resp. deÜifrovacφ klφΦ. KlφΦ pou₧φvan² zßrove≥ pro ob∞ operace b²vß naz²vßn konvenΦnφm klφΦem. Na poΦßtku 70. let vznikly systΘmy s ve°ejn²m klφΦem. Jde o asymetrickΘ Üifrovacφ algoritmy, kterΘ majφ tu vlastnost, ₧e jeden z klφΦ∙ -- ve°ejn² klφΦ -- m∙₧e b²t zve°ejn∞n. Z jeho znalosti nenφ mo₧nΘ odvodit druh² -- tajn² -- klφΦ.

Pom∞rn∞ rozÜφ°enß je nesprßvnß domn∞nka, ₧e systΘmy s ve°ejn²m klφΦem odstra≥ujφ problΘmy s distribucφ klφΦ∙ a s navazovßnφm ÜifrovanΘ komunikace. To, bohu₧el, nenφ pravda. Pouze namφsto starostφ o utajenφ klφΦe musφme °eÜit nemΘn∞ zßva₧nΘ otßzky integrity a autenticity ve°ejnΘho klφΦe, jinak bychom se vystavovali hrozb∞ "man-in-the-middle" ·toku (kdy ob∞ strany nev∞domky komunikujφ skrze zßke°nΘho prost°ednφka). Pravdou je, ₧e komunikaΦnφ systΘm pou₧φvajφcφ algoritmy s ve°ejn²m klφΦem pracuje s menÜφm mno₧stvφm klφΦ∙ (jeden pßr na u₧ivatele), ne₧ symetrickΘ systΘmy, kterΘ pot°ebujφ jeden klφΦ na ka₧dou dvojici komunikujφcφch. SkuteΦnou v²hodou systΘm∙ s ve°ejn²m klφΦem je mo₧nost vytvß°et ve°ejn∞ ov∞°itelnΘ elektronickΘ podpisy. To lze za pou₧itφ symetrick²ch algoritm∙ zvlßdnout pouze s pomocφ t°etφ nezßvislΘ strany -- arbitra.

P°esto₧e s pou₧itφm algoritm∙ s ve°ejn²m klφΦem lze zvlßdnout vÜe, co dokß₧φ symetrickΘ algoritmy, neznamenß to, ₧e by symetrickΘ Üifry nem∞ly svΘ mφsto na slunci. Jejich v²hodou je znaΦnß rychlost, m∞°eno poΦtem proveden²ch instrukcφ na jeden zaÜifrovan² bajt. Naopak algoritmy s ve°ejn²m klφΦem lze disjunktn∞ rozd∞lit na ty, kterΘ jsou bezpeΦnΘ, a na ty, kterΘ jsou rychlΘ. ╚ast²m °eÜenφm proto b²vß hybridnφ systΘm, kde algoritmy s ve°ejn²m klφΦem jsou pou₧ity pro ustanovenφ konvenΦnφho klφΦe a pro elektronickΘ podpisy, a symetrickΘ algoritmy se pou₧φvajφ pro Üifrovßnφ p°enßÜen²ch u₧ivatelsk²ch dat.

èifrovacφ algoritmy ji₧ neplnφ pouze svoji prvotnφ funkci utajovßnφ informacφ, ale jsou tΘ₧ pou₧φvßny pro zajiÜt∞nφ integrity a tΘ₧ i dostupnosti dat. Elektronicky podepsan² nebo i jen zaÜifrovan² dokument lze nepozorovan∞ poÜkodit daleko slo₧it∞ji, ne₧ by to bylo mo₧nΘ v p°φpad∞ otev°enΘho textu. Utajenφ dat nep°φmo napomßhß jejich dostupnosti, nebo¥ vyluΦuje mo₧nost selektivnφch ·tok∙.

Oblφben²m tΘmatem dneÜnφch dn∙ je problematika sprßvy klφΦ∙ pro Üifrovacφ algoritmy. Nejde ji₧ jen o otßzky distribuce klφΦ∙ a jejich ulo₧enφ. ╪eÜφ se protokoly, kterΘ v rßmci jistΘ podskupiny u₧ivatel∙ vytvo°φ prost°ednictvφm nechrßn∞n²ch linek sdφlen² -- tzv. konferenΦnφ klφΦ, umo₧≥ujφcφ ·Φastnφk∙m konference bezpeΦnou komunikaci, kterΘ nem∙₧e rozum∞t nikdo jin².

Zajφmav²m druhem Üifrovacφch algoritm∙ jsou prahovß schΘmata. Namφsto toho, abychom zprßvu hezky spo°ßdan∞ zaÜifrovali vcelku a tak ji udr₧eli v tajnosti, m∙₧eme ji rozlo₧it na n∞kolik Φßstφ, z nich₧ ₧ßdnß sama o sob∞ nedßvß smysl. P∙vodnφ zprßvu m∙₧eme zφskat op∞tovn²m slo₧enφm t∞chto Φßstφ. Kouzlo spoΦφvß ve faktu, ₧e ke slo₧enφ p∙vodnφ

zprßvy nemusφme pou₧φt vÜech, ale pouze n∞kolika Φßstφ.

Co₧e, kaÜe?

VÜimn∞me si, ₧e a₧ doposud jsme se dr₧eli reverzibilnφch operacφ. Co jsme si zaÜifrovali, to jsme v₧dy dokßzali i rozÜifrovat. N∞kdy nßm vÜak nejde o informaci samotnou, ale spφÜe o fakt jejφ existence. Jindy je naopak vhodnΘ rozsßhlou zprßvu "srazit" na co nejmenÜφ kousek dat, kter² vÜak dob°e zßvisφ na ka₧dΘ Φßsti zprßvy. A n∞kdy dokonce nechceme, aby bylo mo₧nΘ provΘst deÜifrovßnφ. To vÜechno jsou p°φpady, kdy je vhodnΘ pou₧φt kryptografickΘ haÜovacφ funkce. V²sledkem jejich prßce je °et∞zec pevnΘ dΘlky, kter² dob°e zßvisφ na p∙vodnφ zprßv∞.

HaÜovacφch funkcφ pou₧φvßme v systΘmech se symetrick²mi Üifrovacφmi algoritmy k zajiÜt∞nφ autenticity a integrity zprßv. V systΘmech s algoritmy s ve°ejn²m klφΦem slou₧φ ke zrychlenφ tvorby elektronick²ch podpis∙. Jsou velmi vhodn²m prost°edkem pro ochranu hesel a p°φstupov²ch frßzφ. Rozd∞lenφ haÜovacφch funkcφ a struΦn² popis zp∙sobu jejich

pou₧itφ byl podßn v Φlßnku o integrit∞.

Nßhoda je d°ina

Jakkoli se sv∞t topφ v chaosu, kryptografovΘ se pot²kajφ s hrub²m nedostatkem nedeterminismu. èifrovacφ klφΦe, inicializaΦnφ vektory haÜovacφch funkcφ, vycpßvacφ zßt∞₧, to vÜe musφ b²t nßhodnΘ hodnoty. Nezb²vß nßm, ne₧ algoritmicky generovat nßhodu.

Nev²hodou vÜech algoritmick²ch generßtor∙ je, ₧e se po n∞jakΘm Φase zacyklφ. Tuto dobu naz²vßme periodou generßtoru. Snahou samoz°ejm∞ je, aby perioda byla co nejdelÜφ. Navφc po₧adujeme, aby generßtor nebyl predikovateln², tzn., aby na zßklad∞ znalosti p°edchozφch v²stup∙ nebylo mo₧no odhadovat jeho p°φÜtφ hodnoty.

Nejb∞₧n∞jÜφ, avÜak zcela nevhodn², je kongruenΦnφ generßtor pracujφcφ dle vztahu

Xi = (aXi-1+b) mod m

OblφbenΘ jsou generßtory zalo₧enΘ na posuvn²ch registrech se zp∞tnou vazbou. Ty fungujφ tak, ₧e prvnφ bit je XORovßn s bity na pozicφch dan²ch vybφracφ sekvencφ (tap sequence). Nßsledn∞ se obsah registru posune o jednu, prvnφ bit je v²stupem generßtoru a na uvoln∞nΘ mφsto je zapsßn v²sledek XORu. PosuvnΘ registry lze pro dosa₧enφ jeÜt∞ lepÜφch vlastnostφ kombinovat (viz obr. 3). Velmi kvalitnφ generßtor je tzv. RSA generßtor pracujφcφ podle p°edpisu

Xi = Xei-1 mod n

V²stupem je nejni₧Üφ bit °et∞zce Xi.

Dobr² generßtor nßhodn²ch Φφsel je velmi d∙le₧itß v∞c, nebo¥ s nekvalitnφm klφΦov²m materißlem je i ten nejlepÜφ

Üifrovacφ algoritmus naprosto bezbrann².

Jak b²t v klidu

Co dnes pova₧ujeme za bezpeΦn² Üifrovacφ algoritmus?

Za samoz°ejmost pova₧ujeme, ₧e algoritmus je dob°e navr₧en. To znamenß, ₧e neexistuje netrivißlnφ metoda jeho zlomenφ, kterß by byla v²razn∞ rychlejÜφ ne₧ prostΘ vyzkouÜenφ vÜech mo₧n²ch klφΦ∙. Jinak °eΦeno, zlomenφ algoritmu je ekvivalentnφ vy°eÜenφ n∞jakΘho dostateΦn∞ slo₧itΘho problΘmu. V takovΘm p°φpad∞ se bezpeΦnost algoritmu opφrß o velikost prostoru klφΦ∙, nebo chcete-li -- o dΘlku klφΦe. DΘlka klφΦe p°ibli₧n∞ odpovφdß logaritmu velikosti prostoru klφΦ∙.

╚init odhady bezpeΦnosti je velmi oÜemetnΘ. Pro symetrickΘ algoritmy typu DES je za hranici bezpeΦnosti pova₧ovßna dΘlka klφΦe 56 bit∙. Obecn∞ se mß za to, ₧e superpoΦφtaΦe, kter²mi disponujφ n∞kterΘ rozv∞dky Φi vlßdnφ instituce, jsou schopny si s 256 klφΦi poradit b∞hem n∞kolika mßlo hodin. Pro asymetrickΘ algoritmy zalo₧enΘ na problΘmu faktorizace velk²ch Φφsel (RSA), le₧φ na hranici bezpeΦnosti klφΦe s dΘlkou 512 bit∙. Je to proto, ₧e zde ke konstrukci klφΦ∙ pou₧φvßme pouze prvoΦφsel, kterß jsou °idÜφ.

Chceme-li vÜak zajistit bezpeΦnost naÜich dat i s v²hledem do budoucnosti, musφme volit v p°φpad∞ symetrick²ch algoritm∙ dΘlku klφΦe alespo≥ 80, rad∞ji vÜak 128 bit∙. Pro asymetrick² algoritmus RSA je t°eba pou₧φt klφΦ o dΘlce 1 024 nebo dokonce 2 048 bit∙, u algoritm∙ pracujφcφch s v²poΦty nad eliptick²mi k°ivkami vystaΦφme s cca 170 bity.

NoΦnφ m∙rou vÜech kryptograf∙ je poskytovßnφ zßruk na bezpeΦnost dat do budoucnosti. V²kon poΦφtaΦ∙ stßle roste -- odhaduje se, ₧e ka₧dΘ dva roky se ztrojnßsobφ. Daleko v∞tÜφ nebezpeΦφ vÜak p°edstavujφ technologickΘ kroky. MnohΘ ·toky proti Üifrovacφm algoritm∙m lze velmi dob°e paralelizovat. Internet, kter² spojil miliony poΦφtaΦ∙ po celΘm sv∞t∞, dal vzniknout virtußlnφmu stroji slo₧enΘmu z b∞₧n²ch poΦφtaΦ∙, kter² p°ed n∞kolika t²dny poko°il DES. Pokud by se n∞komu poda°ilo postavit skuteΦn∞ paralelnφ poΦφtaΦ t°φdy C2, dokßzal by jeho pomocφ rozesmutnit mnoho kryptograf∙ na celΘm sv∞t∞. Fungujφcφ kvantov² Turing∙v stroj by znamenal konec RSA. Faktem z∙stßvß, ₧e uskuteΦn∞nφ t∞chto krok∙ nelze p°edpovφdat. Je pouze tΘm∞° jistΘ, ₧e n∞jakΘ nastanou. N∞kdy.

Nenechte si lhßt

Vhodn∞ pou₧itΘ kvalitnφ Üifrovacφ algoritmy jsou schopny s velmi vysokou mφrou jistoty zajistit utajenφ vaÜich dat p°ed k²mkoliv. Tento fakt je trnem v oku n∞kter²m, pov∞tÜinou vlßdnφm, organizacφm po celΘm sv∞t∞. Ty se sna₧φ prosadit zßkaz pou₧φvßnφ siln²ch Üifrovacφch algoritm∙ p°inejmenÜφm v soukromΘ a komerΦnφ sfΘ°e. Nechßme Φtenß°ov∞ ·sudku, nakolik se za vzneÜen²mi pojmy, jako nßrodnφ bezpeΦnost, stφhßnφ zloΦinc∙ apod., kter²mi obvykle argumentujφ, skr²vß obyΦejnß touha moci Üpehovat.

Mß Φlov∞k prßvo na svΘ soukromφ? Opravdu musφ pou₧φvat neznßm² Üifrovacφ algoritmus, o kterΘm vφ pouze to, ₧e po zadßnφ sprßvnΘho hesla lze zφskat pou₧it² Üifrovacφ klφΦ? PodobnΘ otßzky je t°eba si klßst, nebo¥ k nim v brzkΘ dob∞ dojdou i naÜi zßkonodßrci. Prßvo na soukromφ je zakotveno v Listin∞ zßkladnφch prßv a svobod. Jednφm z vedlejÜφch efekt∙ souΦasnΘho rozvoje techniky je vÜak jeho v²raznΘ omezovßnφ. Kryptografie by mohla tento trend pon∞kud vylepÜit. Nedejme se proto ochudit o prost°edky, kterΘ nßm nabφzφ.

Kutil∙m vstup zakßzßn

Konstrukce Üifrovacφch (a haÜovacφch) algoritm∙ je velmi obtφ₧nß prßce. Rozhodn∞ by se do nφ nem∞l pouÜt∞t n∞kdo bez hlubok²ch znalostφ problematiky, nebo¥ pravd∞podobnost ne·sp∞chu je tak°ka rovna jednΘ. Bohu₧el, kryptografie je obor, kde se chyby neodpouÜt∞jφ. Pokud svß data chcete udr₧et v tajnosti po dobu padesßti let a nep°φtel zachytil vaÜi zaÜifrovanou komunikaci, nezb²vß vßm ne₧ v∞°it, ₧e pou₧itß Üifra bude schopna celou tu dobu odolßvat jeho ·silφ. Nem∙₧ete data o poloΦase p°eÜifrovat bezpeΦn∞jÜφm algoritmem.

Vzhledem k praktickΘ nemo₧nosti podat d∙kaz o bezpeΦnosti je dobrß Üifra v∞cφ, kterß, podobn∞ jako dobrΘ vφno, vznikß v pr∙b∞hu dlouh²ch let. A₧ Φas dß autorovi za pravdu

a u₧ivatel∙m dodß d∙v∞ru v dan² algoritmus.


Serißl je rovn∞₧ dostupn² na www.idg.cz/computerworld/bvsk/


| COMPUTERWORLD - serißl o bezpeΦnosti | COMPUTERWORLD | IDG CZ homepage |