Jak z hashovaci funkce vyrazit sifru

Odeslat odpověď

Smajlíci
:D :) :( :o :shock: :? 8) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode je zapnutý
[img] je zapnutý
[flash] je vypnutý
[url] je zapnuté
Smajlíci jsou zapnutí

Přehled tématu
   

Rozšířit náhled Přehled tématu: Jak z hashovaci funkce vyrazit sifru

Re: Jak z hashovaci funkce vyrazit sifru

od Tuetschek » 18. 6. 2008 23:56

Uff, ja jsem to teda takhle moc neresil, ja jsem si na wiki precetl, ze na zaklade hash-funkci se daji stavet blokove sifry jako je SHACAL a to tak, ze do hash-funkce SHA-1 misto predchoziho stavu a dat cpes data a klic (v tomhle poradi, tedy data se cpou jinam nez normalne) a nejak to funguje :D ... pak se taky daji stavet proudove sifry, kdy hash-funkci pouzijes jako generator pseudonahodneho streamu ... na tomhle by mel byt postaveny SEAL.

Re: Jak z hashovaci funkce vyrazit sifru

od Keleen » 18. 6. 2008 23:52

Hah, tohle me vubec nenapadlo...diky moc:).

Re: Jak z hashovaci funkce vyrazit sifru

od Petr-H » 18. 6. 2008 23:15

h buď libovolná hašovací funkce, K společný klíč, IV inicializační vektor, P = P1||P2||...||Pn buď otevřený text, C = C1||C2||...||Cn buď šifrový text

šifrování:
buď P0 = k XOR IV
1. h(P0) XOR P1 = C1
2. h(P1) XOR P2 = C2
3. h(P2) XOR P3 = C3
...
n. h(P(n-1)) XOR Pn = Cn

dešifrování:
buď P0 = k XOR IV
1. h(P0) XOR C1 = P1
2. h(P1) XOR C2 = P2
3. h(P2) XOR C3 = P3
...
n. h(P(n-1)) XOR Cn = Pn

výsledkem je symetrická bloková šifra, její teoretickou slabostí je případ kdy by bloky Pi = Pj pro nějaké i a j, pokud bych provedl XOR odpovídajících C(i +1) a C(j + 1), nedostal bych přímo otevřený text, ale šifrový text který by byl ekvivalentem Vigenerovy šifry kterou lze zlomit na základě statistického rozboru; částečným řešením tohoto problému by bylo použití čítače, jehož hodnotu bych "XORoval" na otevřený text před hašovaním, tímto způsobem bych snížil teoretickou šanci že k uvedené situaci dojde

Jak z hashovaci funkce vyrazit sifru

od Keleen » 18. 6. 2008 22:04

Je to asi jedina otazka kde me proste ani ramcove nenapada, jak bych neceho takoveho docilil. Opacny pristup je jasny, v handoutech popsany a da se rict logicky, ale proste z hashovaci funkce ziskat nejakou rozumnou sifru (ktera by pak sla dokonce i desifrovat:) to me proste ne a ne napadnout a materialy, handouty i ostatni zdorje, do kterych jsem omylem vrazil, nejak mlci:).

Byl bych vdecny za kopnuti spravnym smerem, pokud nekdo zna odpoved...diky.

Nahoru