12
BAB III KUNCI PUBLIK Kriptografi dengan metode kunci publik atau asimetri merupakan perkembangan ilmu kriptografi yang sangat besar dalam sejarah kriptografi itu sendiri. Mekanisme kriptografi dengan model konvensional lebih didasarkan pada teknik substitusi dan permutasi dengan kunci yang sama. Hal ini sangat memungkinkan bagi cryptoanalyst untuk dengan mudah memecahkan algoritma konvensional. Metode enkripsi kunci publik menawarkan keamanan yang lebih tinggi dan lebih kompleks daripada metode konvensional. Metode kunci publik tidak hanya berdasar pada subtitusi dan permutasi saja, tetapi juga perhitungan matematik. Yang lebih penting lagi, metode kunci publik menggunakan dua buah kunci yang berbeda. Dengan penggunaan dua kunci, kerahasiaan, distribusi kunci dan otentifikasi semakin dapat ditingkatkan keamanannya. Namun, pada dasarnya kita tidak dapat mengatakan bahwa metode kunci publik lebih aman daripada metode konvensional. Keamanan, selain ditunjang oleh algoritma yang dipakai untuk enkripsi,  ditentukan juga oleh panjangnya kunci dan komputasinya. Hanya saja metode kunci publik lebih memungkinkan untuk menggunakan kunci yang lebih bervariatif. 3.1. Prinsip Kerja

BAB III KUNCI PUBLIK - behard.files.wordpress.com · Prinsip kerja dari metode ini juga dapat dijelaskan melalui rumus umum seperti di bawah ini. •User A ingin mengirim pesan X

Embed Size (px)

Citation preview

Page 1: BAB III KUNCI PUBLIK - behard.files.wordpress.com · Prinsip kerja dari metode ini juga dapat dijelaskan melalui rumus umum seperti di bawah ini. •User A ingin mengirim pesan X

BAB III

KUNCI PUBLIK

Kriptografi dengan metode kunci publik atau asimetri merupakan perkembangan

ilmu  kriptografi   yang   sangat   besar   dalam   sejarah  kriptografi   itu   sendiri.  Mekanisme

kriptografi   dengan   model   konvensional   lebih   didasarkan   pada   teknik   substitusi   dan

permutasi  dengan kunci yang sama. Hal   ini  sangat  memungkinkan bagi  cryptoanalyst

untuk dengan mudah memecahkan algoritma konvensional. 

Metode enkripsi kunci publik menawarkan keamanan yang lebih tinggi dan lebih

kompleks daripada metode konvensional. Metode kunci publik tidak hanya berdasar pada

subtitusi dan permutasi saja, tetapi juga perhitungan matematik. Yang lebih penting lagi,

metode kunci publik menggunakan dua buah kunci yang berbeda. Dengan penggunaan

dua   kunci,   kerahasiaan,   distribusi   kunci   dan   otentifikasi   semakin   dapat   ditingkatkan

keamanannya. Namun, pada dasarnya kita tidak dapat mengatakan bahwa metode kunci

publik   lebih   aman   daripada   metode   konvensional.   Keamanan,   selain   ditunjang   oleh

algoritma  yang   dipakai   untuk   enkripsi,     ditentukan   juga   oleh  panjangnya  kunci   dan

komputasinya.   Hanya   saja   metode   kunci   publik   lebih   memungkinkan   untuk

menggunakan kunci yang lebih bervariatif.

3.1. Prinsip Kerja

Page 2: BAB III KUNCI PUBLIK - behard.files.wordpress.com · Prinsip kerja dari metode ini juga dapat dijelaskan melalui rumus umum seperti di bawah ini. •User A ingin mengirim pesan X

Metode   enkripsi   kunci   publik   membutuhkan   dua   buah   kunci   di   dalam

algoritmanya,   yaitu   kunci   publik   dan   kunci   pribadi.   Kunci   publik   digunakan   untuk

mengenkripsi  plaintext  menjadi  ciphertext  dan  kunci   ini   tidak   terlalu  bersifat   rahasia

sehingga dapat diketahui oleh banyak orang. Kunci pribadi digunakan untuk mendekripsi

ciphertext menjadi plaintext dan kunci ini bersifat rahasia sehingga hanya user saja yang

boleh mengetahui kunci ini. Secara umum, prinsip kerja dari metode kunci publik dapat

dijelaskan sebagai berikut :

1. Setiap   user   masing­masing   membuat   sepasang   kunci   untuk   pesan   yang   akan

diterimanya, yaitu kunci publik dan kunci pribadi.

2. Setiap user mengumumkan kunci  publiknya masing­masing sehingga user   lain

