Stáhnout prezentaci
Prezentace se nahrává, počkejte prosím
1
McEllisova šifra
2
James Ellis(1924-1997) Clifford Cocks, Malcolm Williamson
šum Bob Alice zpráva Odstranění šumu
3
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
4
Příklad 1 Hammingova prověrková matice řádu 3, velikost 7 x 3 1
Regulární matice S, velikost 4x4 1 1
5
Příklad Permutační matice P, velikost 7x7 Odpovídá permutaci 1
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 = PT , 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 1 1
8
Příklad Inverzní permutační matice P-1 Odpovídá permutaci 1
9
Příklad Součinová matice K 1
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 1 K= X = (1010) t = ( ) X*K = ( ) y = ( )
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=( ) 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(n2) Součin matic O(n3) Seřazení souboru čísel O(n.log n) Úloha obchodního cestujícího n! Úloha o batohu 2n
20
Porovnání složitosti algoritmů
Podstatný rozdíl je mezi složitostí vyjadřitelnou polynomem a složitostí jinou N N2 N8 2N N! 1 2 5 25 400000 32 120 10 100 108 1024 106 15 225 109 32000 1012 20 400 1010 1018 30 900 1011 1032 50 2500 1013 1015 1064 10000 1016 1030 10157
21
Při 1 000 000 000 operací za s. N N2 N8 2N N! 1 <1s 5 10 15 1 s
15 min 20 10 s 31 let 30 2 min 100 * Věk vesmíru 50 3 h 11 dní 100 3 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 $ Č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) = pt mod q = α Známe-li p,q a t, snadno určíme α Známe-li p, q a α, nelze jednoduše určit t
Podobné prezentace
© 2024 SlidePlayer.cz Inc.
All rights reserved.