Langkah 3:
Lakukan Enkripsi Jum = PanjangPlainText
i = 0 j = 0
For y=1 to Jum
Next y
3.2.1. Analisis Kelemahan Algoritma Kriptografi Rivest Cipher
Adapun kelemahan dari RC-4 terlihat pada kotak yang ada di psedocode diatas, algoritma kriptografi ini menggunakan XOR dalam melakukan operasi pada enkripsi
dan dekripsinya Jika diasumsikan A berhasil menyadap 2 buah Cipher text berbeda dengan
kunci yang sama, A kemudian meng XOR kan kedua Cipher text tersebut, jika berhasil mengetahui plain teks dari Cipher text tersebut maka akan dengan mudah
menemukan plaintext yang lain tanpa perlu mengetahui rangkaian kuncinya seperti contoh dibawah ini :
Py = BinerC[y] XOR BinerKey[y]
Universita Sumatera Utara
Gambar 3.2 : Contoh Hasil XOR Sehingga mendapatkan Plain
3.3.Gabungan Vernam Cipher dan RC-4
Melihat kekurangan dari kedua algoritma ini maka dilakukan beberapa teknik untuk mengurangi kekurangan tersebut diantaranya adalah dengan menggabungkan kedua
algoritma tersebut sehingga diperoleh sebuah algoritma yang baru yang sangat berbeda dengan algoritma sebelumnya, adapun proses penggabungan algoritma ini
dilakukan dengan cara sebagai berikut ini : Proses Enkripsi :
Tahap 1 : Lakukan pembentukan kunci pertama dengan cara melakukan konversi karakater kunci kedalam bentuk Ascii Code
didefeinisikan menjadi f1 Jum = LENKunci
For i=1 to Jumlah f1i = Ascsubstrkunci,i,1
next i Tahap 2 : Lakukan pembentukan kunci kedua dengan algoritma RC-4
didefeinisikan menjadi f2
PlainText-1 :
01010101 Key
: 11001100
------------------------------------- CipherText-1
: 10011001
PlainText-2 :
10101011 Key
: 11001100
------------------------------------- CipherText-2
: 01100111
CipherTeks-1 :
10011001 CipherTeks-2
: 01100111
------------------------------------------ :
11111110 PlainText-1
: 01010101
PlainText-2 :
10101011
Universita Sumatera Utara
Inisialisasi S-Box Array S Jum = LenKunci
i = 0 j = 0
For y=1 to Jum j = j + S[i] + K [i mod jum] mod jum
Swap S[i],S[j] Next y
Langkah 2:
Lakukan Pengacakan S-Box Jum = LenKunci
i = 0 j = 0
For y=1 to Jum i = i + 1 mod Jum
j = j + S[i] mod Jum swap S[i],S[j]
Keyy = S[S[i]+S[j] mod jum] Next y
Tahap 3 : untuk f1,1 dan f1,2 Buat sebuah table yang panjang kolomnya 0 sd 255
Tahap 4 : isi tabel untuk f1,1 dengan nilai 0 sd 255 For i=0 to 255
f11,i = i
Universita Sumatera Utara
f21,i = i next i
Tahap 5 : berikutnya adalah dengan mengisi f1,2 dengan nilai dimulai dari nilai kunci f1, jika nilai fi sudah di masukkan maka isi
kolom selanjutnya dengan urutan 0 sd 255 tanpa memasukkan nilai angka yang sudah dimasukkan sebelumnya.
For i=0 to 255 If i = jum then
f12,i = K1i else
f11,i = i endif
next i Tahap 6 : berikutnya adalah dengan mengisi f2,2 dengan nilai dimulai
dari nilai kunci f2, jika nilai f2 sudah di masukkan maka isi kolom selanjutnya masukkan urutan 0 sd 255 tanpa memasukkan
nilai angka yang sudah dimasukkan sebelumnya. For i=0 to 255
If i = jum then f12,i = K1i
else f11,i = i
endif next i
Tahap 7 : Untuk melakukan enkripsi dilakukan permutasi dengan cara berikut ini :
a. Cari nilai Ascii Code dari Plainttext Pi di deretan angka f1,1 jika jika ditemukan ambil nilai f1,2 sesuai dengan urutan
plaintteks tersebut sebagai Ciphertext Ci X = 1
For j=1 to LenPlaintext Urut = X
For i=0 to 255
Universita Sumatera Utara
If f1Urut,i = Pi then Ci = f1Urut, i
If X = 1 then X = 2
Else X = 1
Endif Endif
Next i Next j
b. Selanjutnya Cari nilai Ascii Code dari Plainttext i di deretan angka f2,1 jika jika ditemukan ambil nilai f2,2 sesuai dengan
urutan plaintteks tersebut sebagai Ciphertext Ci X = 1
For j=1 to LenPlaintext Urut = X
For i=0 to 255 If f2Urut,i = Pi then
Ci = f2Urut, i If X = 1 then
X = 2 Else
X = 1 Endif
Endif Next i
Next j Proses Dekripsi :
Tahap 1 : Lakukan pembentukan kunci pertama dengan cara melakukan konversi karakater kunci kedalam bentuk Ascii Code
didefeinisikan menjadi f1
Universita Sumatera Utara
Jum = LENKunci For i=1 to Jumlah
f1i = Ascsubstrkunci,i,1 next i
Tahap 2 : Lakukan pembentukan kunci kedua dengan algoritma RC-4 didefeinisikan menjadi f2
Inisialisasi S-Box Array S Jum = LenKunci
i = 0 j = 0
For y=1 to Jum j = j + S[i] + K [i mod jum] mod jum
Swap S[i],S[j] Next y
Langkah 2:
Lakukan Pengacakan S-Box Jum = LenKunci
i = 0 j = 0
For y=1 to Jum i = i + 1 mod Jum
j = j + S[i] mod Jum swap S[i],S[j]
Keyy = S[S[i]+S[j] mod jum]
Universita Sumatera Utara
Next y Tahap 3 : untuk f1,1 dan f1,2 Buat sebuah table yang panjang kolomnya
0 sd 255 Tahap 4 : isi tabel untuk f1,1 dengan nilai 0 sd 255
For i=0 to 255 f11,i = i
f21,i = i next i
Tahap 5 : berikutnya adalah dengan mengisi f1,2 dengan nilai dimulai dari nilai kunci f1, jika nilai fi sudah di masukkan maka isi
kolom selanjutnya dengan urutan 0 sd 255 tanpa memasukkan nilai angka yang sudah dimasukkan sebelumnya.
For i=0 to 255 If i = jum then
f12,i = K1i else
f11,i = i endif
next i Tahap 6 : berikutnya adalah dengan mengisi f2,2 dengan nilai dimulai
dari nilai kunci f2, jika nilai f2 sudah di masukkan maka isi kolom selanjutnya masukkan urutan 0 sd 255 tanpa memasukkan
nilai angka yang sudah dimasukkan sebelumnya. For i=0 to 255
If i = jum then f12,i = K1i
else f11,i = i
endif next i
Tahap 7 : Untuk melakukan enkripsi dilakukan permutasi dengan cara berikut ini :
Universita Sumatera Utara
a. Cari nilai Ascii Code dari Ciphertext Ci di deretan angka f1,1 jika jika ditemukan ambil nilai f1,2 sesuai dengan urutan
plaintteks tersebut sebagai Ciphertext Pi X = 1
For j=1 to LenCiphertext Urut = X
For i=0 to 255 If f1Urut,i = Ci then
Pi = f1Urut, i If X = 1 then
X = 2 Else
X = 1 Endif
Endif Next i
Next j b. Selanjutnya Cari nilai Ascii Code dari Plainttext i di deretan
angka f2,1 jika jika ditemukan ambil nilai f2,2 sesuai dengan urutan Ciphertext tersebut sebagai Plaintext Pi
X = 1 For j=1 to LenCiphertext
Urut = X For i=0 to 255
If f2Urut,i = Ci then Pi = f2Urut, i
If X = 1 then X = 2
Else X = 1
Endif Endif
Universita Sumatera Utara
Next i Next j
Universita Sumatera Utara
BAB IV HASIL DAN PEMBAHASAN
Bab ini mendiskusikan pseucode hasil kombinasi algoritma Vernam Cipher dan Rivest Cipher 4 dalam proses enkripsi dan dekripsi pada Kriptografi.
4.1. Hasil Penelitian