Menurut Stallings [11] proses menyandikan plaintext ke bentuk ciphertext disebut enkripsi, sedangkan proses mengembalikan ciphertext ke plaintext yang
semula disebut dekripsi.
Algoritma kriptografi disebut juga cipher yaitu aturan untuk enciphering dan deciphering
, atau fungsi matematika yang digunakan untuk enkripsi dan dekripsi [6].
2.1.1 Tujuan Kriptografi
Tujuan kriptografi adalah mengamankan pesan, keamanan yang dimaksud adalah sebagai berikut [4] [11].
1. Kerahasiaan confidentiality, adalah layanan yang menjaga kerahasiaan pesan,
memberikan perlindungan dari pihak-pihak yang tidak berhak mengetahuinya. 2.
Integritas data data integrity, perlindungan yang menjamin pesan tetap utuh dan asli dari upaya manipulasi data secara tidak sah seperti penghapusan,
penyisipan, dan pendistribusian data lain ke dalam data asli. 3.
Otentikasi authentication, merupakan layanan untuk mengidentifikasi kebenaran pihak-pihak yang berkomunikasi user authentication atau entity
authentication maupun mengidentifikasi kebenaran sumber pesan data origin
authentication .
4. Nirpeyangkalan non-repudiation, sebuah layanan untuk mencegah terjadinya
penyangkalan oleh pihak-pihak yang telah melakukan komunikasi, sehingga pengirim tidak dapat menyangkal pernah mengirim pesan dan penerima tidak
dapat menyangkal telah menerima pesan.
2.1.2 Sejarah Kriptografi
Kriptografi mungkin dapat dikatakan dimulai sekitar 2000 SM oleh bangsa Mesir, dimana hieroglyph digunakan untuk menghias makam para raja dan penguasa Mesir.
Hieroglyph yang isinya adalah cerita tentang kehidupan raja dan tindakan besar yang
dilakukannya sengaja dibuat dalam bentuk cryptic tersandi, tapi bukan dengan maksud untuk menyembunyikan tulisannya namun untuk membuat tulisan tersebut
terkesan lebih agung dan penting. Seiring waktu tulisan ini semakin lama semakin rumit dan orang-orang kehilangan minat menguraikannya [2].
Sejarah kriptografi sebagian besar merupakan sejarah kriptografi klasik, yaitu metode enkripsi yang menggunakan kertas dan pensil atau mungkin dengan bantuan
alat mekanik sederhana. Secara umum algoritma kriptografi klasik dikelompokkan menjadi dua kategori, yaitu algoritma transposisi transposition cipher dan algoritma
subtitusi subtitution cipher. Cipher transposisi mengubah susunan huruf-huruf di dalam pesan, sedangkan cipher subtitusi mengganti setiap huruf atau kelompok huruf
dengan sebuah huruf atau kelompok huruf lain. Sejarah kriptografi klasik mencatat penggunaan cipher transposisi oleh tentara Sparta di Yunani pada permulaan 400 SM
[6]. Mereka menggunakan sistem kriptografi dalam bentuk sepotong papyrus atau perkamen dibungkus dengan batang kayu yang disebut Scytale cipher untuk berkirim
pesan rahasia diantara pasukan militer [2]. Sedangkan algoritma substitusi yang paling awal dan paling sederhana adalah Caesar cipher [6], sekitar 50 SM, Julius Caesar,
kaisar Roma, menggunakan cipher substitusi yaitu huruf-huruf alfabet disubstitusi dengan huruf-huruf yang lain pada alfabet yang sama, metode ini dikenal sebagai
Caesar cipher [2].
Kriptografi umum digunakan oleh kalangan militer seperti pada Perang Dunia ke II, pemerintah Nazi Jerman membuat mesin enkripsi bernama enigma. Mesin yang
menggunakan beberapa buah rotor roda berputar ini melakukan enkripsi dengan cara yang sangat rumit. Namun Enigma cipher ini berhasil dipecahkan oleh pihak sekutu
dan keberhasilan memecahkan Enigma sering dikatakan sebgai faktor yang memperpendek perang dunia ke-2 [6].
Kriptografi modern dipicu oleh perkembangan peralatan komputer digital. Dengan komputer digital, cipher yang lebih kompleks menjadi sangat mungkin untuk
dapat dihasilkan [6]. Perkembangan sistem komputer dan komunikasi di tahun 1960 membawa permintaan untuk melindungi informasi dalam bentuk digital dan untuk
menyediakan layanan keamaman. Dimulai dengan kerja Feistel di IBM pada awal 1970 dan hasilnya pada 1977 dengan diadopsinya U.S. Federal Information Standard
untuk enkripsi informasi yang tidak bersifat rahasia, yaitu DES, Data Encryption Standard
, merupakan mekanisme kriptografi yang paling dikenal dalam sejarah [4].
Kriptografi modern menggunkan kunci yang merupakan parameter yang digunakan untuk transformasi enkripsi dan dekripsi. Kriptografi modern terbagi atas
dua jenis, yaitu : 1.
Kriptografi kunci simetri, yang kunci enkripsi dan dekripsinya sama, contohya DES, IDEA,dan AES.
2. Kriptografi kunci publik, yang kunci enkripsi dan dekripsinya berbeda,
contohnya RSA, DSA, dan ElGamal. Kriptografi simetri merupakan satu-satunya jenis kriptografi yang dikenal dalam
catatan sejarah hingga tahun 1976. Semua algoritma kriptografi klasik termasuk ke dalam sistem kriptografi simetri [6].
Penemuan konsep kriptografi kunci pubik merupakan hal revolusioner dalam sejarah kriptografi dipublikasikan pertama kali pada tahun 1976 oleh Whitfield Diffie
dan Martin Hellman, dua orang ilmuwan dari Stanford University melalui makalah pertamanya di jurnal IEEE
yang berjudul ŖNew Directions in Cryptographyŗ [4] [10] [6]. Makalah mereka membahas distribusi kunci rahasia pada saluran komunikasi
publik yang tidak aman dengan metode pertukaran kunci Diffie-Hellman [6].
Namun sebenarnya penemu kriptografi kunci publik adalah James H. Ellis, Clifford Cocks, dan Malcolm Williamson yang berkerja untuk markas komunikasi
pemerintah Inggris, GCHQ [10] pada awal tahun 1970 [6]. Mereka menemukan mekanisme pertukaran kunci, yang kemudian dikenal dengan nama algoritma
pertukaran kunci Diffie- Hellman. Sayangnya algoritma mereka tersebut dirahasiakan dan tidak pernah dipublikasikan hingga tahun 1997 [6].
Pada tahun 1977, generalisasi dari ide Cocks ditemukan kembali oleh tiga orang ilmuwan dari MIT, yaitu Rivest, Shamir, Adleman [6]. Algoritma enkripsi yang
mereka buat dikenal dengan RSA merupakan algoritma yang berdasarkan sulitnya memecahkan masalah memfaktorkan bilangan intger yang sangat besar [4].
Akhirnya, sejak tahun 1976 berbagai algoritma enkripsi, tanda tangan digital, pertukaran kunci, dan teknik lain dikembangkan dalam bidang kriptografi kunci-
publik, misalnya algoritma ElGamal untuk enkripsi dan tanda tangan digital dan algoritma DSA untuk tanda tangan digital. Pada tahun 1980 Neal Koblitz
memperkenalkan eliptic-curve cryptography sebagai keluaran baru yang analog dengan algoritma kriptografi kunci-publik. Hingga saat ini kriptografi kunci-publik
terus berkembang pesat seiring dengan aplikasinya yang begitu luas [6].
2.2 Kriptografi Kunci-Publik
Sampai tahun 1976, hanya ada kriptografi kunci-simetri. Karena kriptografi simetri menggunakan kunci yang sama untuk enkripsi dan dekripsi, maka hal ini
mengimplikasikan dua pihak yang saling berkomunikasi dan mempercayai. Kedua pihak harus menjaga kerahasiaan kunci. Satu masalah kritis di dalam sistem
kriptografi kunci-simetri adalah cara mendistribusikan kunci. Oleh karena itu kunci harus dikirim melalui saluran yang benar-benar aman, umumnya jalur ini lambat dan
mahal [6]. Teknik kriptografi kunci publik awalnya ditemukan untuk memecahkan permasalahan distibusi kunci dan menyediakan otentikasi [10].
Masalah ini dipecahkan oleh Diffie dan Hellman yang mengusulkan konsep kriptografi nirsimetri asymmetric cryptography yaitu kunci berbeda untuk enkripsi
dan dekripsi. Kunci enkripsi dapat diumumkan kepada publik sehingga dapat diketahui oleh siapapun, sementara kunci untuk dekripsi hanya diketahui oleh
penerima pesan rahasia, oleh karena itulah teknik kriptografi ini disebut juga dengan kriptografi kunci publik. Hal ini memungkinkan pengguna berkomunikasi secara
aman tanpa perlu berbagi kunci rahasia [6].
Keuntungan kriptografi kunci publik dibandingkan dengan kriptografi kunci simetri, antara lain :
1. Tidak ada kebutuhan untuk mendistribusikan kunci privat sebagaimana
pada kriptografi kunci-simetri. Kunci publik dapat dikirim ke penerima melalui saluran yang sama dengan saluran yang digunakan untuk mengirim
pesan. Perhatikan bahwa saluran untuk mengirim pesan umumnya tidak aman [6].
2. Jumlah kunci dapat ditekan. Untuk berkomunikasi secara rahasia dengan
banyak orang tidak perlu kunci rahasia sebanyak jumlah orang tersebut, cukup membuat dua buah kunci, yaitu kunci publik bagi para koresponden
untuk mengenkripsi pesan, dan kunci privat untuk mendekripsi pesan. Berbeda dengan kriptografi kunci-simetri dimana jumlah kunci yang dibuat
adalah sebanyak jumlah pihak yang berkorespondensi [6]. 3.
Tidak perlunya pihak-pihak yang terlibat komunikasi untuk saling mengenal sebelumnya. Siapapun dapat mengirim pesan yang dienkripsi
dengan kunci publik tersebut, tetapi hanya penerima pesan yang dapat mendekripsi pesan karena hanya ia yang mengetahui kunci privatnya
sendiri [10]. 4.
Keuntungan lainnya dari kriptografi kunci publik adalah penggunaan digital signatures
yang mengizinkan pengguna untuk menandai secara digital data seperti pemesanan elektronik atau transfer uang. Teknologi
inilah yang menyebabkan teknologi e-commerce dan komunitas digital mungkin untuk dilakukan [10].
2.2.1 Konsep Kriptografi Kunci-Publik
Seperti telah dijelaskan pada bagian awal, pada kriptografi kunci-publik, setiap pengguna memiliki sepasang kunci, satu kunci untuk enkripsi diumumkan kepada
publik - oleh karena itu tidak rahasia Ŕ sehingga dinamakan kunci publik public-key,
disimbolkan dengan e dan satu kunci untuk dekripsi bersifat rahasia Ŕ sehingga
dinamakan kunci privat private-key, disimbolkan dengan d. Karena kunci enkripsi tidak sama dengan kunci dekripsi itulah maka kriptografi kunci publik disebut juga
kriptografi nirsimetri [6].
Misalkan E adalah fungsi enkripsi dan D adalah funsi dekripsi. Misalkan e, d adalah pasangan kunci untuk enkripsi dan dekripsi sedemikian sehingga
�
dan
�
untuk suatu plainteks m dan cipherteks c. Kedua persamaan ini menyiratkana bahwa dengan mengetahui e dan c, maka secara komputasi hampir tidak mungkin
menemukan m. Asumsi lainnya, dengan mengetahui e, secara komputasi hampir tidak mungkin menurunkan d.
�
digambarkan sebagai fungsi pintu-kolong trapdoor satu- arah dengan d adalah informasi trapdoor yang diperlukan untuk menghitung fungsi
inversinya, D, yang dalam hal ini membuat proses dekripsi dapat dilakukan [6]. Dinamakan fungsi satu arah trapdoor karena fungsi ini secara efektif benar-benar
merupakam fungsi satu arah kecuali kunci trapdoor tersebut diketahui [10].
Gambar 2.1
Skema Kriptografi Nirsimetri
Kriptografi kunci publik dapat berkerja dikarenakan dua kuncinya dihubungkan secara matematis sedemikian rupa sehingga mengetahui kunci publik
tidak memberikan informasi apapun tentang kunci privat-nya. Namun dengan mengetahui kunci privat, informasi yang dienkripsi dengan kunci publik dapat
diketahui [10].
Sistem kriptografi kunci publik yang aman memiliki dua karakteristik sebagai berikut [6]:
1. Komputasi untuk enkripsidekripsi pesan mudah dilakukan.
2. Secara komputasi hampir tidak mungkin infeasible menurunkan kunci privat,
d , bila diketahui kunci publik, e, pasangannya.
Dua karakteristik di atas dapat dianalogikan dengan dua masalah matematika berikut yang sering menjadi dasar pembangkitan sepasang kunci pada kriptografi
kunci publik [6]:
�
Enkripsi
�
Dekripsi Kunci publik, e
Kunci privat, d
Chiperteks, c Plainteks, m
Plainteks, m
1. Perkalian vs pemfaktoran. Mengalikan dua buah bilangan prima, ,
mudah, tetapi memfaktorkan n menjadi faktor-faktor primanya lebih sulit. Contoh :
perkalian, mudah pemfaktoran, sulit
Diberikan bilangan bulat n, faktorkan n menjadi faktor primanya Contoh :
Semakin besar n, semakin sulit memfaktorkan butuh waktu sangat lama. Algoritma yang menggunkan prinsip ini: RSA.
2. Perpangkatan vs logaritmik dikrit. Melakukan perpangkatan modulo,
, mudah, tetapi menemukan x dari lebih sulit.
Semakin besar a,b, dan n semakin sulit memfaktorkan butuh waktu yang lama.
Contoh : perpangkatan modulo, mudah
Carilah x dari logaritmik diskrit, sulit
Sistem kriptografi yang dibangun berdasarkan masalah logaritma diskrit antara lain ElGamal dan DSA .
Tidak seperti kriptografi kunci-simetri yang didasarkan pada substitusi dan permutasi, kriptografi kunci-publik didasarkan pada fungsi matematika. Jika kekuatan
kriptografi kunci-simetri terletak pada panjang kuncinya yang membutuhkan usaha sangat besar untuk menemukan kunci, maka kriptografi kunci-publik kekuatannya
terletak pada sulitnya memcahkan masalah matematis seperti pemfaktoran dan logaritma diskrit [6].
Kriptografi kunci-publik dapat dianalogikan seperti kotak surat yang terkunci dan memiliki dua pintu dengan fungsi masing-masing, yaitu satu pintu hanya dapat
memasukkan surat dan satu pintu lagi khusus untuk mengambil surat. Setiap orang dapat memasukkan surat ke dalam kotak surat tersebut melalui pintu untuk
memasukkan surat, tetapi hanya pemilik kotak surat yang dapat membuka pintu
khusus untuk mengambil surat dan membaca surat di dalamnya karena ia yang memiliki kuncinya.
2.2.2. Aplikasi Penggunaan Kriptografi Kunci Publik