yang akan mengirim pesan kepada user   tersebut  dapat  mengenkripsi  pesannya

dengan menggunakan kunci publik dari user yang akan dikirimi.

3. Jika A ingin mengirim pesan kepada user B, maka user A harus menggunakan

kunci publik yang telah diumumkan oleh B untuk mengenkripsi pesan yang akan

dikirimkan kepada B.

4. Ketika B menerima pesan yang berupa ciphertext dari A, maka ia mendekripsinya

dengan   kunci   pribadi   yang   dimilikinya.   Tidak   ada   user   lain   yang   dapat

mendekripsi ciphertext tersebut karena hanya B yang tahu kunci pribadinya.

Page 3: BAB III KUNCI PUBLIK - behard.files.wordpress.com · Prinsip kerja dari metode ini juga dapat dijelaskan melalui rumus umum seperti di bawah ini. •User A ingin mengirim pesan X

Dengan   pendekatan   model   semacam   ini,   setiap   user   dapat   mengetahui   kunci

publik dari masing­masing user lain, tetapi tidak dapat mengetahui kunci pribadi yang

dimiliki  user lain. Selama user dapat menjaga kunci pribadinya masing­masing, dapat

dikatakan bahwa komunikasi pesan masih aman. Setiap saat masing­masing user dapat

mengubah kunci pribadi dan kunci publiknya masing­masing dan mengumumkan kunci

publiknya kembali.  Prinsip kerja dari  metode ini  juga dapat dijelaskan melalui  rumus

umum seperti di bawah ini.

• User A ingin mengirim pesan X = [X1,X2,…,XM] dimana M adalah jumlah huruf

alfabet pesan.

• User B membuat dua buah kunci KUb sebagai kunci publik dan KRb sebagai kunci

pribadi dan kemudian memberikan kunci publik tersebut kepada user A.

• Dengan pesan X dan kunci publik KUb, A membentuk ciphertext Y = [Y1,Y2,…,

YN] dengan rumus sebagai berikut :

Y = EKUb(X)

Page 4: BAB III KUNCI PUBLIK - behard.files.wordpress.com · Prinsip kerja dari metode ini juga dapat dijelaskan melalui rumus umum seperti di bawah ini. •User A ingin mengirim pesan X

• User   B   menerima   ciphertext   Y   dan   mendekripsi   ciphertext   tersebut   dengan

menggunakan kunci pribadi KRb.

X = DKRb(Y)

• Jika ada pihak ketiga yang mengetahui Y dan KUb, tetapi tidak mengetahui KRb

atau   X,   maka   dia   harus   membuat   estimasi   untuk   KRb  dan   X   agar   dapat

memecahkan ciphertext tersebut menjadi plaintext.

Penggunaan metode kunci  publik   ini   sangat   luas dan dapat  diimplementasikan ke

dalam berbagai macam aplikasi. Tetapi, secara umum penggunaan metode kunci publik

ini dapat dikategorikan menjadi 3 hal, yaitu :

Page 5: BAB III KUNCI PUBLIK - behard.files.wordpress.com · Prinsip kerja dari metode ini juga dapat dijelaskan melalui rumus umum seperti di bawah ini. •User A ingin mengirim pesan X

1. Enkripsi/dekripsi   :  digunakan untuk aplikasi  yang membutuhkan fungsi

enkripsi atau dekripsi.

2. Tanda   tangan   digital   :   digunakan   untuk   aplikasi   yang   membutuhkan

otentifikasi data, sehingga dapat menjaga integritas data sekaligus tanpa

penolakan.

3. Pertukaran kunci : digunakan untuk aplikasi yang memerlukan pertukaran

kunci yang bersifat rahasia.

Beberapa algoritma metode kunci publik dapat diimplementasikan pada ketiga kategori

diatas, tetapi ada beberapa pula yang bersifat khusus untuk kategori tertentu, misalnya

algoritma RSA, LUC dapat digunakan untuk ketiga kategori tersebut, DSS hanya dapat

digunakan pada tanda  tangan digital  dan Diffie­Hellman hanya dapat digunakan pada

kategori pertukaran kunci.

Pada   dasarnya,   ada   beberapa   syarat   yang   hahrus   dipenuhi   di   dalam   metode

enkripsi kunci publik ini :

1. Mudah   bagi   user   untuk   membentuk   sepasang   kunci   (kunci   publik   dan   kunci

pribadi)

2. Mudah bagi user lain untuk mengetahui kunci publik milik kita dan kemudian

mengenkripsi pesan yang akan dikirimkan kepada kita dengan kunci tersebut.

