Mc Ellisova ifra Kl 3 matice Provrkov matice
- Slides: 16
Mc. Ellisova šifra
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 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 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 • 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 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 0 0 0 0 0 1 0 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 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 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 , 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: 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 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 = ψ(y, k)
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í φ ◦ ψ = ψ ◦ φ • 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