120 likes | 460 Views
Algoritma Elgamal. Manajemen Jaringan Komputer Topik : Pengamanan Jaringan dan Informasi. Eko Prasetyo Teknik Informatika Universitas Muhammadiyah Gresik 2011. Pendahuluan.
E N D
AlgoritmaElgamal ManajemenJaringanKomputer Topik: PengamananJaringandanInformasi Eko Prasetyo TeknikInformatika UniversitasMuhammadiyah Gresik 2011
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, kc. privat) 4. y = gx mod p (tidakrahasia, kc. publik) 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
Tugas • Pesan yang akandikirimsecararahasiaadalah <NAMA LENGKAP ANDA> menggunakanalgoritma ELGAMAL • Nilai p yang digunakanadalah 131 • Nilai g = 4, g < p • Nilai x = <digit terakhirnoreganda + 1>, 1 ≤ x ≤ p-2 • Contoh: noreg 09621012, maka x = 2+1 = 3 • Gunakan k = 5 untuksetiapblokpesan. • Tugasanda: • Lakukanenkripsipadanamaanda • Lakukandekripsikembalinamaanda