210 likes | 615 Views
INFORMACINĖ SAUGA IV. KRIPTOGRAFIJA. KTU Kompiuterių katedra Doc. A. Venčkauskas algvenck @ifko.ktu.lt www.ifko.ktu.lt/~algvenck i s0 3.
E N D
INFORMACINĖ SAUGAIV. KRIPTOGRAFIJA KTU Kompiuterių katedra Doc. A. Venčkauskas algvenck@ifko.ktu.ltwww.ifko.ktu.lt/~algvenck is03
Kriptografija — tai informacijos transliavimas į koduotą formą, naudojant kodavimo raktą. Ji dažniausiai naudojama informacijos privatumui apsaugoti. Stiprioje kriptosistemoje pradinę informaciją galima sužinoti tik naudojant. atkodavimo raktą.
Trys pagrindiniai kriptografijos metodai: • simetrinis (bendrojo rakto); • asimetrinis (viešojo rakto); • el1ektroninis vokas (alternatyva dviems pirmiems metodams).
Kodavimo sistemas sudaro trys pagrindiniai komponentai: • Duomenys, kurie turi būti užkoduoti ir iškoduoti; • Kodavimo ir iškodavimo algoritmai; • Raktai ir sertifikatai.
Kodavimo raktų gavimo bei apsikeitimo mechanizmai • sudėtinga hierarchinė sertifikavimo sistema
Simetriniai algoritmai • DES (40 bitų, ir 56 bitai ). • 3DES (40 bitų ir 56 bitai). • IDEA (International Data Encryption Algorithm, 128 bitai). • Skipjack (80 bitų) , RC2 (Rivest Cipher, kintamas) ,RC4 ...
Asimetriniai algoritmai • Diffte-Hellman (kintamo kodo ilgio). • RSA (Rivest-Shamir-Adleman, kintamo kodo ilgio). • Elipsinės kreivės (kintamo kodo ilgio).
RSA algoritmas • Imami 2 pirminiai skaičiai p ir q (paprastai didesni už 10100). • Apskaičiuojamos sandaugos s = p * q ir t = (p - 1) * (q - 1). • Randamas skaičius a, neturintis bendro vardiklio su t. • Randamas skaičius b toks, kad b * a = 1 pagal modulį t.
RSA algoritmas (2) • Išeities tekstas T suskaidomas blokais taip, kad 0 < T < s. Tai galima padaryti grupuojant tekstą blokais po k bitų, kur k — didžiausias sveikas skaičius, kuriam 2k<s. • Informacijos užkodavimui reikia apskaičiuoti C = T * b pagal modulį s, o atkodavimui - T = C * a pagal modulį s. Tokiu būdu informacijos užšifravimui reikia žinoti skaičių porą (b, s), o iššifravimui — skaičių porą (a, s). Pirmoji pora yra viešasis raktas, antroji pora - asmeninis raktas.
RSA algoritmo darbo pavyzdys • Tegul p = 3, q = 11. Dalybos moduliu operaciją žymėsime % ženklu. Raktų porą gaunama taip: • s = 3 *11 = 33; • t = (3 – 1) * (11 – 1) = 20. • Randame skaičių a, neturintį bendro vardiklio su 20. Tai bus a = 7.
RSA algoritmo darbo pavyzdys (2) • Apskaičiuojame skaičių b tokį, kad (b * 7) % = 1. Tai bus b = 3. • Taigi raktų pora: (3, 33) – viešasis raktas; (7, 33) – asmeninis raktas. • Tarkime, mums reikia užšifruoti keturioliktą abėcėlės raidę, kurios kodas 14.
RSA algoritmo darbo pavyzdys(užšifravimas) Tuomet užšifravimas vyksta taip: • Pakeliame laipsniu 3 skaičių 14: 143 = 2744; • Daliname rezultatą moduliu 33: 2744 % 33 = 5; • Taip mūsų keturioliktoji abėcėlės raidė tampa penktąja.
RSA algoritmo darbo pavyzdys(iššifravimas) Iššifravimas vyksta taip: • Raidei atstovaujantį skaičių 5 pakeliame laipsniu 7: 57 = 78125; • Daliname rezultatą moduliu 33: 78125 % 33 = 14; • Taip penktoji abėcėlės raidė tampa keturioliktąja.
Santraukos (hash) formavimo funkcijos • MD2 (Message Digest) (128 bitų santrauka) • MD4 (128 bitų santrauka). • MD5 (128 bitų santrauka). • SHA (Secure Hash Algorithm, 160 bitų santrauka).
Kodavimo produktai ir protokolai • SSL • SET • SSH • PCT • SKIP • PGP