Berikut ini akan dijelaskan bagian-bagian dari algoritma
RC4 Stream Cipher tersebut.
1. Key Setup / Key Scheduling Algorithm (KSA) Pada bagian ini, terdapat tiga tahapan proses didalamnya, yaitu:
1 1. Inisialisasi S-Box Pada tahapan ini, S-Box akan diisi dengan nilai sesuai indeksnya untuk
mendapatkan S-Box awal. Algoritmanya adalah sebagai berikut: a. untuk i=0 hingga i=255 lakukan b. isikan S dengan nilai i c. Tambahkan i dengan 1, kembali ke 2 1. 2. Menyimpan kunci dalam Key Byte Array Pada tahapan ini, kunci (key) yang akan kita gunakan untuk mengenkripsi atau dekripsi akan dimasukkan ke dalam array berukuran 256 secara berulang sampai seluruh array terisi. Algoritmanya adalah sebagai berikut: a. isi j dengan 1 b. untuk i=0 hingga i=255 lakukan c. jika j > panjang kunci maka d. j diisi dengan nilai 1 e. akhir jika f. isi K ke i dengan nilai ASCII karakter kunci ke j g. nilai j dinaikkan 1 h. tambahkan i dengan 1, kembali ke 2 1.3. Permutasi pada S-Box Pada tahapan ini, akan dibangkitkan sebuah nilai yang akan dijadikan aturan untuk permutasi pada S-Box. Algoritmanya adalah sebagai berikut : a. isi nilai j dengan 0 b. untuk i=0 hingga i=255 lakukan c. isi nilai j dengan hasil operasi ( j+S(i)+K(i) ) mod 256 d. Tukar nilai S(i) dan S(j) e. Tambahkan i dengan 1, kembali ke 2 ------------------------------------------------------------------ Keterangan: P : array of karakter plainteks. Plainteks adalah pesan yang akan dirahasiakan K : keystream yang dibangkitkan C : cipherteks adalah pesan hasil proses enkripsi.