Kriptografi Kunci Publik (Asimetry Key) Algoritma Pertukaran Kunci Simetri (Diffie-Hellman) Materi 10 Pemrograman Jaringan Dosen: Eko Prasetyo Teknik Informatika UMG 2012
Latar Belakang Kegunaan: untuk berbagi kunci enkripsi simetri yang sama antara dua orang atau lebih. Keamanan algoritma ditentukan oleh sulitnya menghitung logaritma diskrit.
Parameter yang digunakan Misalkan dua orang yang berkomunikasi: Alice dan Bob. Mula-mula Alice dan Bob menyepakati bilangan prima yang besar, p dan q, sedemikian sehingga q < p. Bilangan p dan q tidak perlu rahasia. Bahkan, Alice dan Bob dapat membicarakannya melalui saluran yang tidak aman sekalipun.
Algoritma Diffie-Hellman Alice membangkitan bilangan bulat acak x yang besar dan mengirim hasil perhitungan berikut kepada Bob: A = qx mod p Bob membangkitkan bilangan bulat acak y yang besar dan mengirim hasil perhitungan berikut kepada Alice: B = qy mod p Alice menghitung K = Bx mod n Bob menghitung K’ = Ay mod n Jika perhitungan dilakukan dengan benar, maka K = K’. Baik K dan K’ sama dengan qxy mod p. Eve yang menyadap pembicaraan antara Alice dan Bob tidak dapat menghitung K. Ia hanya memiliki informasi p, q, A dan B, tetapi ia tidak mempunyai informasi nilai x dan y. Untuk mengetahui x atau y, ia perlu melakukan perhitungan logaritma diskrit, yang mana sangat sulit dikerjakan.
Contoh Alice dan Bob menyepakati p = 97 dan q = 5 (q<p) Alice memilih x = 36 dan menghitung A = qx mod p = 536 mod 97 = 50 Alice mengirimkan A kepada Bob. Bob memilih y = 58 dan menghitung B = qy mod p = 558 mod 97 = 44 Bob mengirimkan B kepada Alice. Alice menghitung kunci simetri K, K = Bx mod p = 4436 mod 97 = 75 Bob menghitung kunci simetri K, K = Ay mod n = 5058 mod 97 = 75 Jadi, Alice dan Bob sekarang sudah mempunyai kunci enkripsi simetri yang sama, yaitu K = 75.
Latihan Alice dan Bob menyepakati p = 97 dan q = 5 (q<p) Kasus 1 Jika Alice menggunakan x=50, dan Bob menggunakan y = 20, berapa kunci simetry K yang digunakan ? Kasus 2 Jika Alice menggunakan x=14, dan Bob menggunakan y = 9, berapa kunci simetry K yang digunakan ? Kasus 3 Jika Alice menggunakan x=15, dan Bob menggunakan y = 32, berapa kunci simetry K yang digunakan ?
Tugas di kelas Jika anda dan saya berencana akan menggunakan sebuah kunci simetri untuk mengenkripsi data. Tentukan r = <2 digit terakhir NOREG anda> Nilai p yang kita sepakati adalah 127, nilai q adalah r. Jika saya memilih x=21, dan anda memilih y=10 Berapa kunci simetri K yang harus kita gunakan ? Waktu 20 menit.
Any Question ?