140 likes | 465 Views
Monoalfabetické a polyalfabetické šifry. Šifrovacie/dešifrovacie transformácie pre afinnú a Vigenerovu šifru. Meno a priezvisko : Vladimír Cingel šk.rok : 2013/2014 Skupina : 34E30 dátum : 30.9.2012. Úvod. Základné pojmy :
E N D
Monoalfabetické a polyalfabetické šifry. Šifrovacie/dešifrovacie transformácie pre afinnú a Vigenerovu šifru. Meno a priezvisko: Vladimír Cingel šk.rok: 2013/2014 Skupina: 34E30 dátum: 30.9.2012
Úvod • Základné pojmy: • Otvorený text P – originálna správa pred procesom šifrovania. • Šifrovaný text C – výstup šifrovacieho algoritmu, obsah správy je utajený. • Šifrovanie E - proces úpravy správy, ktorý zabezpečuje utajenie jej obsahu. • Dešifrovanie D – proces získania otvoreného textu z prijatého zašifrovaného textu. • Kľúč – dodatočná informácia, ktorá je nevyhnutná na realizáciu šifrovania daným šifrovacím algoritmom. • Abeceda otvoreného textu Apt – množina prvkov (písmen, znakov, číslic), z ktorých je zostavený otvorený text. • Abeceda šifrovaného textu Act – množina prvkov (písmen, znakov, číslic), z ktorých pozostáva šifrovaný text.
Základné rozdelenie • Kryptografické systémy využívajú dve základné operácie: Substitúcia – nahrádza každý prvok otvoreného textu (písmeno, znak, bit...) novým prvkom šifrovaného textu. Nový prvok ostáva na mieste pôvodného prvku. Transpozícia – preusporiadanie prvkov otvoreného textu podľa určitého pravidla. Prvky si zachovajú svoju identitu, menia len svoju pozíciu.
Monoalfabetické šifry • Realizujú substitúciu každého písmena otvoreného textu (P) iným písmenom, ktoré je v abecede otvoreného textu Apt posunuté o konštantný počet miest. • Každý znak zašifrovaného textu C možno vyjadriť v tvare: C = E(P) = (P + k)modN • Dešifrovací algoritmus možno vyjadriť v tvare: P = D(C) = (C - k)modN
Afinná šifra • Cézarova šifra vyžadovala k šifrovaniu iba jeden parameter (posun k), šifrovanie bolo veľmi jednoduché a ľahko prelomitelné. • Afinná šifra vyžaduje parameter pre posun k ale aj parameter pre transformáciu a. • Napriek tomu ide ešte stále o jednoduchú šifrovaciu štruktúru. Pre šifrovanie je definovaná kryptografická transformácia: Aa,k(n) =(a*n + k)modN Pre dešifrovanie: Aã,k-1(n) = (ã *n – ã *k)modN
Parametre a,k sú celé čísla, pričom a musí byť nesúdeliteľné s N. Ak zvolíme, že a=1, systém Afinnej šifry sa pretransformuje späť na Cézarovu šifru. Prípustné hodnoty koeficientu a pre N=26 a hodnoty inverzného koeficientu ã • Koeficient ã predstavuje inverzný prvok ku koeficientu a, pre ktorý platí vzťah: (a * ã)modN =1
Príklad • Zašifrujte pomocou afinnej šifry otvorený text vytvorený v telegrafnej abecede s N=26, ak a=3, k=7. Otvorený text na zakódovanie: „SIFRA“ S(18): A3,7(18) = (3 * 18 +7)mod26 = 9 → J I(8): A3,7(8) = (3 * 8 +7)mod26 = 5 → F F(5): A3,7(5) = (3 * 5 +7)mod26 = 22 → W R(17): A3,7(17) = (3 * 17 +7)mod26 = 6 → G A(0): A3,7(0) = (3 * 0 +7)mod26 = 7 → H • Otvorený text: SIFRA • Šifrovaný text: JFWGH
Dešifrovanie Aã,k-1(n) = (ã *n – ã *k)modN J(9): A3,7-1(9) = (9 * 9 – 9 * 7)mod26 = 18 → S F(5): A3,7-1(5) = (9 * 5 – 9 * 7 )mod26 = 8 → I W(22): A3,7-1(22) = (9 * 22 – 9 * 7)mod26 = 5 → F G(6): A3,7-1(6) = (9 * 6 – 9 * 7)mod26 = 17 → R H(7): A3,7-1(7) = (9 * 7 – 9 * 7)mod26 = 0 → A • Šifrovaný text : JFWGH • Otvorený text: SIFRA
Polyalfabetické šifry • Polyalfabetická šifra sa vyznačuje tým, že písmeno p z Apt sa v šifrovanom texte nahrádza viacerými písmenami z Act a súčasne každé písmeno c z Act reprezentuje viacero písmen z Apt. • Postupnosť aplikácie šifrovacích abecied je určená kľúčom, ktorý spolu s množinou monoalfabetických substitúcií charakterizuje každú polyalfabetickú šifru.
Vigenerova šifra • Špeciálny prípad polyalfabetickej šifry, ktorý môžeme označiť aj ako najjednoduchší a najznámajší. • Šifra je založená na konečnej postupnosti 26 Cézarových transformácií s posunom 0 až 25. • Text sa šifruje v takzvanom Vigenerovom štvorci. • Namiesto systému Cézarovských kryptografických transformácií je možné použiť ľubovoľnú monoalfabetickú kryptografickú transformáciu.
Príklad • Zašifrujte otvorený text „PLAIN TEXT“, ak je zadaný kľúč v tvare HESLO. Na šifrovanie použite Vigenerov štvorec
Otvorený text: P L A I N T E X T • Kľúč: H E S L O H E S L • Zašifrovaný text: W P S T B A I P E