Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

McEllisova šifra. James Ellis(1924-1997) Clifford Cocks, Malcolm Williamson Alice Bob zpráva šum Odstranění šumu.

Podobné prezentace


Prezentace na téma: "McEllisova šifra. James Ellis(1924-1997) Clifford Cocks, Malcolm Williamson Alice Bob zpráva šum Odstranění šumu."— Transkript prezentace:

1 McEllisova šifra

2 James Ellis(1924-1997) Clifford Cocks, Malcolm Williamson Alice Bob zpráva šum Odstranění šumu

3 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

4 Příklad Hammingova prověrková matice řádu 3, velikost 7 x 3 Regulární matice S, velikost 4x4 1010101 0110011 0001111 1110 0110 1010 0001

5 Příklad Permutační matice P, velikost 7x7 Odpovídá permutaci 3257164 0010000 0100000 0000100 0000001 1000000 0000010 0001000

6 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 = P T, velikost n x n Součin K = S * G * P, velkost n x k

7 Příklad Generující matice G Inverzní matice S -1 1110000 1001100 0101010 1101001 1100 1010 1110 0001

8 Příklad Inverzní permutační matice P -1 Odpovídá permutaci 5217364 0000100 0100000 1000000 0000001 0010000 0000010 0001000

9 Příklad Součinová matice K 1010010 0110110 1000111 0101101

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

11 Příklad K= X = (1010) t = (0000100) X*K = (0010101) y = (0010001) 1010010 0110110 1000111 0101101

12 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

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

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

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

16 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

17 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

18 Teorie čísel Prvočíslo Generování prvočísel: Erathosenovo síto Kolik je prvočísel?

19 Eulerova funkce Eulerova funkce φ(n), počet přirozených čísel menších než n a nesoudělných s n. Dodefinujeme φ(1) = 1 První hodnoty funkce φ: 1,1,2,2,4,2,6,3,6,4 Pro a, b nesoudělná φ(ab)= φ(a). φ(b) Snadno spočítáme třeba φ(91)=φ(7.13)=72 p prvočíslo: φ(p)=p-1 a je součin dvou prvočísel a=p.q, pak φ(a)=φ(p).φ(q)=(p-1).(q-1)

20 Vlastnosti prvočísel Binomický koeficient (p nad i) mod p = 0, pro i=1..p-1 (a+b) p mod p=a p +b p Pro c menší než p je c p mod p = c,

21 Malá Fermatova věta Pro c menší než p platí c p-1 mod p = 1 Pierre de Fermat (1601-1665)

22 Velká Fermatova věta Neexistuje čtveřice přirozených a,b,c,n, n>2, pro která platí a n +b n =c n Údajně dokázal P.Fermat v 17. století V roce 1900 formulováno jako 7. Hilbertův problém Hilbertovy problémy (23), dnes vyřešeny všechny až na 2. Velká Fermatova věta dokázána v roce 1994 (sir Andrew John Wiles), důkaz má 109 (velmi hutných) stran

23 Čínská věta o zbytcích Sun Tse (snad 3.- 5. století) N je součin dvou prvočísel p,q. φ(N)=(p-1)(q-1), c φ(N) mod N = 1

24 Další NP problémy Problém faktorizace součinu dvou prvočísel –A=p.q, známe A, třeba určit p a q –Pro přesnou formulaci je třeba si uvědomit, co je zde velikost vstupních dat. Problém modulárních rovnic –f(t) = p t mod q = α –Známe-li p,q a t, snadno určíme α –Známe-li p, q a α, nelze jednoduše určit t

25 Distribuce klíčů D-H *1976 Whitfield Diffie *1944 Martin Hellban *1945 Massachusetts Institute of Technology (Boston) Protokol SSL

26 Metoda Diffie Hellman Použiji jednosměrnou funkci f(x)=p x mod q p,q jsou velká prvočísla. Uživatel A zvolí tajný klíč t, uživatel B tajný klíč s. Uživatel A spočítá f(t) = p t mod q = α a pošle Uživatel B spočítá f(s) = p s mod q = β a pošle

27 Metoda Diffie Hellman A spočítá β t mod q = p st mod q = K. B spočítá α s mod q = p ts mod q = K. K se použije jako klíč pro jednorázovou šifru (např. DES)


Stáhnout ppt "McEllisova šifra. James Ellis(1924-1997) Clifford Cocks, Malcolm Williamson Alice Bob zpráva šum Odstranění šumu."

Podobné prezentace


Reklamy Google