Tabel 2.1 Hasil pembangkitan bilangan acak dengan metode LCG
n �
�−1
a b
�. �
�−1
+ �
m �
�
= �. �
�−1
+ � mod m
1 2
13 7
33 11
2 13
7 7
11 7
3 7
13 7
98 11
10 4
10 13
7 137
11 5
5 5
13 7
72 11
6 6
6 13
7 85
11 8
7 8
13 7
111 11
1 8
1 13
7 20
11 9
9 9
13 7
124 11
3 10
3 13
7 46
11 2
2.10 One Time Pad OTP
One Time Pad OTP ditemukan pada tahun 1917 oleh G. Vernam dan Major Joseph Mauborgne. OTP sering disebut “Vernam Cipher”. OTP merupakan algoritma yang
relatif gampang untuk dipelajari dan sudah dinyatakan oleh para ahli kriptografi sebagai “perfect encryption algorithm”. [3] sebelumnya pernah melakukan penelitian
tentang penggunaan algoritma OTP untuk sistem pengamanan access database server.
Cipher yang tidak dapat dipecahkan dikatakan memiliki tingkat kerahasiaan yang sempurna perfect secrecy. Satu-satunya algoritma kriptografi sempurna, aman
dan tidak dapat dipecahkan adalah One Time Pad [8].
Sistem cipher One Time Pad ini tidak dapat dipecahkan karena barisan kunci acak yang ditambahkan ke pesan plaintext yang tidak acak menghasilkan ciphertext
yang seluruhnya acak serta panjang kunci harus sama dengan panjang plaintext. Beberapa barisan kunci yang digunakan untuk mendekripsi ciphertext mungkin
menghasilkan pesan-pesan plaintext yang mempunyai makna, sehingga kriptanalis tidak punya cara untuk menentukan plaintext mana yang benar. Meskipun One Time
UNIVERSITAS SUMATERA UTARA
Pad merupakan cipher yang sempurna aman, namun faktanya ia tidak digunakan secara universal dalam aplikasi kriptografi sebagai satu-satunya sistem cipher yang
tidak dapat dipecahkan hanya sedikit sistem komunikasi yang menggunakan OTP. Malahan orang masih tetap menggunakan sistem cipher yang dapat dipecahkan.
Alasannya adalah dari segi kepraktisan, yaitu karena panjang kunci harus sama dengan panjang pesan, maka One Time Pad hanya cocok untuk pesan berukuran kecil.
2.10.1 Proses Enkripsi dan Dekripsi
Prinsip enkripsi pada algoritma ini adalah dengan mengkombinasikan masing-masing karakter pada plaintext dengan satu karakter pada kunci. Oleh karena itu, panjang
kunci harus sama dengan panjang plaintext. Enkripsi dapat dinyatakan sebagai penjumlahan modulo 256 menggunakan kode ASCII 8 bit dari satu karakter
plaintext dengan satu karakter kunci OTP :
c
i
= p
i
+ k
i
mod 256 2.2
Dalam hal ini, p
i
adalah plaintext ke-i, k
i
adalah kunci ke-i, dan c
i
adalah huruf ciphertext ke-i. Panjang kunci sama dengan panjang plaintext, sehingga tidak
ada kebutuhan mengulang penggunaan kunci selama proses enkripsi. Setelah pengirim mengenkripsikan pesan dengan kunci, ia menghancurkan kunci tersebut. Penerimaan
pesan menggunakan kunci yang sama untuk mendekripsikan karakter-karakter ciphertext menjadi karakter-karakter plaintext dengan persamaan :
p
i
= c
i
- k
i
mod 256 2.3
Sebagai contoh : Sebuah huruf plaintext ‘B’ akan dienkripsi dengan menggunakan kunci ‘I’ kunci ini masih dipilih sembarang, karena belum
menggunakan metode pembangkit bilangan acak, untuk sistem yang akan dibuat selanjutnya, kunci yang terpilih sudah menggunakan metode LCG seperti yang sudah
UNIVERSITAS SUMATERA UTARA
dibahas pada subbab sebelumnya, maka akan menghasilkan sebuah huruf ciphertext sebagai berikut:
Plaintext : B 66
Kunci : I 73
Plaintext + kunci : 139
Plaintext + kunci mod 256 : 139 ‹
Untuk mendekripsikannya, akan diproses sebaliknya, yaitu :
Ciphertext : ‹ 139
Kunci : I 73
Ciphertext - kunci : 66
Ciphertext - kunci mod 256 : 66 B
UNIVERSITAS SUMATERA UTARA
BAB 3
ANALISIS DAN PERANCANGAN SISTEM
3.1 Analisis Algoritma One Time Pad