home *** CD-ROM | disk | FTP | other *** search
/ Chip 2003 April / Chip_2003-04_cd1.bin / tema / krypta / articles.php@ID=137 < prev    next >
Text File  |  2003-02-02  |  21KB  |  331 lines

  1. <!doctype html public "-//W3C//DTD HTML 4.0 Transitional//EN">
  2. <html>
  3. <head>
  4.  <title>Krypta.cz - T°i, dva, jedna, ·tok !</title>
  5.  <link rel="StyleSheet" href="server/main.css" type="text/css">
  6.  <link rel="SHORTCUT ICON" href="server/favicon.ico">
  7.  <meta http-equiv="Content-Type" content="text/html; charset=windows-1250">
  8.  <meta http-equiv="Cache-control" content="no-cache">
  9.  <meta http-equiv="Pragma" content="no-cache">
  10.  <meta http-equiv="Expires" content="0">
  11.  <meta name="robots" content="ALL,FOLLOW">
  12.  <meta http-equiv="Content-language" content="cs">
  13.  <meta name="description" content="Internetov² bezpeΦnostnφ portßl, zab²vajφcφ se kryptografiφ (Üifrovßnφm), ochranou dat, internetovou bezepeΦnostφ a poΦφtaΦov²mi viry">
  14.  <meta name="keywords" content="Üifrovßnφ cryptography pgp des aes rsa dss digital signatures pki linux free bezpeΦnost ochrana hacking cracking virus worm">
  15.  <meta name="copyright" content="Copyright (C) 2000-2002 Krypta.cz - <a href=mailto:michal.till@krypta.cz>Michal Till</a> a <a href=mailto:jan.kulveit@krypta.cz>Jan Kulveit</a>.">
  16.  <!-- No caching for this document.Trying to write to art137.html. ?> -->
  17.  
  18.  <!-- output.php -->
  19.  
  20.   <script language="JavaScript">
  21.   <!-- 
  22. //    if(top != self) { window.top.location.href=document.location; }  -->
  23.   </script>
  24.  
  25.  
  26. <!-- NAVRCHOLU.cz -->
  27. <script language="JavaScript" type="text/javascript">
  28. <!--
  29. pxDepth = screen.pixelDepth;
  30. if (!(pxDepth > 0))
  31.     pxDepth = screen.colorDepth;
  32. if (!(pxDepth > 0))
  33.     pxDepth = 0; 
  34. document.write("<img style=\"position:absolute; top:0px; left: 0px;\" src=\"../hit.navrcholu.cz/hit@id=00039669;n=1;screenx=" + screen.width + ";screeny=" + screen.height + ";cdepth=" + pxDepth + ";ref=" + escape(top.document.referrer) + "\" width=\"1\" height=\"1\" alt=\"\">");
  35. // -->
  36. </script>
  37. <noscript>
  38. <img style="position:absolute; top:0px; left: 0px;" src="../hit.navrcholu.cz/hit@id=00039669;n=1" width="1" height="1" alt="" border="0">
  39. </noscript>
  40. <!-- NAVRCHOLU.cz - konec -->
  41.  
  42. <STYLE Type=text/css>
  43.     BODY                { font-size:110%; background-color: #ffffff; color: #000000; margin: 0px;   background-image: url(images/backgr.gif); }
  44.  
  45.  
  46.  
  47.     .Copyright        { color: #000000; }
  48.     .Copyright A    { color: #000000; }
  49. </STYLE>
  50. </head>
  51. <SCRIPT>
  52. </SCRIPT><SCRIPT Src=charts.php@version=1621></SCRIPT><SCRIPT>
  53.  // Nalezeno  1 polozek. 
  54. var SectionTitles=new Array( "T°i, dva, jedna, ·tok !" , "    Brute force, neboli ·tok hrubou silou" , "    Jednorßzov² blok " );
  55. var SectionURLs=new Array( "137" , "137#Title1" , "137#Title2" );
  56.  
  57. var BrothersNames = new Array("Zßklady kryptografie","Zßklady kryptografie: AsymetrickΘ algoritmy","KombinovanΘ systΘmy","Zßklady kryptografie : vybφrßme heslo","T°i, dva, jedna, ·tok !","");
  58. var BrothersIDs = new Array("1","10","11","25","137","");
  59. //=====INFO======
  60. ItemName='Article137';
  61.  
  62. InIFrame='No';
  63. TableNum=2; 
  64. ItemID=137; 
  65. ArticleType='1'; 
  66. Action='articles'
  67. ItemTitle='T°i, dva, jedna, ·tok !';
  68. ItemComment='T°i, dva, jedna, ·tok !';
  69. TabName='Articles'
  70. Parent1Title='Zßklady kryptografie' ;
  71. Parent2Title='Kryptografie' ;
  72. Parent1ID='5' ;
  73. Parent2ID='4' ;
  74. ParentTitle='Zßklady kryptografie' ;
  75. AuthorName='Michal Till' ;
  76. AuthorDesc='' ;
  77. AuthorEMail='Michal.Till_40Seznam.cz' ;
  78. AuthorID='1' ;
  79. ItemDate='7.2.2002';
  80. Views='393' ;
  81. Average='1.50' ;
  82. Grade='1.5' ;
  83. NumVotes='4' ;
  84. SourceName='' ;
  85. SourceURL='' ;
  86. SourceLink='' ;
  87. Ref1URL='' ;
  88. Ref2URL='' ;
  89. Ref3URL='' ;
  90. Ref4URL='' ;
  91. Ref5URL='' ;
  92. Ref1Link='' ;
  93. Ref2Link='' ;
  94. Ref3Link='' ;
  95. Ref4Link='' ;
  96. Ref5Link='' ;
  97. Ref1Desc='' ;
  98. Ref2Desc='' ;
  99. Ref3Desc='' ;
  100. Ref4Desc='' ;
  101. Ref5Desc='' ;
  102. Possible=1 ;
  103. Answer1='' ;
  104. Answer2='' ;
  105. Answer3='' ;
  106. Answer4='' ;
  107. Answer5='' ;
  108. Num1='';
  109. Num2='';
  110. Num3='';
  111. Num4='';
  112. Num5='';
  113. Type= ''; //def
  114. WebName='Krypta.cz';
  115. //====ENDINFO======
  116.  
  117. </SCRIPT>
  118.  
  119. <BODY>
  120. </SCRIPT>
  121. <SCRIPT Language=JavaScript Src="server/startfeatures.php@Rand=ddd "> </SCRIPT><SCRIPT Language=JavaScript Src="server/features.php"> </SCRIPT><!-- Rozdeleni na sloupce -->
  122.  
  123. <TABLE cellspacing="0" cellpadding="0" border="0" width="100%">
  124. <tr>
  125.  
  126. <!-- Levy sloupec -->
  127.  
  128.  
  129.  
  130. <td  width="161" align="center" valign="top">
  131.  
  132. <img src=space.gif height=1 width=161>
  133. <SCRIPT SRC=server/left_js.php@version=1621></SCRIPT></td>
  134.  
  135. <!-- /Levy sloupec -->
  136.  
  137. <!-- Mezera 1-->
  138. <td width=13 bgcolor="#006792" ><img src="images/spacer.gif" width="13" height="1" border="0" alt=""></td>
  139. <!-- /Mezera 1-->
  140.  
  141. <!-- Mezera 2 -->
  142. <td width=1 bgcolor=#1063A5><img src="images/spacer.gif" width="1" height="1" border="0" alt=""></td>
  143. <!-- /Mezera 2-->
  144.  
  145. <!-- Mezera 3 -->
  146. <td width=10><img src="images/spacer.gif" width="10" height="1" border="0" alt=""></td>
  147. <!-- /Mezera 3-->
  148.  
  149.  
  150. <!-- Prostredni sloupec -->
  151. <td align="center" valign="top">
  152.  
  153. <!-- Hlavicka -->
  154. <!-- Horni lista s reklamou -->
  155.  
  156. <TABLE cellspacing="0" cellpadding="0" border="0" width="100%" class="hrlista">
  157. <tr>
  158.  
  159. <!-- Logo-->
  160. <td VAlign=Top>
  161. <a href="default.htm"><img src="images/logo.gif"  style="z-index:100;" vspace=0 cwidth="222" cheight="48" border="0" alt="Krypta.cz - Magazφn o informaΦnφ bezpeΦnosti"></a>
  162. </td>
  163. <!-- /Logo -->
  164.  
  165. <td align=center>
  166. </td></tr></table>
  167. <!-- /Horni lista s reklamou-->
  168. <!-- /Hlavicka -->
  169.  
  170. <TABLE Width=100% Border=0><TD><SCRIPT>
  171. </SCRIPT><SCRIPT>
  172. ArticleHead('T°i, dva, jedna, ·tok !', 'Michal Till', 'Michal.Till_40Seznam.cz', '7.2.2002', '23:44:24', '╚lßnek');
  173. Intro('┌toky na algoritmy jsou nejΦast∞ji pracφ kryptoanalytik∙. Jednß se o hledßnφ chyb nejΦast∞ji v nßvrzφch algoritm∙. Samoz°ejm∞ m∙₧ou takΘ najφt chybu v n∞jakΘ konkrΘtnφ implementaci, tj. nejΦast∞ji v Üifrovacφm programu, ale to je o n∞Φem ·pln∞ jinΘm. ');
  174. ArticleBanner_smallres('margin-bottom:10px;margin-top:-3px;');
  175. </SCRIPT>
  176. <DIV Class=Article><SCRIPT>
  177. AuthorData();
  178. if (Type != 'Pure') if ((ArticleType!=19) && (ArticleType!=20)) ShowSections();
  179. ArticleBanner_bigres('margin-top:12px;margin-bottom:-3px;');
  180. </SCRIPT><FONT Size=2><DIV Align=Justify Class=Paragraph>
  181.     Podle zp∙sobu provedenφ m∙₧eme rozd∞lit ·toky na algoritmus do n∞kolika druh∙ : 
  182. </DIV></FONT></b></i>
  183. <FONT Size=2><DIV Align=Justify Class=Paragraph>
  184.     ┌tok bez znßmΘho originßlu, (anglicky Ciphertext-only attack), v praxi nejpot°ebn∞jÜφ druh ·toku, spoΦφvß v nalezenφ nezaÜifrovanΘ zprßvy korespondujφcφ se znßmou zprßvou zaÜifrovanou. Kryptoanalytik znß tedy zm∞¥ znak∙ a algoritmus, p°iΦem₧ se po n∞m chce, aby naÜel nezaÜifrovan² originßl, tj. plaintext. Vedle toho ·tok se znßm²m originßlem, (Known plaintext attack), spoΦφvß v nalezenφ klφΦe jako "spojku" mezi znßm²m nezaÜifrovan²m originßlem a znßm²m zaÜifrovan²m prot∞jÜkem. Pou₧φvß se v p°φpad∞, ₧e p°edpoklßdßme existenci vφce zprßv nebo Φßstφ textu zaÜifrovan²ch stejn²m heslem; poΦφtß se, ₧e zφskan²m heslem se potΘ deÜifruje zbylß komunikace. V rßmci ·toku se znßm²m originßlem se takΘ velmi Φasto odliÜuje ┌tok s vybran²m originßlem (Chosen plaintext attack), co₧ je n∞co podobnΘho, ovÜem s tφm rozdφlem, ₧e strana sna₧φcφ se zprßvu deÜifrovat nezφskß originßl k jednomu urΦitΘmu zaÜifrovanΘmu textu, ale n∞jak²m zp∙sobem "donutφ" druhou stranu zaÜifrovat jakΘkoliv mno₧stvφ dat. Znamenß to tedy, ₧e si m∙₧e originßl a korespondujφcφ zaÜifrovan² text vybrat a nemusφ ·tok provßd∞t podle toho, co mß k dispozici. Dob°e se to p°edstavuje jako Φernß sk°φnka, do kterΘ se strkajφ z jednΘ strany texty a z druhΘ vypadßvajφ zaÜifrovanΘ depeÜe. Kryptoanalytik znß algoritmus, ale ne heslo.
  185. </DIV></FONT></b></i>
  186. <FONT Size=2><DIV Align=Justify Class=Paragraph>
  187.     Specißln∞ v souvislosti s Chosen plaintext attackem se Φasto objevuje pojem Timing attack, nejlepÜφ Φesk² ekvivalent by asi byl "·tok na zßklad∞ prodlevy". P°esto₧e jde spφÜe o ·tok na konkrΘtnφ implementaci, nem∞l by b²t opomφjen. Princip sßm o sob∞ je relativn∞ jednoduch² : v p°φpad∞, ₧e se na Üifrovacφm klφΦi zßvisφ poΦet n∞jak²ch operacφ, m∙₧eme po "prohnßnφ" dostateΦnΘho mno₧stvφ dat v²Üe zmi≥ovanou Φernou sk°φ≥kou usoudit n∞co o hesle. P°idßnφ nßhodnΘ prodlevy na zaΦßtek nebo konec algoritmu nepom∙₧e, nebo¥ p°i velkΘm objemu si spoΦφtßm st°ednφ hodnotu a jsem na tom ·pln∞ stejn∞. Zßm∞rn∞ pφÜi n∞co, proto₧e detaily jsou daleko slo₧it∞jÜφ a p°evyÜujφ rßmec tohoto Φlßnku. Navφc bychom se museli bavit o konkrΘtnφch algoritmech. 
  188. </DIV></FONT></b></i>
  189. <FONT Size=2><DIV Align=Justify Class=Paragraph>
  190.     Kvalitnφ algoritmus musφ b²t odoln² proti vÜem t°em druh∙m ·toku.
  191. </DIV></FONT></b></i>
  192. <FONT Size=2><DIV Align=Justify Class=Paragraph>
  193.     Prvn∞ jmenovan² ·tok se m∙₧e zdßt nejΦast∞jÜφ, ale pokud alespo≥ p°ibli₧n∞ znßme charakter zprßvy, m∙₧eme daleko efektivn∞ji vyu₧φt ·tok druh². Skoro ka₧d² soubor mß toti₧ svojφ hlaviΦku, kterß se pohybuje od dvou do p∞ti byt∙, a to u₧ by nßm mohlo pomoci. Takov² dokument psan² ve Wordu mß hlaviΦku jist∞ daleko v∞tÜφ, navφc nemusφ jφt jen o ni. Momentßln∞ m∞ napadjφ grafickΘ formßty, nap°φklad ka₧d² obrßzek ve formßtu BMP mß v sob∞ bez hlaviΦky v definici barevnΘ palety 256 rezervovan²ch byt∙, nejΦast∞ji nastaven²ch na nulu. Tak₧e celkov² postup bude takov², ₧e nejprve odhadneme, kterou sekvenci znßme, provedeme na nφ known plaintext attack a se zjiÜt∞n²m heslem deÜifrujeme zbytek dokumentu. Stejn∞ dob°e jako hlaviΦku m∙₧eme pou₧φt cokoliv, o Φem p°edpoklßdßme, ₧e se v dokumentu vyskytuje. Znalost podpisu na konci, zvlßÜt∞ pokud jde o popis-nepodpis generovan² poÜtovnφm programem, je takΘ u₧iteΦnß v∞c. Pokud odpovφdßte na e-mail, vßÜ poÜtovnφ program nejspφÜ na zaΦßtek p°ihodφ n∞co jako ---Original message follows---. Pokud pou₧φvßte extra slabou Üifru (prost² XOR apodà), toto ·toΦnφkovi staΦφ na deÜifrovßnφ celΘho dopisu. Siln² algoritmus, tedy ten, kter² jedin∞ se vyplatφ pou₧φvat, by m∞l b²t odoln² proti vÜem t°em druh∙m ·toku. 
  194. </DIV></FONT></b></i>
  195. <FONT Size=2><DIV Align=Justify Class=Paragraph>
  196.     ╚etli jste Vernovku Osm tisφc mil po Amazonce? Romßn zaΦφnß dvaceti °ßdky Üifry, nßsleduje d∞j a ·pln∞ na konci dojde k rozluÜt∞nφ zprßvy tak, ₧e se vypßtrß pisatelovo jmΘno a na poslednφ znaky zprßvy (podpis) se v principu pou₧ije known plaintext attackà
  197. </DIV></FONT></b></i>
  198. <A Name="Title1"><FONT Size=3><DIV Class=Headline>Brute force, neboli ·tok hrubou silou</DIV></font>
  199. <FONT Size=2><DIV Align=Justify Class=Paragraph>
  200.     ┌tok hrubou silu p°edstavuje prostΘ vyzkouÜenφ vÜech mo₧nostφ. Jednß se obvykle o ·tok se znßm²m originßlem, tedy alespo≥ k Φßsti zaÜifrovanΘho textu je pot°eba znßt kus originßlu (podle toho deÜifrovacφ program toti₧ poznß, ₧e se prßv∞ strefil do sprßvnΘho klφΦe...). Odolnost proti tomuto zp∙sobu ·toku je p°φmo spjatß s dΘlkou klφΦe.
  201. </DIV></FONT></b></i>
  202. <FONT Size=2><DIV Align=Justify Class=Paragraph>
  203.     Nejsm∞rodatn∞jÜφ bude, pokud se dovφme kolik kombinacφ m∙₧e n∞kdo zkusit p°i urΦitΘm pen∞₧nφm vkladu za urΦit² Φas. P°i t∞chto ·vahßch musφme mφt na z°eteli p°edevÜφm nßsledujφcφ fakta:   
  204. </DIV></FONT></b></i>
  205. <FONT Size=2><DIV Align=Justify Class=Paragraph>
  206.     1. èifrujeme pro to, aby si nikdo neΦetl naÜe zprßvy nejen dnes nebo zφtra, ale taky za jeden, dva p∞t, deset nebo padesßt let, co₧ znamenß vzφt v ·vahu nßr∙st v²konu poΦφtaΦ∙. Ten mß exponencißlnφ charakter a meziroΦnφ nßr∙st se podle r∙zn²ch zdroj∙ pohybuje od 160 do 180 procent za rok. Pro jednoduchost budeme poΦφtat, ₧e za ka₧d²ch p∞t let vzroste v²kon poΦφtaΦ∙ desetkrßt, co₧ tak p°ibli₧n∞ odpovφdß v²Üe uvßd∞n²m hodnotßm.  
  207. </DIV></FONT></b></i>
  208. <FONT Size=2><DIV Align=Justify Class=Paragraph>
  209.     2. ╚eho bude p°i ·toku pou₧ito. Nabφzejφ se dv∞ mo₧nosti : hardware a software. Ka₧dß z nich mß svoje v²hody a nev²hody.   Pokud pou₧ijeme hardware, k samotnΘmu zkouÜenφ budou pou₧ity optimalizovanΘ Φipy. Pokud je n∞jakß v∞c na n∞co optimalizovanß, znamenß to, ₧e je svΘmu ·Φelu Üitß jaksi na mφru a ₧e se jejφm pou₧itφm zφskß obecn∞ nejlepÜφch mo₧n²ch v²sledk∙. Tuto mo₧nost si ovÜem nem∙₧e dovolit jen tak ka₧d² a ne v₧dy se to vyplatφ. Nejznßm∞jÜφ hardware na ·tok hrubou silou je kdysi tolik dΘmonizovan² DES Cracker. Obecn∞ crackovacφ Φipy jsou malß elektronickß za°φzenφ vyrobenß nejen pouze na deÜifrovßnφ Üifer, ale taky p°φmo na mφru algoritmu, kter² se budeme pokouÜet prolomit. VyzkouÜenφ urΦitΘho poΦtu mo₧nostφ trvß hardwarov²mi prost°edky a₧ desettisφckrßt kratÜφ dobu.   
  210. </DIV></FONT></b></i>
  211. <FONT Size=2><DIV Align=Justify Class=Paragraph>
  212.     SoftwarovΘ "bruteforcovßnφ" probφhß obvykle na normßlnφch domßcφch poΦφtaΦφch, proto se v tabulkßch nejΦast∞ji uvßdφ zßvislost deÜifrovacφho Φasu na dΘlce klφΦe p°i poΦφtßnφ na n∞jakΘm aktußlnφm stroji, dnes °ekn∞me Pentium III 800 MHz. V²hody jsou z°ejmΘ: deÜifrovat m∙₧e naprosto ka₧d² doma, navφc se dß v²poΦet synchronizovat po Internetu a tak m∙₧ou na jednΘ Üif°e pracovat tisφce lidφ najednou, staΦφ mφt p°ipojenφ k Internetu a nainstalovat si specißlnφ program. Touto metodou cel² sv∞t onoho Φasu dokazoval americkΘ vlßd∞ nesmyslnost omezenφ Üifer na 56 bit∙. 
  213. </DIV></FONT></b></i>
  214. <FONT Size=2><DIV Align=Justify Class=Paragraph>
  215.     Zde se objevuje jeÜt∞ jeden zajφmav² aspekt, vlastn∞ je to p°φm² d∙sledek technickΘho pokroku v oblasti v²poΦetnφ techniky. P°edstavme si na chvφli, ₧e chceme provΘst n∞jak² nßroΦn² v²poΦet, pro zm∞nu t°eba vyzkouÜet miliardu miliard mo₧nostφ Üifrovacφch klφΦ∙. Mo₧nß se domnφvßte, ₧e platφ Φφm d°φve zaΦneme, tφm d°φve skonΦφme. Ale pozor. U₧ vφme ₧e za p∞t let budou poΦφtaΦe desetkrßt rychlejÜφ, a proto se ukazuje ₧e nenφ nejlepÜφ zaΦφnat s v²poΦtem hned ale je v²hodnΘ naopak n∞jakou dobu poΦkat. Samoz°ejm∞ to nesmφ b²t zase moc dlouho, proto₧e pak by jsme m∞li sice vlastnφ v²poΦet hned, ale na dobu, kdy budeme a₧ tak technologicky vysp∞lφ by jsme Φekali velmi dlouho. Nejideßln∞jÜφ by bylo upgradovat v²poΦetnφ techniku p°φmo v pr∙b∞hu v²poΦtu - to by nßm samoz°ejm∞ zajistilo nejrychlejÜφ mo₧n² v²poΦet a tyto ·vahy by p°estßvaly mφt smysl.
  216. </DIV></FONT></b></i>
  217. <FONT Size=2><DIV Align=Justify Class=Paragraph>
  218.     Kdy₧ se bavφme o ·toku hrubou silou, nenφ ·pln∞ od v∞ci znßt urΦitΘ konstanty, resp. jejich dekadickΘ logaritmy (tj. poΦet Φφslic). Dekadick² logaritmus Φφsla 2,  log(2) se p°ibli₧n∞ rovnß hodnot∞ 0,3, tedy 2<sup>n</sup> mß p°ibli₧n∞ n*0,3 desetinn²ch mφst. Keyspace 128 bitovΘ Üifry mß tedy v dekadickΘm zßpisu 38 Φφslic. Kdybychom m∞li miliardu dneÜnφch poΦφtaΦ∙, kterΘ by deÜifrovali takovouto Üifru, ka₧d² rychlostφ miliardu operacφ za sekundu, trvalo by to stßle dΘle ne₧ existuje vesmφr. V p°φpad∞, ₧e si brute-force nem∙₧eme z n∞jakΘho d∙vodu dovolit, m∙₧eme zkusit tzv. Dictionary attack, (slovnφkov² ·tok), kter² spoΦφvß ve vyzkouÜenφ dlouhΘho seznamu slov jako hesla. Na internetu jsou k dispozici deÜifrovacφ slovnφky ve velikostech °ßdov∞ od stovek kilobyt∙ po desφtky magabytu.
  219. </DIV></FONT></b></i>
  220. <A Name="Title2"><FONT Size=3><DIV Class=Headline>Jednorßzov² blok </DIV></font>
  221. <FONT Size=2><DIV Align=Justify Class=Paragraph>
  222.     Zde je d∙le₧itΘ °φci, ₧e jednorßzov² blok nenφ Üifra v podob∞ algoritmu, vlastnφ transformace m∙₧e probφhat jakkoliv. Jednorßzov² blok je soubor vlastnostφ, kterΘ musφ Üifrovacφ proces mφt, aby byla Üifra nerozluÜtitelnß. Na poΦφtßnφ se pravda nejΦast∞ji pou₧φvß xor, proto₧e je nejjednoduÜÜφ a deÜifruje se stejn²m zp∙sobem jako Üifruje, ale principieln∞ nic nebrßnφ v pou₧itφ jakΘkoliv jinΘ funkce. D∙le₧itΘ v∞ci jsou, ₧e dΘlka zprßvy nesmφ p°esahovat dΘlku klφΦe a ₧e jeden klφΦ bude pou₧it maximßln∞ jednou. Tyto vlastnosti jsou nutnou a postaΦujφcφ podmφnkou k tomu, aby byl brute force ne·sp∞Ün². P°edstavte si ₧e chcete n∞komu poslat n∞jakou tajnou zprßvu. Pro zjednoduÜenφ n∞jakΘ celΘ Φφslo v rozmezφ 0 a₧ 99 vΦetn∞. Aby byla Üifra naprosto bezpeΦnß, zvolφte jako heslo op∞t jakΘkoliv celΘ v tom samΘm rozmezφ. Nynφ p°ijde vlastnφ Üifrovacφ-transformaΦnφ algoritmus : ke zprßv∞ p°iΦtete heslo a vezmete zbytek po d∞lenφ stem, tj. v naÜem p°φpad∞ odma₧ete prvnφ Φφslici. Tedy pokud vaÜe zprßva byla 87 a heslo 39, v²sledek bude 26. V²sledkem je tedy zaÜifrovanΘ Φφslo. Nynφ se v₧ijme do role Evy, kterß znß algoritmus a tento v²sledek zφskala z VaÜφ e-mailovΘ schrßnky. Sna₧φ se zjistit originßlnφ nezaÜifrovan² text (Φφslo). Zkusφ ·tok hrubou silouàa ouha. VyzkouÜela vÜech sto mo₧nostφ a dostala sto Φφsel. Jedno jako druhΘ. Neexistuje toti₧ mo₧nost jak p°ijφt na to, kter² klφΦ je ten prav², co₧ je zp∙sobeno prßv∞ tφm, ₧e heslo je stejn∞ dlouhΘ jako zprßva. Kdyby Eva cht∞la, m∙₧e si k urΦitΘ zprßv∞ domyslet heslo, aby jφ vyÜel v²sledek deÜifrovßnφ takov² jak² chce, co₧ je pravda pon∞kud absurdnφ. Podmφnka jen jednoho pou₧itφ hesla je obrana proti ·toku se znßm²m originßlem v p°φpad∞ zkompromitovßnφ originßlu. TakΘ musφte zaruΦit aby heslo bylo skuteΦn∞ naprosto nßhodnΘ, ne pouze pseudonßhodnΘ. Pokud by to neplatilo, tak se keyspace (maximßlnφ mno₧stvφ klφΦ∙ kterΘ se musφ hrubou silou vyzkouÜet) redukuje na poΦet vÜech mo₧n²ch stavu automatu, kter² tyto nßhodnß Φφsla generuje. Prosl²chß se, ₧e horkß linka mezi Washingtonem a Moskvou byla zaÜifrovßna pomocφ jednorßzovΘho bloku.  
  223. </DIV></FONT></b></i>
  224. </DIV>
  225. <SCRIPT>
  226. TextEnd('')
  227. </SCRIPT><OL Class=None Type=Disc></OL><SCRIPT>
  228. nie('<br>');AdditionalTablesBegin();
  229.  
  230. CommentsBegin('T°i, dva, jedna, ·tok !',7);
  231.  
  232. Comment('73','                                 <IMG Src=images/sub.gif valign=top> Linky','Franta','11');
  233. Comment('75','                                 <IMG Src=images/sub.gif valign=top> Jde o p°φstup','Michal Till','11');
  234. Comment('76','                                 <IMG Src=images/sub.gif valign=top> Mßte pravdu','FrantiÜek Jetel','11');
  235. Comment('78','                                 <IMG Src=images/sub.gif valign=top> Cesky wordlist','Jan Kulveit','11');
  236. Comment('79','                                 <IMG Src=images/sub.gif valign=top> hnm....','Ales Lednej','11');
  237. Comment('80','                                 <IMG Src=images/sub.gif valign=top> Dφky','FrantiÜek Jetel','11');
  238. Comment('84','                                 <IMG Src=images/sub.gif valign=top> To jsme si neporozumeli','Jan Kulveit','11');
  239. CommentsEnd();
  240. </SCRIPT><SCRIPT>
  241. ArticleEnd()
  242. </SCRIPT></TABLE>
  243. <!-- /Prostredni sloupec -->
  244.  
  245.  
  246. <!-- Mezera 3 -->
  247.  
  248. <td width=5><img src="images/spacer.gif" width="5" height="1" border="0" alt=""></td>
  249. <!-- /Mezera 3-->
  250.  
  251. <!-- Mezera 2 -->
  252. <td width=1 bgcolor=#1063A5><img src="images/spacer.gif" width="1" height="1" border="0" alt=""></td>
  253. <!-- /Mezera 2-->
  254.  
  255. <!-- Mezera 1-->
  256. <td width=13 bgcolor="#006792" ><img src="images/spacer.gif" width="13" height="1" border="0" alt=""></td>
  257. <!-- /Mezera 1-->
  258.  
  259. <!-- Pravy sloupec -->
  260. <td bgcolor=#006792 width="0" align="center" valign="top">
  261. <SCRIPT SRC=server/right_js.php@version=1621></SCRIPT><br>
  262. </td>
  263. <!-- /Pravy sloupec -->
  264.  
  265.  
  266. </tr>
  267.  
  268. <!-- Bilo -->
  269. <tr>
  270. <td bgcolor=#000000><img src=space.gif height=1 width=1></td>
  271. <td bgcolor=#000000></td>
  272. <td bgcolor=#000000></td>
  273. <td bgcolor=#FFFFFF></td>
  274. <td bgcolor=#FFFFFF></td>
  275. <td bgcolor=#FFFFFF></td>
  276. <td colspan=5 bgcolor=#000000></td>
  277. </tr>
  278. <tr  bgcolor=#FFFFFF>
  279. <td><img src=space.gif height=20 width=1></td>
  280. <td></td>
  281. <td></td>
  282. <td></td>
  283. <td></td>
  284. <td></td>
  285. <td colspan=5></td>
  286. </tr>
  287. <!-- /Bilo-->
  288.  
  289.  
  290.  
  291. </table>
  292. <!-- /Rozdeleni na sloupce -->
  293.  
  294. <SCRIPT>
  295.     Exec(ToExecute);
  296.     ToExecute="";
  297. </SCRIPT>
  298.  
  299. <!-- Dolni lista -->
  300.  
  301.  
  302. <!-- Paticka -->
  303. <TABLE cellspacing="0" cellpadding="0" border="0" width="100%" bgcolor=#ffffff>
  304. <TR><td colspan=5 align="center" bgcolor=#000000><img src=space.gif height=1 width=1></td></TR>
  305. <TR bgcolor=#f0f0f0>
  306. <td align="center">
  307. <IMG Src=images/logo2.gif hspace=10 vspace=5>
  308. </td>
  309. <td>
  310. <DIV Style="margin-top:4px;margin-bottom:4px;" Class=Copyright><FONT Face=Arial Size=1>
  311.  
  312. <b><u>Krypta.cz</u></b> -  Magazφn o informaΦnφ bezpeΦnosti.<br>
  313. Copyright (C) 2000-2002 Krypta.cz - <a href=mailto:michal.till@krypta.cz>Michal Till</a> a <a href=mailto:jan.kulveit@krypta.cz>Jan Kulveit</a>. VÜechna prßva vyhrazena. <br>
  314. Tento server dodr₧uje prßvnφ p°edpisy o ochran∞ osobnφch ·daj∙, vΦetn∞ standardu P3P (<a href=server/policy.xml>policy</a>). </FONT></DIV>
  315. </td>
  316. <td>
  317. <IMG Src=geronimo.gif hspace=10 vspace=5>
  318. </td>
  319. <td>
  320. <DIV Style="margin-top:4px;margin-bottom:4px;" Class=Copyright><FONT Face=Arial Size=1>
  321. RedakΦnφ systΘm Geronimo<br>
  322. Copyright (C) 2001-2002 <a href=mailto:michal.till@krypta.cz>Michal Till</a>
  323. </FONT></DIV>
  324. </td>
  325. </td></tr></table>
  326. <!-- Paticka -->
  327.  
  328. <!-- /Dolni lista -->
  329.  
  330. </body>
  331. </html>