Assalamualaikum Warahmatullahi Wabarakatuh
Nama: Najla Qurrata Aini Putri Yusrizal
Kelas / NIM : 4C/2103015179
Teknik Informatika
One Time Pad
One-Time Pad (OTP) adalah cipher yang tidak dapat dipecahkan (Unbreakable Cipher) serta tidak dapat diprediksi nilainya dan tidak dapat diulang (acak) sehingga plainteks yang sama tidak selalu menghasilkan cipherteks yang sama. Jadi dapat disimpulkan, definisi dari OTP adalah satu-satunya algoritma kriptografi sempurna aman (perfect secrecy) sehingga tidak dapat dipecahkan
- Syarat sebuah cipher disebut unbreakable cipher
- Kunci harus benar-benar acak (trully random).
- Panjang kunci = panjang plainteks.
Pada OTP, panjang kunci = panjang plainteks. Contoh:
Plainteks: otpadalahcipheryangtidakbisadipecahkan
Kunci: trjkdndkdwerylgrgdkopcegyhbdwjbtrfhgvk
Pada OTP, pad = kertas bloknot atau berisi deretan huruf-huruf kunci yang dibangkitkan secara acak. Contoh:
Pada OTP, aturan enkripsi dan dekripsi yang digunakan persis sama seperti pada Vigenere Cipher, bedanya tidak ada perulangan kunci secara periodik. Seperti berikut:
Enkripsi: ci = (pi + ki) mod 26
Dekripsi: pi = (ci – ki) mod 26
Contoh:
OTP tidak dapat dipecahkan karena:
- Kunci acak + plainteks yang tidak acak = cipherteks yang seluruhnya acak.
- Hanya terdapat satu kunci yang memetakan plainteks ke cipherteks, begitu juga sebaliknya.
Pada OTP, ketika kita mendekripsi cipherteks dengan beberapa kunci berbeda dapat menghasilkan plainteks yang bermakna, sehingga kriptanalis kesulitan menentukan plainteks mana yang benar. Contoh:
Kelemahan dari OTP, antara lain:
- Tidak mangkus, karena panjang kunci = panjang pesan. Makin panjang pesan, makin besar ukuran kuncinya. Butuh komputasi yang berat untuk membangkitkan milyaran karakter-karakater yang benar-benar acak.
- Karena kunci dibangkitkan secara acak, maka tidak mungkin pengirim dan penerima membangkitkan kunci yang sama secara bersamaan.
- OTP hanya dapat digunakan jika tersedia saluran komunikasi kedua yang cukup aman untuk mengirim kunci. Saluran kedua ini tidak boleh sama dengan saluran untuk mengirim pesan dan saluran kedua ini umumnya lambat dan mahal.
Contoh Penggunaan OTP:
- Perang dingin antara AS dan Uni Soviet (tahun 1940):
- Agen spionase Uni Soviet membawa kunci one-time pad ke AS
- Pesan-pesan rahasia dienkripsi dengan OTP dan dikirim dari AS
- Di Uni Soviet, kunci OTP yang sama digunakan untuk mendekripsi cipherteks
Soal dan Jawaban (ESSAY)
1.) Mengapa algoritma ini dinamakan "one-time pad"?
Jawab:
Karena pada algoritma ini satu pad hanya digunakan sekali (one-time) saja untuk mengenkripsi pesan.
2.) Jika ingin cipherteks sulit untuk di pecahkan maka pemakaian kunci harus?
Jawab:
- Tidak menggunakan kunci secara berulang
- Pilih kunci secara acak
3.) "Semakin sering OTP digunakan, jumlah kunci semakin berkurang." Apakah pernyataan tersebut benar? Sertakan alasannya.
Jawab:
Benar, karena jika sebuah kunci sudah digunakan maka kunci tersebut tidak bisa digunakan kembali, penggunaan kunci yang sama akan berpengaruh terhadap kerahasiaan pesan.
4.) Apa yang dimaksud dengan "perfect secrecy" dalam One Time Pad?
Jawab:
OTP memiliki sifat "perfect secrecy" yang berarti kerahasiaan yang sempurna. Jadi, pesan yang terenkripsi dengan OTP tidak memberikan informasi apa pun tentang pesan asli kepada pihak yang tidak memiliki kunci yang tepat.
5.) Algoritma One Time Pad termasuk jenis algoritma simetri, karena?
Jawab:
Algoritma One Time Pad termasuk salah satu jenis algoritma simetri karena kunci yang digunakan enkripsi sama dangan kunci yang digunakan untuk dekripsi, jadi algoritma ini menggunakan key yang sama dalam melakukan proses enkripsi dan deksripsi.
6.) Penggunaan OTP biasa digunakan untuk?
Jawab:
Mengamankan pesan singkat rahasia yang terdiri hanya beberapa kata atau karakter dengan panjang kunci yang digunakan sama panjang dengan panjang karakter yang akan dienkripsi.
7.) Apakah OTP bisa digunakan untuk mengenkripsi data yang bukan teks biasa, seperti file gambar atau file biner? Jelaskan alasannya.
Jawab:
Bisa, OTP bisa digunakan untuk mengenkripsi data yang bukan teks biasa, termasuk file gambar atau file biner. Hal ini dikarenakan OTP bekerja pada tingkat bit, bukan pada level karakter atau teks. Setiap bit dari data dapat dienkripsi secara independen menggunakan kunci yang sesuai. Namun, perlu diperhatikan bahwa ukuran kunci yang diperlukan akan sebanding dengan ukuran data yang akan dienkripsi, sehingga penggunaan OTP untuk mengenkripsi file yang sangat besar dapat menjadi tidak praktis.
8.) Plainteks: KRIPTOGRAFI
Kunci: WQBNZVAFBGL
Tentukan ciphertextnya dengan menggunakan OTP!
Jawab: GHJCSJGWBLT
- Konversi Plainteks dan Kunci ke Angka (A = 0, B = 1, ..., Z = 25)
- Melakukan Operasi Enkripsi (ci = (pi + ki) mod 26)
- Konversi Hasil Enkripsi ke Huruf
Jadi, cipherteks yang dihasilkan menggunakan OTP pada plainteks "KRIPTOGRAFI" dan kunci "WQBNZVAFBGL" dengan menggunakan rumus enkripsi ci = (pi + ki) mod 26 adalah "GHJCSJGWBLT".
9.) Misalkan terdapat sebuah pesan plainteks dengan panjang 500 karakter yang akan dienkripsi menggunakan One Time Pad. Berapakah panjang kunci yang diperlukan dan mengapa panjang kunci harus sama dengan panjang plainteks?
Jawab:
Panjang kunci yang diperlukan dalam One Time Pad harus sama dengan panjang plainteks. Dalam kasus ini, panjang kunci yang diperlukan juga 500 karakter. Hal ini penting karena setiap karakter plainteks dienkripsi secara independen dengan karakter kunci yang berbeda. Jika kunci lebih pendek dari plainteks, akan terjadi pengulangan kunci dan pola akan muncul dalam cipherteks. Dengan panjang kunci yang sama dengan plainteks, setiap karakter cipherteks memiliki hubungan acak dengan karakter plainteks yang sesuai.
10.) Plainteks: najla
Kunci: kdwzy
Tentukan ciphertextnya dengan menggunakan OTP!
Jawab: XDFKY
- Konversi Plainteks dan Kunci ke Angka (A = 0, B = 1, ..., Z = 25)
N = 13 (N)
A = 0 (A)
J = 9 (J)
L = 11 (L)
A = 0 (A)
K = 10 (K)
D = 3 (D)
W = 22 (W)
Z = 25 (Z)
Y = 24 (Y)
- Melakukan Operasi Enkripsi (ci = (pi + ki) mod 26))
H = (13 + 10) mod 26 = 23 (X)
E = (0 + 3) mod 26 = 3 (D)
G = (9 + 22) mod 26 = 5 (F)
T = (11 + 25) mod 26 = 10 (K)
B = (0 + 24) mod 26 = 24 (Y)
- Konversi Hasil Enkripsi ke Huruf
23 = X
3 = D
5 = F
10 = K
24 = Y
Jadi, cipherteks yang dihasilkan menggunakan OTP pada plaintext "najla" dan kunci "kdwzy" dengan menggunakan rumus enkripsi ci = (pi + ki) mod 26 adalah "XDFKY".
Sumber pengerjaan tugas: https://onlinelearning.uhamka.ac.id
Wassalamualaikum Warahmatullahi Wabarakatuh
Comments
Post a Comment