Anda di halaman 1dari 5

CBC (Cipher Block Chaining) DES (Data Encryption Standard) AES (Advanced Encryption Standard) Diffie-Hellman RSA (Rivest,

Shamir, Adleman)

1. Data Encryption Standard (DES) : standar bagi USA Government, didukung ANSI dan IETF,
popular untuk metode secret key, terdiri dari : 40-bit, 56-bit dan 356-bit (Triple DES)

2. Advanced Encryption Standard (AES) : untuk menggantikan DES (launching akhir 2001),
menggunakan variable length block chipper, key length : 128-bit, 192-bit, 256-bit, dapat diterapkan untuk smart card.

3. Digital Certificate Server (DCS) : verifikasi untuk digital signature, autentikasi user,
menggunakan public dan private key, contoh : Netscape Certificate Server

4. IP Security (IPSec) : enkripsi public/private key , dirancang oleh CISCO System,


menggunakan DES 40-bit dan authentication, built-in pada produk CISCO, solusi tepat untuk Virtual Private Network (VPN) dan Remote Network Access

5. Kerberos : solusi untuk user authentication, dapat menangani multiple platform/system,


free charge (open source), IBM menyediakan versi komersial : Global Sign On (GSO)

6. Point to point Tunneling Protocol(PPTP) : Layer Two Tunneling Protocol (L2TP), dirancang
oleh Microsoft, autentication berdasarkan PPP(Point to point protocol), enkripsi berdasarkan algoritm Microsoft (tidak terbuka), terintegrasi dengan NOS Microsoft (NT, 2000, XP)

7. Remote Access Dial-in User Service (RADIUS), multiple remote access device menggunakan
1 database untuk authentication, didukung oleh 3com, CISCO, Ascend, tidak menggunakan encryption

8. RSA Encryption : dirancang oleh Rivest, Shamir, Adleman tahun 1977, standar de facto
dalam enkripsi public/private key , didukung oleh Microsoft, apple, novell, sun, lotus, mendukung proses authentication, multi platform

9. Secure Hash Algoritm (SHA), dirancang oleh National Institute of Standard and Technology
(NIST) USA., bagian dari standar DSS(Decision Support System) USA dan bekerja sama dengan DES untuk digital signature., SHA-1 menyediakan 160-bit message digest, Versi : SHA-256, SHA-384, SHA-512 (terintegrasi dengan AES)

10. MD5 : dirancang oleh Prof. Robert Rivest (RSA, MIT) tahun 1991, menghasilkan 128-bit
digest., cepat tapi kurang aman

