190 likes | 368 Views
Šifrovanie ( cryptography ). Kybernetika a Manažment KKUI TU Košice Marek Duľa, Ing. Cie le prednášky. Čo je šifrovanie? Rozdelenie Príklad. Utajenie informácie, znečitateľnenie dokumentu Nie je to kódovanie ! Pri dešifrovaní musíme poznať kľúč. Whitfield Diffie a Martin Hellman ,
E N D
Šifrovanie (cryptography) Kybernetika a Manažment KKUI TU Košice Marek Duľa, Ing.
Ciele prednášky • Čo je šifrovanie? • Rozdelenie • Príklad
Utajenie informácie, znečitateľnenie dokumentu • Nie je to kódovanie ! • Pri dešifrovaní musíme poznať kľúč ... Whitfield Diffie a Martin Hellman, vynálezcovia šifrovania na základe veréjneho kľúča
Hlavné rozdelenie šifrovania • Symetrické • Asymetrické
Symetrické Symetrické • Klasika v kryptografií • Použitie jediného kľúča (na šifrovanie aj dešifrovanie) • Niečo ako trezor (každý, kto má kľúč ho vie otvoriť)
Symetrické • Posúvna šifra (shift cipher) – najjednoduchšia šifra • - každé písmenko „zväčšíme o 3“, teda namiesto A bude D, namiesto B-E ... • Kľúčom teda je len číslo – veľkosť posunu • Jednoduchá šifra – jednoduché rozbitie šifry, nevýhoda, bezpečnosť
Symetrické • Substitučná šifra – rozhádzanie písmen, napr. A-R, B-D, C-K, ... • Posúvna je podmnožinou • Kľúčom je celé usporiadanie, permutácia ... … usporiadaná množina 26 písmen, u nás by to začínalo [R,D,K,...]
Symetrické • Takže existuje 26! Kľúčov • Je to dosť, ale na šifru netreba útočiť stále hrubou silou ... Napr. ak poznáme 1.slovo textu AHOJ, potom už poznáme zámenu 4 písmen a môžeme začať postupne hádať • + v každom jazyku je tabuľka pravdepodobnosti výskytu daného písmena v texte ... V angličtine je to písmeno E (p=0,127), ďalej dvojice TH, HE, IN ...
Asymetrické • Dvojica kľúčov (key pair), šifrovací a dešifrovací – matematicky zviazané • Dešifrovací kľúč – súkromný • Šifrovací kľúč – verejný (voľne k dispozícií) • Odstránenie zásadného nedostatku symetrického šifr. – nie je potrebné osobné stretnutie a odovzdanie kľúča
Asymetrické • Peter vygeneruje dvojicu kľúčov, verejný kľúč zverejní, súkromný si nechá pre seba • Monika si skopíruje Petrov verejný kľúč • Monika zašifruje správu Petrovým verejným kľúčom • Monika pošle zašifrovanú správu Petrovi • Peter prijatú správu dešifruje svojím súkromným kľúčom
Príklad – algoritmus RSA • Publikovaný v 1977 - Ron Rivest, Adi Shamir a Leonard Adleman ; písmená RSA sú iniciály ich priezvisiek. • Viac na http://en.wikipedia.org/wiki/RSA
Príklad – algoritmus RSA Ako to funguje? ... Ide o operácie s obrovskými prvočíslami (rozumej napr. 100-miestnymi) v zvyškovom priestore prirodzených čísel Uvediem jednoduchý príklad, kde nebudem pracovať s obrovskými prvočíslami, ale iba s malými ...
Príklad – algoritmus RSA • Peter generuje svoj kľúč • Vygeneruje ľubovoľlné dve veľké prvočísla P a Q. Nech zvolí napr. P=101 a Q=113. • Vypočíta čísla N=PxQ a F=(P-1)x(Q-1) teda N=11413 a F=11200
Príklad – algoritmus RSA 3. Zvolí náhodné číslo B (1<B<F), nesúdeliteľlé s číslom F (ich najväčší spol. deliteľ je 1). F je deliteľné 2,5,7 , ktorými nesmie byť deliteľné číslo B. Vyberme B=3533
Príklad – algoritmus RSA 4. Vypočíta (inverzný prvok k prvku B v zvyškovej triede ) Musí platiť (AxB)modF=1, teda (Ax3533)mod11200=1. Hľádáme taký násobok čísla 3533, ktorý je o 1 väčší ako násobok čísla 11200. Výsledkom je číslo A=6597 5. Publikuje čísla N a B ako verejný kľúč. Čiže zverejní N=11413 a B=3533. Číslo A si ponechá ako svoj súkromný kľúč.
Príklad – algoritmus RSA • Monika zašifruje správu Textovú, alebo inú správu treba najskôr previesť do číselného tvaru. Monika ma Text X=9726. Celé šifrovanie spočíva vo výpočte , teda Výsledok je zašifrovaná správa Y , u nás Y=5716. Túto správu pošle Monika Petrovi.
Príklad – algoritmus RSA • Peter dešifruje správu Dostal Y=5761. Použije svoj súkromný kľúč A=6597 a vykoná dešifrovanie (rovnakým spôsobom ako Monika šifrovala, iba s iným exponentom): Vidno tu hlavný princíp, čísla A a B sú Zviazané. Ak ľub. Číslo X umocníme číslom B, získame Y, ktoré keď umocníme číslom A, získame pôvodné číslo X. (všetko v zvyškovom priestore). Čísla A a B sú inverzné v zvyškovom priestore. Ak by niekto poznal F, vedel by z B vypočítať A a naopak. V reáli to prakticky nie je možné v reálnom čase, lebo pracujeme s veľkými číslami.