17
McEllisova šifra

McEllisova šifra

  • Upload
    duff

  • View
    40

  • Download
    1

Embed Size (px)

DESCRIPTION

McEllisova šifra. James Ellis(1924-1997) Clifford Cocks, Malcolm Williamson. šum. Bob. Alice. zpráva. Odstranění šumu. 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 - PowerPoint PPT Presentation

Citation preview

Page 1: McEllisova  šifra

McEllisova šifra

Page 2: McEllisova  šifra

James Ellis(1924-1997) Clifford Cocks, Malcolm Williamson

AliceBob

zpráva

šum

Odstranění šumu

Page 3: McEllisova  šifra

Klíč

3 matice

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

• Regulární matice S, velikost k x k

• Permutační matice P, velikost n x n

Page 4: McEllisova  šifra

Příklad

• Hammingova prověrková matice řádu 3, velikost 7 x 3

• Regulární matice S, velikost 4x4

1 0 1 0 1 0 1

0 1 1 0 0 1 1

0 0 0 1 1 1 1

1 1 1 0

0 1 1 0

1 0 1 0

0 0 0 1

Page 5: McEllisova  šifra

Příklad

• Permutační matice P, velikost 7x7

• Odpovídá permutaci 3257164

0 0 1 0 0 0 0

0 1 0 0 0 0 0

0 0 0 0 1 0 0

0 0 0 0 0 0 1

1 0 0 0 0 0 0

0 0 0 0 0 1 0

0 0 0 1 0 0 0

Page 6: McEllisova  šifra

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

Page 7: McEllisova  šifra

Příklad

• Generující matice G

• Inverzní matice S-1

1 1 1 0 0 0 0

1 0 0 1 1 0 0

0 1 0 1 0 1 0

1 1 0 1 0 0 1

1 1 0 0

1 0 1 0

1 1 1 0

0 0 0 1

Page 8: McEllisova  šifra

Příklad

• Inverzní permutační matice P-1

• Odpovídá permutaci 5217364

0 0 0 0 1 0 0

0 1 0 0 0 0 0

1 0 0 0 0 0 0

0 0 0 0 0 0 1

0 0 1 0 0 0 0

0 0 0 0 0 1 0

0 0 0 1 0 0 0

Page 9: McEllisova  šifra

Příklad

• Součinová matice K 1 0 1 0 0 1 0

0 1 1 0 1 1 0

1 0 0 0 1 1 1

0 1 0 1 1 0 1

Page 10: McEllisova  šifra

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

Page 11: McEllisova  šifra

Příklad

• K=

• X = (1010)• t = (0000100)• X*K = (0010101)• y = (0010001)

1 0 1 0 0 1 0

0 1 1 0 1 1 0

1 0 0 0 1 1 1

0 1 0 1 1 0 1

Page 12: McEllisova  šifra

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

Page 13: McEllisova  šifra

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)

Page 14: McEllisova  šifra

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.

Page 15: McEllisova  šifra

Symetrická šifra

• Šifrovací zobrazení y = φ(x,k)

• Dešifrovací zobrazení x = ψ(y,k)

Page 16: McEllisova  šifra

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

Page 17: McEllisova  šifra

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

• McEllisův algoritmus nelze pro autorizaci použít