One-time pads ditemukan pada tahun 1917 oleh Major Joseph Mauborgne. Cipher ini termasuk ke dalam kelompok algoritma kriptografi simetri.
One-time pad (pad = kertas bloknot) berisi barisan karakter-karakter kunci yang dibangkitkan secara acak. Aslinya, satu buah one-time pad adalah sebuah pita (tape) yang berisi barisan karakter-karakter kunci.
Satu pad hanya digunakan sekali (one-time) saja untuk mengenkripsi pesan, setelah itu pad yang telah digunakan dihancurkan supaya tidak dipakai kembali untuk mengenkripsi pesan yang lain.
Aturan enkripsi yang digunakan persis sama seperti pada cipher Vigenere. Pengirim pesan menggunakan setiap karakter kunci untuk mengenkripsikan satu karakter plainteks.
Enkripsi dapat digambarkan sebagai penjumlahan modulo 26 dari satu karakter plainteks dengan satu karakter kunci one-time pads:
ci = (pi + ki) mod 26
yang dalam hal ini,
pi : karakter plainteks
ki : karakter kunci
ci : karakter cipherteks
Perhatikan bahwa panjang kunci sama dengan panjang plainteks, sehingga tidak ada kebutuhan mengulang penggunaan kunci selama proses enkripsi.
Setelah pengirim mengenkripsikan pesan dengan one-time pads, ia menghancurkan one-time pad tersebut (makanya disebut satu kali pakai atau one-time)
Penerima pesan menggunakan one-time pads yang sama untuk mendekripsikan karakter-karakter cipherteks menjadi karakter-karakter plaintek dengan persamaan:
pi = (ci – ki ) mod 26
Contoh: Misalkan plainteks adalah
ONETIMEPAD
dan kunci one-time pad adalah
TBFRGFARFM
Nyatakan A = 0, B = 1, C = 2, …, Z = 25, maka cipherteks yang dihasilkan adalah
HOJKOREGHP
yang mana diperoleh sebagai berikut:
(O + T) mod 26 = H
(N + B) mod 26 = O
(E + F) mod 26 = J
dst
Sistem cipher one-time pads ini tidak dapat dipecahkan karena:
1.Barisan kunci acak yang ditambahkan ke pesan plainteks yang tidak acak menghasilkan cipherteks yang seluruhnya acak.
2.Beberapa barisan kunci yang digunakan untuk mendekripsi cipherteks mungkin menghasilkan pesan-pesan plainteks yang mempunyai makna, sehingga kriptanalis tidak punya cara untuk menentukan plainteks mana yang benar.
Contoh: Misalkan kriptanalis mencoba barisan kunci
LMCCAWAAZD
untuk mendekripsi cipherteks pada contoh sebelumnya,
HOJKOREGHP
Plainteks yang dihasilkan adalah
SALMONEGGS
Bila ia mencoba barisan kunci
ZDVUZOEYEO
maka plainteks yang dihasilkan adalah
GREENFIELD
Dua plainteks yang mempunyai makna ini membingungkan kriptanalis untuk memilih mana yang benar.
Meskipun one-time pad merupakan cipher yang sempurna aman, namun faktanya ia tidak diguanakan secara universal dalam aplikasi kriptografi sebagai satu-satunya sistem cipher yang tidak dapat dipecahkan (hanya sedikit sistem komunikasi yang menggunakan one-time pad). Malahan orang masih tetap menggunakan sistem cipher yang dapat dipecahkan.
Alasannya adalah dari segi kepraktisan, yaitu:
1.Karena panjang kunci harus sama dengan panjang pesan, maka one-time pad hanya cocok untuk pesan berukuran kecil. Semakin besar ukuran pesan, semakin besar pula ukuran kunci. Pada aplikasi kriptografi untuk mengenkripsikan data tersimpan, timbul masalah lain dalam penyimpanan kunci.
2.Karena kunci dibangkitkan secara acak, maka ‘tidak mungkin’ pengirim dan penerima membangkitkan kunci yang sama secara simultan. Jadi, salah seorang dari mereka harus membangkitkan kunci lalu mengirimkannya ke pihak lain.
Karena kerahasiaan kunci harus dijamin, maka perlu ada perlindungan selama pengiriman kunci. Jika hanya ada satu saluran komunikasi, maka pengirim dan penerima pesan perlu barisan kunci one-time pad lain untuk melindungi kunci one-time pad pertama, one-time pad ketiga untuk melindungi one-time pad pertama, dan seterusnya. Hal ini menghasilkan kumpulan barisan kunci one-time pad yang tidak berhingga banyaknya.
Mengirimkan barisan kunci melalui saluran komunikasi yang digunakan untuk pengiriman pesan juga tidak praktis karena pertimbangan lalu lintas (traffic) pesan yang padat.
Oleh karena itu, one-time pad hanya dapat digunakan jika tersedia saluran komunikasi kedua yang cukup aman untuk mengirim kunci. Saluran kedua ini umumnya lambat dan mahal. Misalnya pada perang dingin antara AS dan Uni Soviet (dahulu), one-time pad dibangkitkan, disimpan, lalu dikirim dengan menggunakan jasa kurir yang aman.
Penting diingat bahwa saluran kedua yang aman tersebut umumnya lambat dan mahal.
0 comments:
Posting Komentar