130 likes | 377 Views
Kriptografi Kunci Publik ( Asimetry Key) Algoritma Elgamal Materi 9. Pemrograman Jaringan. Dosen : Eko Prasetyo Teknik Informatika UMG 2012. Pendahuluan.
E N D
KriptografiKunciPublik (Asimetry Key)AlgoritmaElgamalMateri 9 PemrogramanJaringan Dosen: EkoPrasetyo TeknikInformatika UMG 2012
Pendahuluan • DibuatolehTaherElgamal (1985). Pertama kali dikemukakandidalammakalahberjudul"A public key cryptosystem and a signature scheme based on discrete logarithms”
Nilaikeamananalgoritma • Keamananalgoritmainiterletakpadasulitnyamenghitunglogaritmadiskrit. • Masalahlogaritmadiskrit: Jikapadalahbilangan prima dangdanyadalahsembarangbilanganbulat. carilahxsedemikiansehingga gxy (mod p) PropertialgoritmaElGamal: 1. Bilangan prima, p (tidakrahasia) 2. Bilanganacak, g ( g < p) (tidakrahasia) 3. Bilanganacak, x (x < p) (rahasia, kunciprivat) 4. y = gx mod p (tidakrahasia, kuncipublik) 5. m (plainteks) (rahasia) 6. adanb (cipherteks) (tidakrahasia)
AlgoritmaElgamal • PembangkitanKunci • Pilihsembarangbilangan prima p ( pdapatdi-sharediantaraanggotakelompok) • Pilihduabuahbilanganacak, gdanx, dengansyaratg < pdan 1 xp – 2 • Hitungy = gx mod p. Hasildarialgoritmaini: Kuncipublik: PU {p, g, y} Enkripsi Kunciprivat: PR {p,x} Dekripsi
AlgoritmaElgamal AlgoritmaEnkripsi • Susunplainteksmenjadiblok-blokm1, m2, …, (nilaisetiapblokdidalamselang [0, p – 1]. • Pilihbilanganacakk, yang dalamhalini 1 kp – 2. • Setiapblokm dienkripsidenganrumus a = gk mod p b = ykm mod p Pasanganadanbadalahcipherteksuntukblokpesanm. Jadi, ukurancipherteksdua kali ukuranplainteksnya. AlgoritmaDekripsi • Gunakankunciprivatx untukmenghitung(ax)– 1 = ap – 1 – x mod p • Hitungplainteksmdenganpersamaan: m = b/ax mod p = b(ax)– 1 mod p
Contoh 1 • Pesan yang akandikirimsecararahasiaadalah ‘KAMPUS’ menggunakanalgoritma ELGAMAL • Nilai p yang digunakanadalah 131 • Nilai g = 3, g < p • Nilai x = 5, 1 ≤ x ≤ p-2
ContohalgoritmaElGamal PembangkitanKunci • y = gx mod p = 35 mod 131 = 112 • KunciPublik: PU = {p, g, y} = {131, 3, 112} Enkripsi • KunciPrivat: PR = {p, x} = {131, 5} Dekripsi Pesan: KAMPUS, nilaikode ASCII-nya75 65 77 80 85 83 Enkripsipesan (lakukansatupersatuuntuksetiapblok) • Untukm = 75 • Generate k = 7, 1 ≤ k ≤ p-2 • a = gk mod p = 37 mod 131 = 91 • b = yk.m mod p = 1127.75 mod 131 = 105
ContohalgoritmaElGamal ProsesDekripsi • Cipher (a,b) = (91,105) • (ax)-1 = ap-1-x mod p • = 91131-1-5 mod 131 = 91125 mod 131 • = (915 mod 131)25 mod 131 • = 8025 mod 131 • = (805 mod 131)5 mod 131 • = 605 mod 131 = 113 • m = b * (ax)-1 mod p • = 105 * 113 mod 131 = 11865 mod 131 = 75 ‘K’
Contoh 2 • Pesan yang akandikirimsecararahasiaadalah ‘KAMPUS’ menggunakanalgoritma ELGAMAL • Nilai p yang digunakanadalah 131 • Nilai g = 3, g < p • Nilai x = 7, 1 ≤ x ≤ p-2