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 Základní pojmy teorie složitosti algoritmů Časová složitost algoritmů –Vyjadřujeme v počtu operací –Složitost algoritmu je funkcí velikosti vstupních dat –Zajímá nás složitost Minimální Průměrná Maximální Složitost limitní

19 Příklady výpočtů složitosti Vyhledání minimální hodnoty O(n) Součet matic O(n 2 ) Součin matic O(n 3 ) Seřazení souboru čísel O(n.log n) Úloha obchodního cestujícího n! Úloha o batohu 2 n

20 Porovnání složitosti algoritmů Podstatný rozdíl je mezi složitostí vyjadřitelnou polynomem a složitostí jinou NN2N2 N8N8 2N2N N!N! 11121 525 400000 32 120 1010010 8 1024 10 6 1522510 9 32000 10 12 2040010 10 6 10 18 3090010 11 10 9 10 32 50 2500 10 13 10 15 10 64 100 10000 10 16 10 30 10 157

21 Při 1 000 000 000 operací za s. NN2N2 N8N8 2N2N N!N! 1<1s 5 10<1s 15<1s1 s<1s15 min 20<1s10 s<1s31 let 30<1s2 min1 s 100 * Věk vesmíru 50<1s3 h11 dní 100<1s3 měs Věk vesmíru

22 Třídění úloh podle složitosti P-úlohy –Je znám algoritmus, který je řeší a má maximální složitost odhadnutelnou polynomickou funkcí NP-úlohy (nedeterministicky polynomiální) –Není znám algoritmus, který je řeší a má maximální složitost odhadnutelnou polynomickou funkcí –Je znám algortimus s minimální složitostí danou polynomickou funkcí (ověření výsledku)

23 NP – úplné problémy Patří do třídy NP Lze na sebe navzájem převádět. Pokud bude nalezet p-algoritmus pro jeden z nich, bude fungovat i pro všechny ostatní. Otevřená otázka P=NP? Vypsáno nadací Calyjako jeden ze 7 „problémů tisíciletí“ v roce 2000, odměna 1000000 $ Často řešeny přibližnými a heuristickými metodami

24 Příklady np-úplných problémů Travel Salesman Problem Knapsack problem Problém splnitelnosti formule Problém parketovatelnosti A dalších minimálně 100 problémů

25 Diagram složitosti úloh

26 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


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