Mc Ellisova ifra Kl 3 matice Provrkov matice

  • Slides: 16
Download presentation
Mc. Ellisova šifra

Mc. Ellisova šifra

Klíč 3 matice • Prověrková matice H Hammingova kódu řádu r, velikost n=2 r-1

Klíč 3 matice • Prověrková matice H Hammingova kódu řádu r, velikost n=2 r-1 x r. Příslušná generující matice G má velikost n x k=2 r-r -1 • Regulární matice S, velikost k x k • Permutační matice P, velikost n x n

Příklad • Hammingova prověrková matice řádu 3, velikost 7 x 3 1 0 1

Příklad • Hammingova prověrková matice řádu 3, velikost 7 x 3 1 0 1 0 1 1 0 0 0 1 1 • Regulární matice S, velikost 4 x 4 1 1 1 0 0 1 1 0 1 0 0 1

Příklad • Permutační matice P, velikost 7 x 7 • Odpovídá permutaci 3257164 0

Příklad • Permutační matice P, velikost 7 x 7 • Odpovídá permutaci 3257164 0 0 1 0 0 0 0 1 1 0 0 0 1 0 0 0

Dále potřebuji spočítat • Generující matici Hammingova kódu G, velikost n x k •

Dále potřebuji spočítat • Generující matici Hammingova kódu G, velikost n x k • Inverzní matici k S: S-1, velikost k x k • Inverzní matici k P: P-1 = PT , velikost n x n • Součin K = S * G * P, velkost n x k

Příklad • Generující matice G 1 1 1 0 0 1 1 0 0

Příklad • Generující matice G 1 1 1 0 0 1 1 0 0 0 1 0 1 1 0 0 1 • Inverzní matice S-1 1 1 0 0 1 0 1 1 1 0 0 1

Příklad • Inverzní permutační matice P-1 • Odpovídá permutaci 5217364 0 0 1 0

Příklad • Inverzní permutační matice P-1 • Odpovídá permutaci 5217364 0 0 1 0 0 0 0 0 0 1 0 0 0

Příklad • Součinová matice K 1 0 0 1 1 0 1 0 0

Příklad • Součinová matice K 1 0 0 1 1 0 1 0 0 0 1 1 1 0 1

Šifrování • Vstupní zpráva x • Spočítám y = x*K + t • t

Šifrování • Vstupní zpráva x • Spočítám y = x*K + t • t je náhodný „chybový“ vektor délky n s vahou 1 • Šifrování je nedeterministické

Příklad • K= • • 1 0 0 1 1 1 0 0 0

Příklad • K= • • 1 0 0 1 1 1 0 0 0 1 1 1 X = (1010) t = (0000100) X*K = (0010101) y = (0010001) 1 1 1 0 0 0 1 1

Dešifrování • Přijmu zprávu y = x*K+t = x*S*G*P+t • Přenásobím zprava maticí P-1

Dešifrování • Přijmu zprávu y = x*K+t = x*S*G*P+t • Přenásobím zprava maticí P-1 , dostanu m = (x*S*G*P+t)*P-1 = x*S*G*P*P-1+t*P-1 = x*S*G+t*P-1 • Vektor t*P-1 má váhu 1, „chybu“ odstraním metodou pro dekódování Hammingových kódů, získám x*S • Přenásobím zprava maticí S-1, dostanu x

Příklad dešifrování • Přijmu y = (0010001) • Spočítám m=y*P-1=(0001100) • Spočítám syndrom m:

Příklad dešifrování • Přijmu y = (0010001) • Spočítám m=y*P-1=(0001100) • Spočítám syndrom m: synd(m)=m*H=(100) • K „chybě“ došlo na 4. místě: x*S*G=(0000100) • Na základě generující matice G spočítám x*S = (0100) • Přenásobím S-1: x=x*S* S-1=(1010)

Další úvahy • Pro konstrukci šifry potřebuji určit matice H, S, P. • Na

Další úvahy • Pro konstrukci šifry potřebuji určit matice H, S, P. • Na jejich základě jednoduchými algoritmy spočítám matice G, S-1, P-1, K. • Pro dešifrování potřebuji znát všechny tyto matice • Pro šifrování mi stačí znát matici K • Z matice K nelze matice H, S a P jednoduše odvodit.

Symetrická šifra • Šifrovací zobrazení y = φ(x, k) • Dešifrovací zobrazení x =

Symetrická šifra • Šifrovací zobrazení y = φ(x, k) • Dešifrovací zobrazení x = ψ(y, k)

Asymetrická šifra • • Šifrovací zobrazení y = φ(x, v) Dešifrovací zobrazení x =

Asymetrická šifra • • Šifrovací zobrazení y = φ(x, v) Dešifrovací zobrazení x = ψ(y, t) v … veřejný, známý, šifrovací klíč t …soukromý, tajný, dešifrovací klíč Existuje jednoduchá funkce f: v=f(t) Funkce f -1 je obtížně vyčíslitelná F je jednocestná funkce

Další využití (autorizace, „elektronický podpis“) • Pokud navíc platí φ ◦ ψ = ψ

Další využití (autorizace, „elektronický podpis“) • Pokud navíc platí φ ◦ ψ = ψ ◦ φ • Zprávu x „podepíši“ transformací ψ(x, t) a odešlu. • Příjemce použije transformaci φ: φ(ψ(x, t), v) = φ ◦ ψ (x) = ψ ◦ φ (x) = x • Zpráva je autorizována • Mc. Ellisův algoritmus nelze pro autorizaci použít