30 September 2017

One Time Pad (OTP) Cipher

<<Vigenere Cipher
One Time Pad ini ditemukan pada tahun 1917 oleh Major Yoseph Mouborgnedan Gilbert Vernam pada perang dunia ke dua. Metode ini telah diklaim sebagai satu-satunya algoritma kriptografi sempurna yang tidak dapat dipecahkan. Suatu algoritma dikatakan aman, apabila tidak ada cara untuk menemukan plaintext-nya. Sampai detik ini, ya detik sekarang, mungkin sampai akhir dari dunia ini, hanya algoritma One Time Pad (OTP) yang dinyatakan tidak dapat dipecahkan meskipun diberikan sumber daya yang tidak terbatas. Algoritma One Time Pad adalah salah satu jenis algoritma simetri (kriptografi konvensional dimana kunci yang digunakan enkripsi sama dangan kunci yang digunakan untuk dekripsi). Baru-baru ini algoritma OTP sudah dapat diimplementasikan dengan menggunakan teknologi Quantum Computer oleh China untuk mengamankan video call/conference.

Pada kriptografi OTP, jumlah kunci sama panjangnya dengan jumlah plainteks. Jika anda ingin agar cipherteks sulit untuk di pecahkan maka pemakaian kunci seharusnya :
  • Jangan gunakan kunci yang berulang
  • Pilihkan kunci yang random
Pemakaian One Time Pad digunakan pada sederetan abjad A..Z dengan memberikan nilai urutan abjad yaitu A=0, B=1, C=2, D=3, E=4…..sampai Z.

Rumus melakukan One Time Pad ini yaitu :
Enkripsi : \(E_{i}=\left(P_{i}+K_{i}\right)\bmod 26\)
Dekripsi : \(P_{i}=\left(E_{i}-K_{i}\right)\bmod 26\)

Atau, pada hardware biasanya menggunakan  operasi XOR (\(\oplus\)) dengan data biner (plaintext dan key dirubah ke dalam format biner). Operasi ini tentu lebih cepat pada hardware :
Enkripsi : \(E_{i}=P_{i}\oplus K_{i}\)
Dekripsi : \(P_{i}=E_{i}\oplus K_{i}\)
  • Kelebihan One-Time Pad
Beberapa kelebihan One-time pad adalah sebagai berikut :
1.  Sistem OTP tidak dapat dipecahkan karena: 
  • Barisan kunci acak + plaintext yang tidak acak menghasilkan ciphertext yang seluruhnya acak (Artinya, plaintext yang dienkripsi dengan kunci yang panjangnya sama dengan plaintext dan kuncinya acak akan menghasilkan chipertext yang seluruhnya acak).
  • Mendekripsi ciphertext dengan beberapa kunci berbeda dapat menghasilkan plaintext yang bermakna (punya arti) sehingga kriptanalis bingung untuk menentukan plaintext mana yang benar.
2.  Algoritma Vernam atau One-time pad merupakan algoritma pengenkripsian data dan informasi yang relatif sederhana dan mudah digunakan namun cukup aman dalam menjamin kerahasiaan informasi atau data yang ingin dikirimkan. 
  • Kelemahan One-Time Pad
1.  Algoritma ini tidak efesien karena panjang kunci = panjang pesan sehingga ada beberapa permasalahan yang timbul yaitu jika pesannya sangat besar maka : 
  • Pembangkitan kunci acak yang besar sangat akan membutuhkan kerja berat pada sistem, 
  • Penyimpanan juga membutuhkan memori yang besar, karena datanya secara otomatis menjadi dua kali lipat yaitu kunci dan chipertext yang sama panjang. 
  • Pendistribusian kunci juga menjadi kendala yang sangat berarti. Untuk menjaga keamanan OTP maka secara otomatis kita tidak bisa mengirimkan kunci dan chipertext pada kanal yang sama, harus digunakan kanal yang berbeda saat pengiriman kunci dan chipertext agar jika terjadi penyadapan oleh serangan Man In The Middle maka kunci dan chipertext tidak didapatkan. (Contoh penggunaan kanal berbeda misal data chipertext dikirim lewat media 4G maka chipertext bisa dikirim melalui media lain seperti Satelit dll).
2.  Jika sebuah kunci sudah digunakan maka kunci tersebut tidak bisa digunakan kembali, penggunaan kunci yang sama akan berpengaruh terhadap kerahasiaan pesan. Dengan demikian semakin sering OTP digunakan, jumlah kunci semakin berkurang.

3. Kerahasiaan dalam pendistribusian kunci menjadi hal yang penting dimana untuk mengirimkan kunci membutuhkan saluran komunikasi kedua agar keamanan lebih terjamin. Akan tetapi biasanya saluran komunikasi kedua lebih lambat dan mahal sehingga untuk mengirimkan kunci yang berukuran besar akan menjadi tidak efesien.

Berikut adalah contoh OTP dengan menggunakan modulo 26 :
One-time pad algoritma sebagai berikut:

No comments:

Post a Comment

SAAT RESTORAN DIBUKA KEMBALI, INILAH YANG HARUS ANDA KETAHUI TENTANG AC, ALIRAN UDARA, DAN COVID-19

Pengunjung yang makan di restoran mungkin bisa memberi tahu banyak tentang bagaimana para penggiat bisnis restoran berusaha mengurangi risik...