Simulator Algoritma Diffie-Hellman
Basic Diffie-Hellman
Introduksi
Misalkan Alice dan Bob hendak berkomunikasi satu sama lain melalui Internet. Komunikasi mereka akan dienkripsi menggunakan sebuah algoritma enkripsi simetris (semisal AES, Blowfish, atau GOST Magma). Maka, Alice dan Bob harus mempertukarkan kunci simetris tersebut secara aman.
Untuk mempertukarkan kunci simetris tersebut, mereka menggunakan algoritma pertukaran kunci Diffie-Hellman. Algoritma ini membangkitkan kunci secara acak dan menggunakan kunci ephemereal, yakni kunci sementara yang digunakan hanya satu kali.
Langkah-langkah algoritma Diffie-Hellman yakni:
1. Alice dan Bob memilih kunci publik yang terdiri dari modulus p dan base g. Adapun p berupa bilangan prima dan g berupa bilangan bulat bukan nol yang lebih kecil dari p.
2. Alice memilih kunci privat a, lalu menghitung A = g^a mod p. Kemudian Alice mengirim A sebagai kunci ephemereal-nya kepada Bob.
3. Bob memilih kunci privat b, lalu menghitung B = g^b mod p. Kemudian Bob mengirim B sebagai kunci ephemereal-nya kepada Alice.
4. Alice menghitung secret s = B^a mod p.
5. Bob menghitung secret s = A^b mod p.
6. Alice dan Bob kini mengetahui nilai s yang sama. Orang lain tidak dapat mengetahui nilai s tanpa terlebih dahulu mengetahui nilai a atau b.
Sekarang, Alice dan Bob dapat menggunakan s sebagai kunci algoritma enkripsi simetris untuk mengamankan komunikasi mereka selanjutnya.