Anda di halaman 1dari 10

KRIPTOGRAFI KUNCI UMUM (PUBLIC KEY CRYTOGRAPHY)

(A) Kaedah Diffie-Hellma


Sejarah Kaedah Pertukaran kunci Diffie-Hellman
Pengembangan paling mengejutkan dalam sejarah kriptografi terjadi pada 1976
apabila hitfield Diffie dan !artin Hellman menerbitkan "New Directions in Cryptography#
$ang memperkenalkan hasil penemuan mereka iaitu pertukaran kunci Diffie-Hellman% Kar$a
ini menjelaskan konsep re&olusi kriptografi kunci umum dan juga memberikan kaedah baru
untuk pertukaran kunci% Kaedah ini amat dipengaruhi oleh kar$a-kar$a 'alph !erkle dalam
bidang distribusi kunci umum% Sedangkan (ohn )ill juga turut memberi sumbangan dalam
penciptaan kaedah ini dengan men$arankan aplikasi masalah logaritma diskrit%
Pengenalan Pertukaran Kunci Diffie-Hellman
Pertukaran kunci Diffie-Hellman adalah protokol kriptografi $ang memungkinkan
kedua-dua pihak $ang bertukar informasi* +alaupun mereka tidak mengenal satu sama
lainn$a* dapat mencipta sebuah kunci rahsia bersama melalui sebuah rangkaian komunikasi
$ang tidak aman dan tidak diperca$ai sekalipun% Kunci ini kemudian dapat digunakan untuk
mengenkripsi mesej dengan menggunakan kunci cipher simetris% ,ujuan utama penggunaan
kaedah Diffie-Hellman ini adalah untuk menjana kunci rahsia $ang sama bagi kedua-dua
penghantar dan penerima dan seterusn$a menggunakann$a untuk mengenkripsikan mesej%
Proses Pertukaran Kunci Diffie-Hellman
Secara umumn$a* kaedah pertukaran kunci Diffie-Hellman boleh digambarkan melalui
skema diagram $ang berikut-
Rajah 1: Kaedah Diffie-Hellman
!enurut 'ajah 1* .lice dan /ob digunakan untuk menunjukkan pertukaran kunci
Diffie-Hellman% !atlamat proses ini adalah untuk .lice dan /ob bersetuju dengan rahsia
$ang dikongsi bersama di mana pihak ketiga* 0&e tidak dapat mengenal pasti rahsia
tersebut% 'ahsia $ang dikongsi tersebut akan digunakan oleh .lice dan /ob untuk menjana
kunci rahsia secara berasingan bagi algoritma enkripsi simetri $ang akan digunakan untuk
mengenkripsi aliran data di antara mereka%
Rajah 2: Proses Pertukaran Kunci Diffie-Hellman
/erdasarkan 'ajah 1* .lice dan /ob terlebih dahulu mengendalikan suatu proses
$ang dikenali sebagai persetujuan kunci 2ke$ agreement3* di mana kedua-dua pihak sepakat
untuk menggunakan kunci $ang dipersetujui bersama%
Dalam proses ini* kunci $ang diketahui umum adalah parameter dan parameter %
Parameter adalah nombor perdana $ang dipilih secara ra+ak manakala parameter ialah
akar primitif 2"primitive root3 daripada % Parameter dikenali sebagai "generator# dan
merupakan sebuah integer $ang kurang daripada * dengan s$arat bagi setiap nombor di
antara dan * akan +ujudn$a %
Selepas proses persetujuan kunci parameter dan * maka .lice akan memilih
sebuah nombor interger secara ra+ak sebagai nombor rahsian$a dan mengirakan
untuk memperoleh kunci umumn$a% Dengan cara $ang sama* /ob juga
memilih nombor rahsia secara ra+ak dan mengirakan dan memperoleh
kunci umumn$a%
/agi pertukaran kunci* .lice dan /ob akan bertukar kunci umum $ang diperolehi
antara satu sama lain% Seterusn$a* .lice mengira kunci rahsian$a dengan kunci umum $ang
diberikan oleh /ob iaitu manakala /ob menggunakan kunci umum .lice
untuk mengirakan kunci rahsian$a iaitu %
alaupun kedua-dua pihak mempun$ai nombor rahsia $ang berbe4a iaitu a dan b*
namun "5a+ of algebra# menentukan baha+a * dan ini menjelaskan baha+a
.lice dan /ob mempun$ai nilai kunci rahsia* $ang sama% $ang diperolehi ini adalah
kunci $ang dapat digunakan oleh .lice dan /ob untuk mengenkripsi dan mendekripsi mesej
mereka% Perlu diingati baha+a han$a nilai dan perlu dirahsiakan% ,entu sahaja
dengan menggunakan nilai dan $ang besar* maka akan memperolehi nilai kunci rahsia
$ang lebih sulit untuk dipecahkan oleh pihak ketiga%
'umusan proses pertukaran kunci Diffie-Hellman boleh dijelaskan dalam (adual 1
$ang berikut-
P!"#e# Pa!ame$e!
.lice dan /ob bersetuju pada dua kunci
nombor dan %
ialah nombor perdana $ang besar%
ialah generator* akar primitif *
kurang daripada
.lice memilih nombor rahsia* 6ombor rahsia .lice 7
/ob memilih nombor rahsia* 6ombor rahsia /ob7
.lice mengira kunci umumn$a Kunci umum .lice 7
/ob mengira kunci umumn$a Kunci umum /ob 7
.lice dan /ob bertukar kunci umum mereka
dan menggunakann$a untuk menjana kunci
rahsia $ang sama%
.lice mengetahui dan
/ob mengetahui dan
.lice mengirakan kunci rahsian$a
%
/ob mengirakan kunci rahsian$a
%
!enurut "5a+ of .lgebra#* kunci rahsia
.lice* adalah sama dengan kunci rahsia
/ob* %
Sekarang .lice dan /ob mengetahui nilai
kunci $ang sama%
8ontoh Pengiraan .lgoritma Pertukaran Kunci Diffie-Hellman
N" P!"#e# Pe%i!aa Pe!$&'a!a K&(i Diffie-Hellma
1
.lice dan /ob bersetuju menggunakan dan %
1
.lice memilih nombor rahsia*
9
/ob memilih nombor rahsia*
:
.lice mengira kunci umumn$a
;
/ob mengira kunci umumn$a
6 .lice dan /ob bertukar kunci umum mereka dan menggunakann$a untuk menjana
kunci rahsia $ang sama%
7
.lice mengirakan kunci rahsian$a %
<
/ob mengirakan kunci rahsian$a %
9
!enurut "5a+ of .lgebra#* kunci rahsia .lice* adalah sama dengan kunci rahsia
/ob* % %
.plikasi Kaedah Diffie-Hellman
Kaedah Diffie-Hellman ban$ak memainkan peranan penting dalam protokol
rangkaian laman +eb seperti Secure Socket 5a$er 2SS53* Secure Shell 2SSH3 dan Protokol
=nternet Securit$ 2=PSec3%
SS5 adalah teknologi keselamatan pia+ai $ang dibangunkan oleh Netscape pada
tahun 199: untuk menubuhkan satu rantai $ang dienkrpsi di antara pela$an +eb 2"web
server#3 dan pela$ar 2"browser#3% SS5 adalah berkaitan dengan enkripsi di mana ia
menggunakan sijil 2"certificates#3* pertukaran kunci umum dan kunci rahsia serta persetujuan
kunci Diffie-Hellman bagi membekalkan pertukaran kunci* pengesahan 2"authentication#3
dan integrit$ dengan !essage .uthentication 8ode 2!.83%
SSH adalah protokol keselamatan rangkaian $ang biasan$a untuk log masuk dalam
=nternet% Dalam SSH* dua pihak memulakan perbualan dengan berunding mengenai
parameter seperti pilihan bagi enkipsi dan penentuan nombor ra+ak% 'ahsia $ang dikongsi
bersama dikirakan dengan aplikasi kaedah Diffie-Hellman% >ungsi rahsia $ang dikongsi
bersama tersebut adalah digunakan untuk memperoleh satu kunci enkripsi bagi algortima
enkripsi simetri%
=PSec pula merupakan lanjutan daripada "=nternet Protokol# 2=P3 $ang diperkenalkan
oleh "=nternet 0ngineering ,ask >orce# 2=0,>3 bagi membantu dalam mengkonfigurasikan
saluran komunikasi antara pelbagai mesin% =PSec menggunakan kaedah Diffie-Hellman dan
kritografi simetri untuk me+ujudkan identiti* pilihan algoritma dan rahsia $ang dikongsi
bersama%
Kekuatan Kaedah Diffie-Hellman
Kelemahan Kaedah Diffie-Hellman
.lgoritma kaedah Diffie-Hellman mempun$ai satu kelemhan $ang besar dalam
bentuk Serangan "Man-In-The-Mi!e#% Dalam serangan tersebut* pihak ketiga $ang berniat
jahat iaitu 0&e* mendapatkan kunci umum .lice dan menghantarkan kunci umum sendiri
kepada /ob% .pabila /ob menghantar kunci umumn$a* 0&e mengganggu dan
menggantikan nilai dengan kunci umum sendiri dan kemudiann$a menghantar kepada .lice%
Dengan ini* .lice telah mencapai persetujuan kunci rahsia $ang sama dengan 0&e dan
bukann$a /ob% Dalam keadaan ini* 0&e dapat mendekripsikan mesej $ang dihantar oleh
.lice atau /ob dan kemudian membaca atau mengubahsuain$a sebelum mengenkripsi
semula dengan kunci $ang sesuai dan menghantar kepada pihak $ang lain%
/agi mengatasi masalah di atas* suatu proses pengesahan 2"authentication#3 amat
diperlukan bagi memastikan baha+a .lice menghantar mesej kepada /ob dan penerima
mesej mestilah /ob dan bukann$a 0&e dan di sebalikn$a% Selain itu* adalah penting untuk
membuangkan kunci selepas penggunaan agar kunci jangka penjang tidak akan
didedahkan umum dan mengakibatkan timbuln$a masalah pada masa akan datang%
.ntara kelemahan kaedah Diffie-Hellman $ang dapat dikenal pasti ialah algoritma
$ang digunakan bukan digunakan untuk mengenkripsi mesej manakala ia han$a digunakan
untuk memperolehi kunci rahsia sahaja% Dengan ini menunjukkan kekurangan dari segi
pengesahan 2"authentication#3%
(B) Al%"!i$ma Ri)e#$-*hami!-Adleme (R*A)
Sejarah .lgoritma 'S.
'S. adalah salah satu contoh kriptografi $ang menerapkan konsep kunci umum%
.lgoritma ini pertama kali dipublikasikan ditahun 1977 oleh 'on 'i&est* .di Shamir dan
5eonard .dleman dari "Massach"setts Instit"te o# Techno!ogy 2!=,3% 6ama 'S. sendiri
adalah singkatan dari nama belakang mereka bertiga 2'i&est Shamir .dleman3%
Pengenalan .lgoritma 'S.
'S. adalah salah satu teknik kriptografi $ang menggunakan algoritma asimetrik di
mana kunci untuk melakukan enkripsi berbe4a dengan kunci untuk melakukan dekripsi%
Kunci untuk melakukan enkripsi disebut sebagai kunci umum* sedangkan kunci untuk
melakukan dekripsi disebut sebagai kunci rahsia% Pihak $ang mempun$ai kunci umum dapat
melakukan enkripsi tetapi han$a pihak $ang memiliki kunci rahsia sahaja $ang boleh
melakukan dekripsi% Kunci umum boleh dimiliki oleh sebarang pihak* namun begitu kunci
rahsia han$a boleh dimiliki oleh pihak $ang tertentu sahaja% Panjang kunci dalam bit dapat
diatur* dengan semakin panjang bit maka semakin sukar untuk dipecahkan kerana sulitn$a
memfaktorkan dua bilangan $ang sangat besar tersebut* tetapi juga semakin lama pada
proses dekripsin$a%
Proses dalam .lgoritma 'S.
,erdapat tiga tahap dalam algoritma 'S. iaitu penjanaan pasangan kunci* enkripsi dan
dekripsi%
i% Penjanaan pasangan kunci
5angkah-langkah melakukan penjanaan pasangan kunci adalah seperti berikut-
1% Pilih dua nombor perdana secara ra+ak* dan * di mana panjangn$a lebih dari
1?? digit% 6ombor perdana dan ini perlu dirahsiakan%
1% Kirakan % 6ilai disebarkan umum%
9% Kirakan % Sebaik sahaja dikirakan* dan boleh
dihapuskan agar mengelakkan diketahui oleh orang lain%
:% Pilih sebuah nombor perdana untuk kunci umum* dengan s$arat
serta merupakan perdana relatif terhadap =ni bermaksud faktor pembahagi
terbesar keduan$a adalah 1* secara matematik disebut % .lgoritma
0uclid digunakan untuk mencari
;% Kirakan kunci rahsia* dengan s$arat dan sedemikian agar
% /agi mencari nilai $ang sesuai* algoritma 0@tended 0uclid
digunakan% 6ilai perlu dirahsiakan%
!elalui proses di atas hasiln$a kunci umum iaitu pasangan kunci dan kunci
rahsia iaitu
ii% 0nkripsi
5angkah-langkah melakukan enkripsi adalah seperti berikut-
1. Plainte@t din$atakan menjadi blok-blok sedemikian sehingga setiap
blok me+akili nilai di dalam selang
2harus dipenuhi s$arat baha+a nilai harus terletak dalam himpunan nilai
untuk menjamin hasil perhitungan tidak berada di luar him-punan3
2. Setiap blok dienkripsikan menjadi blok dengan rumus berikut-
iii% Dekripsi
Setiap blok cipherte$t * didekripsikan kembali menjadi blok * dengan rumus
berikut-
8ontoh Pengiraan .lgoritma 'S.
N" P!"#e# Pe%i!aa Al%"!i$ma R*A
,ahap 1- Penjanaan Pasangan Kunci
1
Pilih dua nombor perdana secara ra+ak* dan %
1
Kirakan %
9
Kirakan %


:
Pilih sebuah nombor perdana untuk kunci umum* dengan s$arat serta
merupakan perdana relatif terhadap
;
Kirakan kunci rahsia* dengan s$arat dan sedemikian agar
Dengan .lgoritma 0@tended 0uclid-
Kunci Amum 7 2 * Kunci 'ahsia 7 2
,ahap 1- 0nkripsi
1%