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

  1. <!doctype html public "-//W3C//DTD HTML 4.0 Transitional//EN">
  2. <html>
  3. <head>
  4.  <title>Krypta.cz - Zero-knowledge proofs (I.)</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 art218.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( "Zero-knowledge proofs (I.)" , "    OΦ jde" , "    V hlavnφch rolφch" , "    Zero knowledge proof" , "    Vlastnosti protokolu" , "      BludiÜt∞, Rubikova kostka a dalÜφ" );
  55. var SectionURLs=new Array( "218" , "218#Title1" , "218#Title2" , "218#Title3" , "218#Title4" , "218#Title5" );
  56.  
  57. var BrothersNames = new Array("Secret sharing, secret splitting?","MS Script Encoder: ukßzka tzv. bezpeΦnosti p°es obstrukce","MS Script Encoder","MS Script Encoder: ukßzka bezpeΦnosti p°es obstrukce","");
  58. var BrothersIDs = new Array("225","236","237","238","");
  59. //=====INFO======
  60. ItemName='Article218';
  61.  
  62. InIFrame='No';
  63. TableNum=2; 
  64. ItemID=218; 
  65. ArticleType='1'; 
  66. Action='articles'
  67. ItemTitle='Zero-knowledge proofs (I.)';
  68. ItemComment='Zero-knowledge proofs (I.)';
  69. TabName='Articles'
  70. Parent1Title='Matematika' ;
  71. Parent2Title='Kryptografie v praxi' ;
  72. Parent1ID='28' ;
  73. Parent2ID='7' ;
  74. ParentTitle='Matematika' ;
  75. AuthorName='Michal Till' ;
  76. AuthorDesc='' ;
  77. AuthorEMail='Michal.Till@Seznam.cz' ;
  78. AuthorID='1' ;
  79. ItemDate='18.9.2002';
  80. Views='322' ;
  81. Average='1.00' ;
  82. Grade='1' ;
  83. NumVotes='9' ;
  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. <DIV Style="position:absolute;z-index:-50;left:190px;top:20px;"><FONT Face=Arial Size=2 Color=#a0a0a0>╚ekejte prosφm...<a href=text.php><FONT Face=Arial Size=2 Color=#a0a0a0>textovß verze</FONT></a></FONT></DIV>
  121.  
  122. </SCRIPT>
  123. <SCRIPT Language=JavaScript Src="server/startfeatures.php@Rand=ddd "> </SCRIPT><SCRIPT Language=JavaScript Src="server/features.php"> </SCRIPT><!-- Rozdeleni na sloupce -->
  124.  
  125. <TABLE cellspacing="0" cellpadding="0" border="0" width="100%">
  126. <tr>
  127.  
  128. <!-- Levy sloupec -->
  129.  
  130.  
  131.  
  132. <td  width="161" align="center" valign="top">
  133.  
  134. <img src=space.gif height=1 width=161>
  135. <SCRIPT SRC=server/left_js.php@version=1621></SCRIPT></td>
  136.  
  137. <!-- /Levy sloupec -->
  138.  
  139. <!-- Mezera 1-->
  140. <td width=13 bgcolor="#006792" ><img src="images/spacer.gif" width="13" height="1" border="0" alt=""></td>
  141. <!-- /Mezera 1-->
  142.  
  143. <!-- Mezera 2 -->
  144. <td width=1 bgcolor=#1063A5><img src="images/spacer.gif" width="1" height="1" border="0" alt=""></td>
  145. <!-- /Mezera 2-->
  146.  
  147. <!-- Mezera 3 -->
  148. <td width=10><img src="images/spacer.gif" width="10" height="1" border="0" alt=""></td>
  149. <!-- /Mezera 3-->
  150.  
  151.  
  152. <!-- Prostredni sloupec -->
  153. <td align="center" valign="top">
  154.  
  155. <!-- Hlavicka -->
  156. <!-- Horni lista s reklamou -->
  157.  
  158. <TABLE cellspacing="0" cellpadding="0" border="0" width="100%" class="hrlista">
  159. <tr>
  160.  
  161. <!-- Logo-->
  162. <td VAlign=Top>
  163. <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>
  164. </td>
  165. <!-- /Logo -->
  166.  
  167. <td align=center>
  168. </td></tr></table>
  169. <!-- /Horni lista s reklamou-->
  170. <!-- /Hlavicka -->
  171.  
  172. <TABLE Width=100% Border=0><TD><SCRIPT>
  173. </SCRIPT><SCRIPT>
  174. ArticleHead('Zero-knowledge proofs (I.)', 'Michal Till', 'Michal.Till@Seznam.cz', '18.9.2002', '21:46:06', '╚lßnek');
  175. Intro('Zero-knowledge proofs, neboli d∙kazy s ₧ßdn²m zve°ejn∞nφm. Oblast informaΦnφ bezpeΦnosti, o kterΘ se mßlo diskutuje, p°sto₧e v∞tÜφ teoretickΘ prozkoumßnφ a nßslednΘ nasazenφ v praxi by znamenalo skuteΦn² p°evrat v bezpeΦnosti. Vzdßlenou sptrßvou zaΦφnaje, biometrikami konΦe.');
  176. ArticleBanner_smallres('margin-bottom:10px;margin-top:-3px;');
  177. </SCRIPT>
  178. <DIV Class=Article><SCRIPT>
  179. AuthorData();
  180. if (Type != 'Pure') if ((ArticleType!=19) && (ArticleType!=20)) ShowSections();
  181. ArticleBanner_bigres('margin-top:12px;margin-bottom:-3px;');
  182. </SCRIPT><A Name="Title1"><FONT Size=3><DIV Class=Headline>OΦ jde</DIV></font>
  183. <FONT Size=2><DIV Align=Justify Class=Paragraph>
  184.     Zero-knowledge protokoly umo₧≥ujφ identifikaci, v²m∞nu Üifrovacφch klφΦ∙ Φi jinΘ kryptografickΘ operace bez zve°ejn∞nφ jakΘkoliv utajovanΘ skuteΦnosti v pr∙b∞hu p°enosu. P°esn² Φesk² ekvivalent slovnφho spojenφ zero-knowledge bychom asi marn∞ hledali, Ülo by patrn∞ pou₧φt n∞co jako protokoly s nulov²m odhalenφm Φi nulovou v²pov∞dφ. Jeliko₧ pro svojφ Φinnost obvykle pot°ebujφ daleko mΘn∞ v²poΦetnφho v²konu ne₧ klasickΘ algoritmy s relativn∞ velk²mi ve°ejn²mi klφΦi, nachßzφ svoje uplatn∞nφ p°edevÜφm v r∙zn²ch Φipov²ch kartßch a v aplikacφch, kterΘ s nimi pracujφ. P°esto₧e algoritmy, kterΘ vyu₧φvajφ, nejsou nijak standardnφ, n∞kterΘ bezpeΦnostnφ problΘmy jsou pomocφ nich °eÜitelnΘ bu∩ zΦßsti, nebo ·pln∞. Vedle toho disponujφ navφc n∞kter²mi specifick²mi vlastnostmi, o kter²ch bude °eΦ dßle. 
  185. </DIV></FONT></b></i>
  186. <A Name="Title2"><FONT Size=3><DIV Class=Headline>V hlavnφch rolφch</DIV></font>
  187. <FONT Size=2><DIV Align=Justify Class=Paragraph>
  188.     <UL STYLE="margin-right:50px;" Class=LinkItem><LI> <SPAN Class=CODE>Peggy (prover, "dokazovatel", ₧adatel) - mß jistou tajnou informaci</SPAN> a chce Viktorovi dokßzat ₧e ji mß, ni₧ by se ji on sßm dozv∞d∞l.</UL>
  189. </DIV></FONT></b></i>
  190. <FONT Size=2><DIV Align=Justify Class=Paragraph>
  191.     <UL STYLE="margin-right:50px;" Class=LinkItem><LI> Viktor (verifier, ov∞°ovatel) - chce ov∞°it, zda Peggy danou informaci mß. Jeho "vedlejÜφm" ·silφm je ji zφskat, dob°e navr₧en² protokol mu to neumo₧nφ.</UL>
  192. </DIV></FONT></b></i>
  193. <FONT Size=2><DIV Align=Justify Class=Paragraph>
  194.     <UL STYLE="margin-right:50px;" Class=LinkItem><LI> Eva (eavesdropper) - odposlouchßvß konverzaci mezi Peggy a Viktorem. Kvalitnφ protokol znemo₧nφ jakΘkoliv t°etφ stran∞ jak zjiÜt∞nφ tajemstvφ, tak "opakovanΘ" ujiÜt∞nφ n∞koho jinΘho, ₧e Peggy danou informaci mß.</UL>
  195. </DIV></FONT></b></i>
  196. <FONT Size=2><DIV Align=Justify Class=Paragraph>
  197.     Tajemstvφ m∙₧e b²t jakßkoliv informace - heslo, tajn² klφΦ nebo °eÜenφ n∞jakΘho matematickΘho problΘmu. Pou₧itφ Zero-knowledge protokolu umo₧≥uje aby ₧adatel dokßzal ov∞°ovateli ₧e prßv∞ on je vlastnφkem tΘto informace a to bez toho, aby se ji (ov∞°ovatel) dozv∞d∞l. Cφlem je tedy situace opaΦnß, ne₧ vypl≥ovßnφ hesla Φi ukazovßnφ obΦanskΘho pr∙kazu v praxi.
  198. </DIV></FONT></b></i>
  199. <FONT Size=2><DIV Align=Justify Class=Paragraph>
  200.     V pr∙b∞hu ov∞°ovßnφ tΘto skuteΦnosti nab²vß Viktor stßle v∞tÜφ a v∞tÜφ jistoty. Vypovφdß-li jedno kolo ov∞°ovacφho protokolu o tom, ₧e Peggy je ta za kterou se vydßvß Φi mß to co °φkß s pravd∞podobnostφ <SPAN Class=CODE>1:1</SPAN>, pak po <SPAN Class=CODE>n</SPAN> kolech je Üance, ₧e Peggy protokol obelstila <SPAN Class=CODE>1:2<sup>n</sup></SPAN>. 
  201. </DIV></FONT></b></i>
  202. <FONT Size=2><DIV Align=Justify Class=Paragraph>
  203.     V praxi obvykle cel² systΘm stojφ a padß na n∞jakΘm matematickΘm problΘmu a na jeho °eÜenφ. Peggy chce Viktorovi dokßzat ₧e ho znß, ale nechce mu ho odhalit. ╪φkß se tomu Zero-knowledge proof ("d∙kaz s nulov²m odhalenφm"). 
  204. </DIV></FONT></b></i>
  205. <A Name="Title3"><FONT Size=3><DIV Class=Headline>Zero knowledge proof</DIV></font>
  206. <FONT Size=2><DIV Align=Justify Class=Paragraph>
  207.     Celou situaci nejlΘpe ilustruje znßm² obrßzek jeskyn∞ (viz nφ₧e). Vede do nφ jeden vchod (A), kter² ·stφ do kruhovß chodby (B), kterß je vÜak ve svΘ polovin∞ uzav°ena dve°mi (C), kterΘ se otev°ou jen kdy₧ zadßme sprßvn² Φφseln² k≤d. Peggy chce dokßzat Viktorovi, ₧e ho znß, ale nechce, aby se ho on dozv∞d∞l. Proto s nφm nem∙₧e projφt celou jeskyni. Jak bude postupovat? Nechß Viktora stßt v mφst∞ A, dojde na "tΘΦko" a vybere si jeden ze sm∞r∙ (je ·pln∞ jedno jak², sprßvn∞ by m∞la pou₧φt n∞jak² bezpeΦn² generßtor nßhodn²ch Φφsel). A₧ dojde ke dve°φm (C), zavolß na Viktora, kter² se p°ijde na mφsto (B). Nynφ si on vybere sm∞r (ve vlastnφm zßjmu by m∞l takΘ pou₧φt generßtor nßhodn²ch Φφsel) a zavolß na Peggy odkud si p°eje, aby p°iÜla. Tedy "Zprava!" Φi "Zleva!".
  208. </DIV></FONT></b></i>
  209. <SCRIPT>
  210. _Image('file.php@Name=zkp','DemonstraΦnφ jeskyn∞','147','Left');
  211. </SCRIPT><FONT Size=2><DIV Align=Justify Class=Paragraph>
  212.     Nynφ se v₧ijme do Peggy. Pokud k≤d znß tak bu∩ musφ nebo nemusφ dve°e otevφrat a v ka₧dΘm p°φpad∞ p°ijde z toho sm∞ru, kter² si Viktor zvolil. Pokud ho neznß, mß ale pravd∞podobnost jen 50%, ₧e si s Viktorem nßhodou vybrali stejn² sm∞r a pro tentokrßt se jφ poda°φ ho obelstφt. Po tomto jednom kole mß tedy Viktor jistotu 50% (1:1), ₧e Peggy k≤d znß. P°i ka₧dΘm dalÜφm opakovßnφ tohoto procesu se mo₧nost, ₧e by Peggy podvedla Viktora zmenÜφ na polovinu. Viktor tak m∙₧e znalost k≤du u Peggy ov∞°it s jakoukoliv jistotou (pravd∞podobnostφ).
  213. </DIV></FONT></b></i>
  214. <FONT Size=2><DIV Align=Justify Class=Paragraph>
  215.     Jak je vid∞t, jedno jedinΘ pochybenφ a je rozhodnuto, d∙kaz znalosti je cel² neplatn². ╪φkß se tomu cut&choose.
  216. </DIV></FONT></b></i>
  217. <A Name="Title4"><FONT Size=3><DIV Class=Headline>Vlastnosti protokolu</DIV></font>
  218. <FONT Size=2><DIV Align=Justify Class=Paragraph>
  219.     Tak p°edevÜφm, jak u₧ bylo zmφn∞no, Viktor nemß naprosto ₧ßdnou informaci o tom, jak² Φφseln² k≤d Peggy pou₧ila. Vφ pouze, ₧e ho znß. to je zßkladnφ Zero-knowledge-myÜlenka : ten kdo ov∞°uje se z protokolu dovφ jen tolik, kolik by v∞d∞l i bez druhΘ strany. Äßdnß tajnß informace Φi jejφ Φßst nenφ mezi stranami p°enßÜena.
  220. </DIV></FONT></b></i>
  221. <FONT Size=2><DIV Align=Justify Class=Paragraph>
  222.     Dßle, Peggy nem∙₧e Viktora podvΘst. Jinak °eΦeno, podvod je jen zßle₧itost (nekoneΦnΘho) Üt∞stφ. V praxi m∙₧e b²t Viktor obelhßn jen s jistou pravd∞podobnostφ, kterß ovÜem exponencißln∞ klesß s poΦtem opakovßnφ. Tedy nap°φklad 10 opakovßnφ znamenß jistotu 1:1024, 20 opakovßnφ 1:1048576 a 128 opakovßnφ znamenß pravd∞podobnost takovou, ₧e na prvnφ pokus uhßdnu sprßvn² klφΦ do jakΘkoliv dnes b∞₧n∞ pou₧φvanΘ Üifry (implementovanΘ nap°. v PGP, SSL...). Pokud je Üance, ₧e Peggy projde "testem" i kdy₧ neznß klφΦ velkß, staΦφ provΘst vφce kol. Ji₧ zmφn∞n² exponencißlnφ charakter "vyhoupne" pravou stranu pom∞ru do astronomick²ch v²Üφ tak jako tak za chvφli.
  223. </DIV></FONT></b></i>
  224. <FONT Size=2><DIV Align=Justify Class=Paragraph>
  225.     Viktor takΘ nem∙₧e podvΘst Peggy. To by se stalo v p°φpad∞, ₧e by postupoval v nesouladu s protokolem.
  226. </DIV></FONT></b></i>
  227. <FONT Size=2><DIV Align=Justify Class=Paragraph>
  228.     Jeliko₧ se ₧ßdnß tajnß informace nep°enßÜφ, nem∙₧e se Viktor zamaskovat jako Peggy n∞komu t°etφmu.  Man-in-the-middle attack je mo₧n² jen v n∞kter²ch protokolech.
  229. </DIV></FONT></b></i>
  230. <FONT Size=2><DIV Align=Justify Class=Paragraph>
  231.     A nakonec, Viktor ji₧ z principu nem∙₧e ujistit o informovanosti Peggy nikoho t°etφho.
  232. </DIV></FONT></b></i>
  233. <A Name="Title5"><FONT Size=3><DIV Class=Headline>
  234. BludiÜt∞, Rubikova kostka a dalÜφ</DIV></font>
  235. <FONT Size=2><DIV Align=Justify Class=Paragraph>
  236.     Abychom lΘpe pochopili fungovßnφ protokolu, uka₧me si jeÜt∞ dva p°φpady. Oba z nich kopφrujφ standardnφ schΘma : je dßn problΘm, Peggy k n∞mu znß °eÜenφ a chce to dokßzat Viktorovi, ani₧ by se ho on dov∞d∞l. Ze zadßnφ vytvo°φ problΘm jin², ukß₧e ho Viktorovi a ten se rozhodne : bu∩ mi uka₧ °eÜenφ problΘmu novΘho, nebo mi uka₧ p°evod z n∞j na problΘm p∙vodnφ. Pokud Peggy °eÜenφ znß, m∙₧e ud∞lat ob∞ v∞ci. Pokud nikoliv, je schopna provΘst v₧dy bu∩ jedno nebo druhΘ, nikdy ale ne oboje.
  237. </DIV></FONT></b></i>
  238. <FONT Size=2><DIV Align=Justify Class=Paragraph>
  239.     Vφce Φi mΘn∞ ilustrativnφ je p°φklad s bludiÜt∞m, ve kterΘm Peggy znß cestu z bodu A do bodu B (oba ve°ejn∞ znßmΘ). Vybere si na n∞m bod C, ze kterΘho se umφ dostat na "cestu" mezi A a B a ukß₧e ho Viktorovi. Ten se rozhodne, zda chce vid∞t cestu z A do C nebo z B do C. Pokud Peggy vφ kudy z A do B, m∙₧e zodpov∞d∞t ob∞ otßzky, v opaΦnΘm p°φpad∞ v₧dy (maximßln∞) jednu.
  240. </DIV></FONT></b></i>
  241. <FONT Size=2><DIV Align=Justify Class=Paragraph>
  242.     Obdobn∞ nßm m∙₧e poslou₧it Rubikova kostka. Peggy vφ, jak jφ z rozhßzenΘho stavu X dostat do p∙vodnφho (oznaΦme jej A). Z n∞jakΘho stavu mezi X a A dalÜφm otßΦenφm vytvo°φ stav Y a ukß₧e jej Viktorovi. Pokud umφ slo₧it X, bude um∞t jak slo₧it Y, tak z n∞j slo₧it X.
  243. </DIV></FONT></b></i>
  244. <FONT Size=2><DIV Align=Justify Class=Paragraph>
  245.     PokraΦovßnφ p°φÜt∞.
  246. </DIV></FONT></b></i>
  247. <FONT Size=2><DIV Align=Justify Class=Paragraph>
  248.      
  249. </DIV></FONT></b></i>
  250. </DIV>
  251. <SCRIPT>
  252. TextEnd('')
  253. </SCRIPT><OL Class=None Type=Disc></OL><SCRIPT>
  254. nie('<br>');AdditionalTablesBegin();
  255.  
  256. CommentsBegin('Zero-knowledge proofs (I.)',0);
  257. NoComments()
  258. CommentsEnd();
  259. </SCRIPT><SCRIPT>
  260. ArticleEnd()
  261. </SCRIPT></TABLE>
  262. <!-- /Prostredni sloupec -->
  263.  
  264.  
  265. <!-- Mezera 3 -->
  266.  
  267. <td width=5><img src="images/spacer.gif" width="5" height="1" border="0" alt=""></td>
  268. <!-- /Mezera 3-->
  269.  
  270. <!-- Mezera 2 -->
  271. <td width=1 bgcolor=#1063A5><img src="images/spacer.gif" width="1" height="1" border="0" alt=""></td>
  272. <!-- /Mezera 2-->
  273.  
  274. <!-- Mezera 1-->
  275. <td width=13 bgcolor="#006792" ><img src="images/spacer.gif" width="13" height="1" border="0" alt=""></td>
  276. <!-- /Mezera 1-->
  277.  
  278. <!-- Pravy sloupec -->
  279. <td bgcolor=#006792 width="0" align="center" valign="top">
  280. <SCRIPT SRC=server/right_js.php@version=1621></SCRIPT><br>
  281. </td>
  282. <!-- /Pravy sloupec -->
  283.  
  284.  
  285. </tr>
  286.  
  287. <!-- Bilo -->
  288. <tr>
  289. <td bgcolor=#000000><img src=space.gif height=1 width=1></td>
  290. <td bgcolor=#000000></td>
  291. <td bgcolor=#000000></td>
  292. <td bgcolor=#FFFFFF></td>
  293. <td bgcolor=#FFFFFF></td>
  294. <td bgcolor=#FFFFFF></td>
  295. <td colspan=5 bgcolor=#000000></td>
  296. </tr>
  297. <tr  bgcolor=#FFFFFF>
  298. <td><img src=space.gif height=20 width=1></td>
  299. <td></td>
  300. <td></td>
  301. <td></td>
  302. <td></td>
  303. <td></td>
  304. <td colspan=5></td>
  305. </tr>
  306. <!-- /Bilo-->
  307.  
  308.  
  309.  
  310. </table>
  311. <!-- /Rozdeleni na sloupce -->
  312.  
  313. <SCRIPT>
  314.     Exec(ToExecute);
  315.     ToExecute="";
  316. </SCRIPT>
  317.  
  318. <!-- Dolni lista -->
  319.  
  320.  
  321. <!-- Paticka -->
  322. <TABLE cellspacing="0" cellpadding="0" border="0" width="100%" bgcolor=#ffffff>
  323. <TR><td colspan=5 align="center" bgcolor=#000000><img src=space.gif height=1 width=1></td></TR>
  324. <TR bgcolor=#f0f0f0>
  325. <td align="center">
  326. <IMG Src=images/logo2.gif hspace=10 vspace=5>
  327. </td>
  328. <td>
  329. <DIV Style="margin-top:4px;margin-bottom:4px;" Class=Copyright><FONT Face=Arial Size=1>
  330.  
  331. <b><u>Krypta.cz</u></b> -  Magazφn o informaΦnφ bezpeΦnosti.<br>
  332. 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>
  333. 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>
  334. </td>
  335. <td>
  336. <IMG Src=geronimo.gif hspace=10 vspace=5>
  337. </td>
  338. <td>
  339. <DIV Style="margin-top:4px;margin-bottom:4px;" Class=Copyright><FONT Face=Arial Size=1>
  340. RedakΦnφ systΘm Geronimo<br>
  341. Copyright (C) 2001-2002 <a href=mailto:michal.till@krypta.cz>Michal Till</a>
  342. </FONT></DIV>
  343. </td>
  344. </td></tr></table>
  345. <!-- Paticka -->
  346.  
  347. <!-- /Dolni lista -->
  348.  
  349. </body>
  350. </html>