RC4 adalah penyandian stream cipher yang dibuat oleh Ron Riverst pada tahun 1987 untuk pengamanan RSA. Algoritmanya didasarkan pada permutasi acak.
Kunci dengan panjang variable 1 – 256 bytes digunakan untuk inisialisasi sebuah state. Vector S dengan panjang 256 byte, dengan elemen S[0], S[1],…,S[255]. S terdiri dari permutasi semua bilangan 8 bit dari 0 – 255 untuk enkripsi atau deskripsi, sebuah byte K dibangkitkan dari S dengan memilih 1 dari 255 entri dengan cara sistematis. Setiap kali k dibangkitkan, entri-entri pada S sekali lagi dipermutasikan.
^ inisialisasi S
Entri – entri S di set dari 0 – 255 dengan urutan naik; S[0] = 0, S[1] = 1,….,S[255] = 255. vektor sementara T juga dibuat. Jika panjang kunci dari K =256 byte, lalu K di transper ke T. Jika tidak, untuk setiap kunci dengan panjang keylen byte, elemen keylen pertama T dicopykan dari K. Dan K diulang beberapa kali untuk mengisi T.
/* inisialisasi */
for i = 0 to 255
do S[i] = i;
T[i] = K [i % keylen];
lalu kita menggunakan T untuk menginisialisasi permutasi S. Dimulai dengan S[0] hingga S[255] dan untuk setiap S[i], tukar S[i] dengan byte lainnya pada S berdasarkan skema.
/* inisial permutasi */
j = 0;
for i = 0 to 255
do j = (j + S[i] + T[i] % 256 );
swap ( s[i], S[j] );
karena operasi pada S hanya pertukaran maka hanya terjadi permutasi dengan S tetap semua bilangan antara 0 – 255.
^ Pembangkitan Stream
Setelah S diinisialisasi, key input tidak lagi dipakai. Pembangkitan stream dimulai dengan S[0] – S[255] dan untuk setiap S[i], menukar S[i] dengan byte lainnyadalam S berdasarkan skema berikut. Setelah S[255] dicapai proses berlanjut, dimulai kembali dari S[0].
/* stream generation */
i,j = 0;
While (true)
i = ( i+1 ) % 256;
j = ( j + S[i]) % 256;
swap ( S[i], S[j] );
t = ( S[i], S[j] )% 256;
k= S[t];
untuk enkripsi, XOR nilai K dengan byte selanjutnnya pada plainteks. Untuk dekripsi, XOR nilai K denganbyte selanjutnya pada cipherteks.
Filed under: ALGORITMA RC4

ehm…setau saya RC5 adalah pengembangan dari RC4
bagian mana yang dikembangkan? dan bagaimana perbandingan tingkat kekuatan dari RC4 dengan RC5?
RC6 merupakan finalis AES. perbedaan apa yang mendasar pada keduanya??? (maksudnya RC4 dan RC6, sehingga RC4 dibuat varian yang baru yaitu RC 5 dan RC 6)
RC4 termasuk Cipher Aliran, sedangkan RC5 dan RC6 termasuk Cipher Blok,
Cara kerjanya berbeda antara Cipher Aliran dan Cipher Blok..
kedua algoritma itu punya kelebihan dan kelemahan…
ada yang punya decodernya gag??
yuuuuuuu
not bad lahhhh….