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.
Jak z hashovaci funkce vyrazit sifru
- Petr-H
- Matfyz(ák|ačka) level II
- Příspěvky: 81
- Registrován: 30. 1. 2006 14:18
- Typ studia: Informatika Mgr.
- Login do SIS: hosep5am
- Bydliště: VŠK 17. listopadu
- Kontaktovat uživatele:
Re: Jak z hashovaci funkce vyrazit sifru
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
š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
Re: Jak z hashovaci funkce vyrazit sifru
Hah, tohle me vubec nenapadlo...diky moc:).
- Tuetschek
- Supermatfyz(ák|ačka)
- Příspěvky: 657
- Registrován: 15. 6. 2005 13:54
- Typ studia: Nestuduji ale učím na MFF
- Login do SIS: duseo7af
- Kontaktovat uživatele:
Re: Jak z hashovaci funkce vyrazit sifru
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 ... pak se taky daji stavet proudove sifry, kdy hash-funkci pouzijes jako generator pseudonahodneho streamu ... na tomhle by mel byt postaveny SEAL.
Plug 'n' Pray.