11. Secure Shell (SSH) : digunakan untuk client side authentication antara 2 sistem, mendukung
UNIX, windows, OS/2, melindungi telnet dan ftp (file transfer protocol

12. Secure Socket Layer (SSL) : dirancang oleh Netscape, menyediakan enkripsi RSA pada layes
session dari model OSI., independen terhadap servise yang digunakan., melindungi system secure web e-commerce, metode public/private key dan dapat melakukan authentication, terintegrasi dalam produk browser dan web server Netscape.

13. Security Token, aplikasi penyimpanan password dan data user di smart card 14. Simple Key Management for Internet Protocol : seperti SSL bekerja pada level session
model OSI., menghasilkan key yang static, mudah bobol.

Algoritma RSA (Rivest, Shamir, Adleman)


Algoritma RSA merupakan salah satu algoritma kriptografi kunci publik yang saat ini masih populer digunakan. Algoritma RSA diperkenalkan pada tahun 1978 oleh tiga orang profesor MIT (Massachussets Institute of Technology) yaitu Ron Rivest, Adi Shamir, dan Leonard Adleman. Nama RSA pun diambil dari inisial penemunya yaitu Rivest, Shamir dan Adleman. Secara garis besar, proses kriptografi padaalgoritma RSA terdiri dari 3 tahapan yaitu : 1. Pembangkitan KunciUntuk membangkitkan kedua kunci, dipilih dua buah bilangan prima yang sangat besar, p dan q. Untuk mendapatkan keamanan yang maksimum, dipilih dua bilangan p dan q yang besar. Kemudian dihitung : n = pq Kemudian dihitung : = (p-1) (q-1) Lalu dipilih kunci enkripsi e secara acak, sedemikian sehingga e dan (p-1)(q-1) relatif prima. Artinya e dan tidak memiliki faktor persekutuan bersama. Kemudian dengan algoritma Euclidean yang diperluas, dihitung kunci dekripsi d, sedemikian sehingga : ed = 1 mod (p-1)(q-1) atau ed 1 = k (p-1)(q-1) di mana k merupakan konstanta integer. Perhatikan bahwa d dan n juga relative prima. Bilangan e dan n merupakan kunci publik, sedangkan d kunci privat. Dua bilangan prima p dan q tidak diperlukan lagi. Namun p dan q kadang diperlukan untuk mempercepat perhitungan dekripsi. 2. Proses Enkripsi Untuk mengenkripsi pesan m, terlebih dahulu pesan dibagi ke dalam blok-blok numerik yang lebih kecil dari n (dengan data biner, dipilih pangkat terbesar dari 2 yang kurang dari

n). Jadi jika p dan q bilangan prima 100 digit, maka n akan memiliki sekitar 200 buah digit dari setiap blok pesan m, seharusnya kurang dari 200 digit panjangnya. Pesan yang terenkripsi (c), akan tersusun dari blokblok (ci) yang hampir sama panjangnya. Rumus enkripsinya adalah :

3.

Proses Dekripsi

Setelah menerima pesan yang sudah terenkripsi maka penerima pesan akan melakukan proses dekripsi pesan dengan cara

Membuat Kunci Privat (Private Key) dan Kunci Publik (Public Key) Berikut ini langkah-langkahnya adalah: 1. Pilih dua buah bilangan prima sembarang, sebut a dan b. Jaga kerahasiaan a dan b ini. 2. Hitung n = a x b. Besaran n tidak dirahasiakan. 3. Hitung m = (a - 1) x (b - 1). Sekali m dapat dihitung, a dan b dapat dihapus untuk mencegah diketahuinya oleh orang lain. 4. Pilih sebuah bilangan bulat untuk kunci publik, sebut namanya e, yang relatif prima terhadap m. 5. Bangkitkan kunci dekripsi, d, dengan kekongruenan ed 1(mod m). Lakukan enkripsi terhadap isi pesan dengan persamaan ci = mod , yang dalam hal ini pi adalah blok

plainteks, ci adalah chiperteks yang diperoleh, dan e adalah kunci enkripsi (kunci publik). Harus dipenuhi persyaratan bahwa nilai pi harus terletak dalam himpunan nilai 0, 1, 2, . . . , n 1 untuk menjamin hasil perhitungan tidak berada di luar himpunan. 6. Proses dekripsi dilakukan dengan menggunakan persamaan pi = ci d mod n, yang dalam hal ini d adalah kunci dekripsi (kunci privat). Perhatikan pada langkah 4, kekongruenan ed 1(mod m) sama dengan ed mod m = 1. Menurut persamaan Chinese RemainderTheorem (CRT) yang menyatakan bahwa a b (mod m) ekivalen dengan a = b + km, maka ed 1(mod m) ekivalen dengan ed = 1 + km, sehingga d dapat dihitung dengan:

Akan terdapat bilangan bulat k yang menyebabkan (1.1) memberikan bilangan bulat d. Berikut ini adalah contoh untuk kasus dengan nilai a dan b yang kecil. Sebagai ilustrasi, marilah kita mengambil a = 47 dan b = 71 (keduanya prima), maka dapat dihitung nilai n = a x b = 3337 dan m = (a - 1)x(b - 1) = 3220. Pilih kunci publik e = 79 (relatif prima terhadap 3220 karena pembagi terbesarnya adalah 1). Nilai e dan m dapat dipublikasikan ke umum. Selanjutnya akan dihitung kunci dekripsi d seperti yang dituliskan pada langkah instruksi 4. e x d 1 (mod m) Dengan menggunakan (1.1) kita menghitung kunci dekripsi d sebagai berikut:

Dengan mencoba nilai-nilai k = 1, 2, 3, . . . , diperoleh nilai d yang bulat adalah 1019. Ini adalah kunci deskripsi yang harus dirahasiakan. Misalkan plainteks yang akan dienkripsikan adalah p = HARI INI (atau dalam decimal ASCII-nya adalah 7265827332737873). Pecah p menjadi blok-blok yang lebih kecil, misalnya p dipecah menjadi enam blok yang berukuran 3 digit : p1 = 726, p2 = 582, p3 = 733, p4 = 273, p5 = 787, dan p6 = 003 Nilai-nilai pi ini masih terletak dalam rentang 0 sampai 3337 1. Blok pertama dienkripsikan sebagai 72679 mod 3337 = 215 = c1. Blok kedua dienkripsikan sebagai 58279 mod 3337 = 776 = c2. Dengan melakukan proses yang sama untuk sisa blok lainnya, dihasilkan chiperteks C 215 776 1743 933 1731 158. Proses dekripsi dilakukan dengan menggunakan kunci privat d = 1019, jadi blok c1 didekripsikan sebagai 2151019 mod 3337 = 726 = p1 , blok c2 didekripsikan sebagai 7761019 mod 3337 = 582 = p2. Blok plainteks yang lain dikembalikan dengan cara yang serupa. Akhirnya kita emperoleh kembali plainteks semula p = 265827332737873 yang karakternya adalah p = HARI INI. Perhitungan perpangkatan pada proses enkripsi (ci = mod n) dan dekripsi (pi = mod

n) membutuhkan bilangan yang sangat besar. Untuk menghindari penggunaan bilangan

yang sangat besar, maka dapat digunakan penyederhanaan dengan persamaan berikut : ab mod m = [(a mod m) (b mod m)] mod m.

Anda mungkin juga menyukai