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
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