Upload presentasi
Presentasi sedang didownload. Silahkan tunggu
Diterbitkan olehNando Rian Telah diubah "9 tahun yang lalu
1
Kriptografi Kunci Publik (Asimetry Key) Algoritma Elgamal Materi 9
Pemrograman Jaringan Dosen: Eko Prasetyo Teknik Informatika UMG 2012
2
Pendahuluan Dibuat oleh Taher Elgamal (1985). Pertama kali dikemukakan di dalam makalah berjudul "A public key cryptosystem and a signature scheme based on discrete logarithms”
3
Nilai keamanan algoritma
Keamanan algoritma ini terletak pada sulitnya menghitung logaritma diskrit. Masalah logaritma diskrit: Jika p adalah bilangan prima dan g dan y adalah sembarang bilangan bulat. carilah x sedemikian sehingga gx y (mod p) Properti algoritma ElGamal: 1. Bilangan prima, p (tidak rahasia) 2. Bilangan acak, g ( g < p) (tidak rahasia) 3. Bilangan acak, x (x < p) (rahasia, kunci privat) 4. y = gx mod p (tidak rahasia, kunci publik) 5. m (plainteks) (rahasia) 6. a dan b (cipherteks) (tidak rahasia)
4
Algoritma Elgamal Pembangkitan Kunci Pilih sembarang bilangan prima p
( p dapat di-share di antara anggota kelompok) Pilih dua buah bilangan acak, g dan x, dengan syarat g < p dan 1 x p – 2 Hitung y = gx mod p. Hasil dari algoritma ini: Kunci publik: PU {p, g, y} Enkripsi Kunci privat: PR {p,x} Dekripsi
5
Algoritma Elgamal Algoritma Enkripsi Algoritma Dekripsi
Susun plainteks menjadi blok-blok m1, m2, …, (nilai setiap blok di dalam selang [0, p – 1]. Pilih bilangan acak k, yang dalam hal ini 1 k p – 2. Setiap blok m dienkripsi dengan rumus a = gk mod p b = ykm mod p Pasangan a dan b adalah cipherteks untuk blok pesan m. Jadi, ukuran cipherteks dua kali ukuran plainteksnya. Algoritma Dekripsi Gunakan kunci privat x untuk menghitung (ax)– 1 = ap – 1 – x mod p Hitung plainteks m dengan persamaan: m = b/ax mod p = b(ax)– 1 mod p
6
Contoh 1 Pesan yang akan dikirim secara rahasia adalah ‘KAMPUS’ menggunakan algoritma ELGAMAL Nilai p yang digunakan adalah 131 Nilai g = 3, g < p Nilai x = 5, 1 ≤ x ≤ p-2
7
Contoh algoritma ElGamal
Pembangkitan Kunci y = gx mod p = 35 mod 131 = 112 Kunci Publik: PU = {p, g, y} = {131, 3, 112} Enkripsi Kunci Privat: PR = {p, x} = {131, 5} Dekripsi Pesan: KAMPUS, nilai kode ASCII-nya Enkripsi pesan (lakukan satu persatu untuk setiap blok) Untuk m = 75 Generate k = 7, 1 ≤ k ≤ p-2 a = gk mod p = 37 mod 131 = 91 b = yk.m mod p = mod 131 = 105 Kar (m) ASCII K (acak) a = 3k mod 131 b = 112k.m mod 131 Cipher (a,b) K 75 7 91 105 (91,105) A 65 4 81 12 (81,12) M 77 5 112 (112,4) P 80 (91,112) U 85 3 27 66 (27,66) S 83 104 (81,104)
8
Contoh algoritma ElGamal
Proses Dekripsi Cipher (a,b) = (91,105) (ax)-1 = ap-1-x mod p = mod 131 = 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 = mod 131 = 75 ‘K’ Cipher (a,b) (ax)-1 = ap-1-x mod 131 m = b*(ax)-1 mod 131 Kar (91,105) 113 75 K (81,12) 60 65 A (112,4) 52 77 M (91,112) 80 P (27,66) 39 85 U (81,104) 83 S
9
Contoh 2 Pesan yang akan dikirim secara rahasia adalah ‘KAMPUS’ menggunakan algoritma ELGAMAL Nilai p yang digunakan adalah 131 Nilai g = 3, g < p Nilai x = 7, 1 ≤ x ≤ p-2
10
Tabel ASCII
11
Any Question ?
Presentasi serupa
© 2024 SlidePlayer.info Inc.
All rights reserved.