3. Mudah   bagi   penerima   pesan   untuk   mendekripsi   pesan   ciphertext   yang   telah

diterima dengan kunci pribadi yang dimilikinya.

4. Tidak   mudah   bagi   musuh   untuk   mengetahui   kunci   publik   untuk   menentukan

kunci pribadi yang dimiliki oleh user lain.

3.2. Algoritma RSA

Page 6: BAB III KUNCI PUBLIK - behard.files.wordpress.com · Prinsip kerja dari metode ini juga dapat dijelaskan melalui rumus umum seperti di bawah ini. •User A ingin mengirim pesan X

Algoritma  ini  dikembangkan oleh Ron Rivest,  Adi  Shamir,  dan Len Adleman

pada tahun 1977. Algoritma ini sekaligus menjawab tantangan dari sebuah paper yang

dibuat oleh Diffie dan Hellman tentang pendekatan baru mengenai algoritma kriptografi

yang dapat memenuhi kebutuhan untuk metode kunci publik. Algoritma Rivest­Shamir­

Adleman (RSA) ini adalah algoritma metode kunci publik yang paling banyak dipakai

sampai saat ini.

RSA merupakan algoritma yang melibatkan ekspresi dengan fungsi eksponensial.

Plaintext dienkripsi dalam blok­blok, dimana setiap blok tersebut mempunyai nilai biner

yang kurang dari angka tertentu (n). Proses enkripsi dan dekripsi untuk plaintext blok M

dan ciphertext blok C dapat digambarkan sebagai berikut :

C = Me mod n

M = Cd mod n = (Me)d mod n = Med mod n

Kedua belah pihak  (pengirim dan penerima)  harus  mengetahui  nilai  dari  n.  Pengirim

mengetahui nilai e dan hanya penerima yang tahu nilai d. Jadi, dapat disimpulkan bahwa

kunci publik dari algoritma ini adalah KU = {e,n} dan kunci pribadinya adalah KR =

{d,n}.   Untuk penentuan kunci   ini   juga tidaklah bebas,  harus melalui  rumus tertentu.

Secara lengkap, langkah­langkah yang harus dilakukan di dalam algoritma RSA adalah

sebagai berikut :

1. Pilih 2 bilangan prima p dan q.

2. Cari n = pq

3. Hitung  ø(n)=(p­1)(q­1)

Page 7: BAB III KUNCI PUBLIK - behard.files.wordpress.com · Prinsip kerja dari metode ini juga dapat dijelaskan melalui rumus umum seperti di bawah ini. •User A ingin mengirim pesan X

4. Pilih e yang relatif prima terhadap ø(n) dan kurang dari ø(n)

5. Tentukan d dimana ed = 1 mod ø(n) dan d < ø(n)

6. Didapat kunci publik {e,n} dan kunci pribadi {d,n}.

7. Bilangan p dan q  juga harus dirahasiakan sehingga kunci pribadi dapat kita tulis

sebagai {d,p,q}.

8. Dengan   kedua   kunci   tersebut,   user   sudah   dapat   melakukan   enkripsi   ataupun

dekripsi dengan rumus yang sudah ditulis sebelumnya.

Untuk dapat mengetahui dengan lebih jelas prinsip kerja algoritma RSA ini, kita terapkan

langkah­langkah tersebut di dalam contoh berikut.

• Penentuan kunci publik dan kunci pribadi :

1. Pilih 2 bilangan prima p dan q, misalnya 7 dan 17

2. Cari n = pq = 7 x 17 = 119

3. Hitung  ø(n)=(p­1)(q­1) = (7­1)(17­1) = 96

4. Pilih e yang relatif prima terhadap ø(n) = 96 dan kurang dari ø(n), dalam

hal ini e = 5

5. Tentukan d dimana ed = 1 mod ø(n) dan d < ø(n), berarti 5 x d = 1 mod

96, d = 77 karena 5 x 77 = 4 x 96 + 1

6. Didapat kunci publik {5,119 } dan kunci pribadi {77,119 }

• Jika kita menggunakan kunci tersebut untuk mengenkripsi pesan M = 19, maka

C = Me mod n = 195 mod 119 = 66

Jadi, ciphertext yang dihasilkan oleh pesan tersebut adalah 66

• Jika  kita   ingin  mendekripsi   ciphertext   tersebut,   kita  masukkan   rumus  dengan

kunci pribadi :

Page 8: BAB III KUNCI PUBLIK - behard.files.wordpress.com · Prinsip kerja dari metode ini juga dapat dijelaskan melalui rumus umum seperti di bawah ini. •User A ingin mengirim pesan X

