PENGERTIAN RC 4



RC4 (ARCFOUR) adalah chiper aliran yang digunakan secara luas pada sistem keamanan seperti protokol  SSL (Secure Socket Layer). Algoritma kriptogarfi ini sederhana dan mudah diimplementasikan. RC4 dibuat oleh Ron Rivest dari Laboraturium RSA (RC adalah singkatan dari Ron’s Code).
RC4 membangkitkan aliran kunci (keystream) yang kemudian di-Xor-kan dengan plainteks pada waktu enkripsi (di-Xor-kan dengan menggunakan bit-bit chiperteks pada waktu dekripsi). Tidak seperti chiper aliran yang memproses data dalam bit, RC4 memperoleh data dalam ukuran byte (1 byte = 8 bit). Untuk membangkitkan kunci chiper menggunakan status internal yang terdiri dari dua bagian :
1.       Permutasi angka 0 sampai 255 di dalam larik S0, S1,..,S255. Permutasi merupakan fungsi dari kunci U dengan panjan variabel.
2.       Dua buah pencacah indeks, i dan j.
Langkah-langkah algoritma RC4 adalah sebagai berikut:

  1. 1.   Inisialisasi larik S sehingga S0= 0, S1= 1,..,S225 = 225

Dalam notasi algoritmik, langkah 1 ini ditulis sebagai berikut:
                For i =  0 to 225 do
                                S[i] =  i
                End for
  1. 2.    Jika panjang kunci U < 225, lakukan padding yaitu penambahan byte semu sehingga panjang kunci menjadi 256 byte. Misalnya jika U = “abc” yang hanya terdiri dari 3 byte (3 huruf), maka lakukan padding dengan menambahkan byte (huruf) semu misalnya U=”abcabcabc...” sampai panjang U mencapai 256 byte.
  1. 3.    Lakukan permutasi terhadap nilai-nilai di dalam larik S dengan cara sebagai berikut:
j = 0
For i = 0 to 255 do
                J = (j + S[i] + U[i] ) mod 256
Swap ( S[i], S[j]
End for
  1. 4.     Bangkitkan aliran-aliran kunci (keystream) dan lakukan enkripsi dengan cara sebagai berikut:
                i = 0
                j= 0
                for idx = 0 to panjang plainteks – 1 do
                i = (i + 1) mod 256
                j = (j + S[i]) mod 256
                swap (S[i], S[j])
                t= (S[i] + S[j]) mod 256
                k = S[t]
 c = k Xor P[idx] (*enkripsi)
end for
(keterangan: P adalah array yang menyimpan karakter-karakter plainteks)
Proses pembangkit aliran-aliran K diperliahtkan pada gambar 1. Pada gambar tersebut, aliran-aliran K dipilih dengan mengamabil nilai S[i] dan S[j] dan menjumlahkan dalam modulo 256. Hasil penjumlahan adalah indeks t sedemikian sehingga S[t] menjadi kunci aliran K yang kemudian untuk mengekripsi plainteks ke-idx.


 Gambar 1 Diagram pembangkitan kunci aliran K
Karena karakter-karakter kunci di-copy berulang-ulang (untuk mengisi kekurangan 256 byte) maka ada kemungkinan nilai-nilai di dalam larik S ada yang sama. RC4 juga mudah diserang dengan knwon-plaintext attack jika kriptanalis mengetahui beberapa buah plainteks dan chiperteks yang berkoresponden.

Komentar

Postingan populer dari blog ini

Menghapus data Pada Listview

ENTAH SIAPA YANG TAHU??

PROGRAM PEMBAYARAN LISTRIK DENGAN VB NET