Sejarah Kaedah Pertukaran kunci Diffie-Hellman Pengembangan paling mengejutkan dalam sejarah kriptografi terjadi pada 1976 apabila Whitfield Diffie dan Martin Hellman menerbitkan New Directions in Cryptography yang memperkenalkan hasil penemuan mereka iaitu pertukaran kunci Diffie-Hellman. Karya ini menjelaskan konsep revolusi kriptografi kunci umum dan juga memberikan kaedah baru untuk pertukaran kunci. Kaedah ini amat dipengaruhi oleh karya-karya Ralph Merkle dalam bidang distribusi kunci umum. Sedangkan John Gill juga turut memberi sumbangan dalam penciptaan kaedah ini dengan menyarankan aplikasi masalah logaritma diskrit.
Pengenalan Pertukaran Kunci Diffie-Hellman Pertukaran kunci Diffie-Hellman adalah protokol kriptografi yang memungkinkan kedua-dua pihak yang bertukar informasi, walaupun mereka tidak mengenal satu sama lainnya, dapat mencipta sebuah kunci rahsia bersama melalui sebuah rangkaian komunikasi yang tidak aman dan tidak dipercayai sekalipun. Kunci ini kemudian dapat digunakan untuk mengenkripsi pesan dengan menggunakan kunci cipher simetris. Tujuan utama penggunaan kaedah Diffie-Hellman ini adalah untuk menjana kunci rahsia yang sama bagi kedua-dua penghantar dan penerima dan seterusnya menggunakannya untuk menyulitkan pesan. Dengan ini, kaedah Diffie-Hellman banyak memainkan peranan penting dalam protokol rangkaian laman web seperti Secure Socket Layer(SSL), Secure Shell (SSH) dan Protokol Internet Security (IPSec).
Proses Pertukaran Kunci Diffie-Hellman Secara umumnya, kaedah pertukaran kunci Diffie-Hellman boleh digambarkan melalui skema diagram yang berikut:
Rajah 1: Kaedah Diffie-Hellman Menurut Rajah 1, Alice dan Bob digunakan untuk menunjukkan pertukaran kunci Diffie- Hellman. Matlamat proses ini adalah untuk Alice dan Bob bersetuju dengan rahsia yang dikongsi bersama di mana pihak ketiga, Eve tidak dapat mengenal pasti rahsia tersebut. Rahsia yang dikongsi tersebut akan digunakan oleh Alice dan Bob untuk menjana kunci rahsia secara berasingan bagi algoritma enkripsi simetri yang akan digunakan untuk mengenkripsi aliran data di antara mereka.
Rajah 2: Proses Pertukaran Kunci Diffie-Hellman Berdasarkan Rajah 2, Alice dan Bob terlebih dahulu mengendalikan suatu proses yang dikenali sebagai persetujuan kunci (key agreement), di mana kedua-dua pihak sepakat untuk menggunakan kunci yang dipersetujui bersama. Dalam proses ini, kunci yang diketahui umum adalah parameter p dan parameter g. Parameter p adalah nombor perdana yang dipilih secara rawak manakala parameter g ialah akar primitif (primitive root) daripada mod p. Parameter g dikenali sebagai generator dan merupakan sebuah integer yang kurang daripada p, dengan syarat bagi setiap nombor n di antara 1 dan p-1, akan wujudnya n=gkmod p. Selepas proses persetujuan kunci parameter p dan g, maka Alice akan memilih sebuah nombor interger secara rawak a<p sebagai nombor rahsianya dan mengirakan x=gamodp untuk memperoleh kunci umumnya. Dengan cara yang sama, Bob juga memilih nombor rahsia b<p secara rawak dan mengirakan y=gbmodp dan memperoleh kunci umumnya. Bagi pertukaran kunci, Alice dan Bob akan bertukar kunci umum yang diperolehi antara satu sama lain. Seterusnya, Alice mengira kunci rahsianya dengan kunci umum yang diberikan oleh Bob iaitu ka=yamodp manakala Bob menggunakan kunci umum Alice untuk mengirakan kunci rahsianya iaitu kb=xbmod p. Walaupun kedua-dua pihak mempunyai nombor rahsia yang berbeza iaitu a dan b, namun Law of algebra menentukan bahawa ka=kb=k, dan ini menjelaskan bahawa Alice dan Bob mempunyai nilai kunci rahsia, k yang sama. Bangkitkan x Hitung X = g x mod n Bangkitkan y Hitung Y = g y mod n g, n Hitung K = Y x mod n Hitung K = X y mod n Alice Bob Alice dan Bob memperolehi kunci rahsia mereka daripada (yamodp) dan (xbmodp) yang memiliki nilai yang sama berdasarkan sifat assosiatif perpangkatan, iaitu Kunci rahsia, k yang diperolehi ini adalah kunci yang dapat digunakan oleh Alice dan Bob untuk mengenkripsi dan mendekripsi pesan mereka. Perlu diingati bahawa hanya nilai a, b, (yamodp) dan (xamodp) yang perlu dirahsiakan. Tentu sahaja dengan menggunakan nilai a, b dan p yang besar, maka akan memperolehi nilai kunci rahsia yang lebih sulit untuk dipecahkan oleh pihak ketiga. Ringkasan proses pertukaran kunci Diffie-Hellman boleh dijelaskan dalam Jadual 1 yang berikut: Proses Parameter Alice dan Bob bersetuju pada dua kunci nombor p dan g. p ialah nombor perdana yang besar. g ialah generator, akar primitif mod p, kurang daripada p Alice memilih nombor rahsia, a Nombor rahsia Alice = a Bob memilih nombor rahsia, b Nombor rahsia Bob=b Alice mengira kunci umumnya x=gamodp Kunci umum Alice = x Bob mengira kunci umumnya y=gbmodp Kunci umum Bob = y Alice dan Bob bertukar kunci umum mereka dan menggunakannya untuk menjana kunci rahsia yang sama. Alice mengetahui p, g, a, x dan y Bob mengetahui p, g, b, x dan y Alice mengirakan kunci rahsianya k=yamodp Ka=yamodp Bob mengirakan kunci rahsianya k=xbmodp Ka=xbmodp Menurut Law of Algebra, kunci rahsia Alice, ka adalah sama dengan kunci rahsia Bob, kb. Ka=kb=k Sekarang Alice dan Bob mengetahui nilai kunci k yang sama.
Pengiraan Pertukaran Kunci Diffie-Hellman Alice dan Bob bersetuju menggunakan p=71 dan g=7. Alice memilih nombor rahsia a=5 manakala Bob memilih nombor rahsia b=12. Alice mengira kunci umumnya x=gamodp