M = Cd mod n = 6677 mod 119 = 19

Dalam   memecahkan   algoritma   RSA   ini,   seorang   cryptoanalyst   dapat   melakukan

pendekatan sebagai berikut :

• Brute force : mencoba semua kemungkinan kunci pribadi

• Mencoba   mencari   faktor  p  dan  q,   sehingga   dapat   dihitung  ø(n).   Dengan

mengetahui ø(n), maka dapat ditentukan faktor d. 

• Menentukan ø(n) secara langsung tanpa menentukan p dan q. Hal ini juga dapat

menemukan hasil perhitungan dari faktor d.

• Menentukan d secara langsung, tanpa menentukan ø(n).

3.3. Manajemen Kunci

Permasalahan   yang   muncul   dari   kriptografi   ini   adalah   bagaimana

mendistribusikan kunci yang digunakan di dalam algoritma kriptografi tersebut. Dalam

hal ini, kita akan mempelajari bagaimana harus mendistribusikan kunci publik yang akan

digunakan untuk algoritma kriptografi dengan metode kunci publik. Ada beberapa teknik

yang dapat dilakukan di dalam distribusi kunci, tetapi hal tersebut dapat dikategorikan

menjadi 4 hal berikut :

1. Public announcement

2. Publicly available directory

3. Public key authority

4. Publik key certificates

Page 9: BAB III KUNCI PUBLIK - behard.files.wordpress.com · Prinsip kerja dari metode ini juga dapat dijelaskan melalui rumus umum seperti di bawah ini. •User A ingin mengirim pesan X

3.3.1. Public Announcement

Kunci publik dapat didistribusikan secara umum, karena realitasnya, kunci publik

adalah kunci umum yang digunakan oleh pengirim pesan untuk mengenkripsi pesan yang

akan dikirimkan kepada kita. Kelemahan dari metode ini adalah bahwa siapapun dapat

mengirimkan   kunci   publik.   Hal   ini   membawa   konsekwensi   adanya   user   lain   yang

berpura­pura mengirimkan kunci publik atas nama kita.

3.3.2. Publicly Available Directory

Keamanan   yang   lebih   tinggi   dapat   diperoleh   dengan   menggunakan   sebuah

direktori dinamis yang berisi kunci publik. Pengorganisasian kunci publik dapat menjadi

tanggung jawab dari organisasi tertentu yang dipercaya. Syarat yang harus dipenuhi :

• Organisasi mengatur direktori penyimpanan kunci publik dengan nama dan kunci

publik yang dimiliki oleh user yang bersangkutan.

• Setiap user harus regristrasi terlebih dahulu, sehingga pengaturan direktori kunci

publik dapat dilakukan dengan baik.

• Dengan   pengaturan   dan   regristrasi   tersebut,   setiap   user   masih   tetap   dapat

mengubah kunci publik yang dimilikinya dengan bebas.

Page 10: BAB III KUNCI PUBLIK - behard.files.wordpress.com · Prinsip kerja dari metode ini juga dapat dijelaskan melalui rumus umum seperti di bawah ini. •User A ingin mengirim pesan X

• Secara   periodik,   organisasi   yang   mengatur   direktori   kunci   publik   dapat

mengumumkan direktori tersebut kepada user.

• User   yang   teregristrasi   harus   dapat   mengakses   direktori   tersebut   secara

elektronis/melalui komputer.

3.3.3. Public Key Authority

Model lain yang lebih aman adalah dengan otentifikasi yang lebih bisa dipercaya

agar user dapat memasuki direktori kunci publik. Pada dasarnya, prinsip kerja metode ini

sama dengan prinsip kerja model sebelumnya yang telah kita pelajari, namun untuk dapat

mengakses direktori harus diotentifikasi terlebih dahulu.

Page 11: BAB III KUNCI PUBLIK - behard.files.wordpress.com · Prinsip kerja dari metode ini juga dapat dijelaskan melalui rumus umum seperti di bawah ini. •User A ingin mengirim pesan X

3.3.4. Public Key Certificates

Pendekatan   yang   lain   yang   bisa   digunakan   dalam   manajemen   kunci   adalah

sertifikasi kunci publik. Pendekatan ini pertama kali dikenalkan oleh Kohnfelder. Prinsip

kerja metode ini adalah dengan pembuatan sertifikat  yang digunakan oleh user untuk

dapat mempertukarkan kunci.

Page 12: BAB III KUNCI PUBLIK - behard.files.wordpress.com · Prinsip kerja dari metode ini juga dapat dijelaskan melalui rumus umum seperti di bawah ini. •User A ingin mengirim pesan X