Dalam kriptografi, RC4 (juga dikenal sebagai ARC4 atau ARCFOUR yang berarti Dugaan RC4, lihat di bawah ini) adalah salah satu cipher aliran perangkat lunak yang paling umum. Ia digunakan dalam protokol populer seperti Secure Sockets Layer (SSL) (untuk melindungi lalu lintas Internet) dan WEP (untuk mengamankan jaringan nirkabel).
RC4 dikenal karena sederhana dan cepat, tetapi serangan mungkin terjadi ketika awal dari output keystream tidak dihilangkan, atau satu keystream digunakan dua kali; beberapa cara menggunakan RC4 dapat berubah menjadi kriptosistem yang sangat tidak aman seperti WEP.
RC4 diciptakan oleh Ron Rivest dari RSA Security pada tahun 1987. Walaupun nama resminya adalah "Rivest Cipher 4", singkatan RC juga dikenal sebagai singkatan dari "Ron's Code" (lihat juga RC2, RC5 dan RC6).
RC4 pertama kali dibuat sebagai rahasia dagang, tetapi pada bulan September 1994 deskripsi RC4 diposting ke milis Cypherpunks. Segera diposting di newsgroup sci.crypt, dan dari sana ke banyak situs web di Internet. Kode tersebut dipastikan asli (bukan palsu) karena outputnya cocok dengan perangkat lunak berpemilik yang menggunakan RC4 berlisensi. Karena algoritmanya sudah diketahui, maka tidak lagi menjadi rahasia dagang. Nama "RC4" adalah merek dagang, namun. RC4 sering disebut sebagai "ARCFOUR" atau "ARC4" (yang berarti dugaan RC4, karena RSA tidak pernah secara resmi merilis algoritma), untuk menghindari kemungkinan masalah merek dagang. Algoritma ini telah menjadi bagian dari beberapa protokol dan standar enkripsi yang umum digunakan, termasuk WEP dan WPA untuk kartu nirkabel dan TLS.
Dua alasan utama yang membantu penggunaannya dalam berbagai aplikasi adalah kecepatan dan kesederhanaannya. Penggunaan RC4 baik dalam perangkat lunak maupun perangkat keras sangat mudah untuk dikembangkan.
Algoritma enkripsi RC4 dimulai dengan panjang kunci yang berbeda, biasanya antara 40 dan 256 bit, menggunakan algoritma penjadwalan kunci (KSA). Setelah ini selesai, aliran bit terenkripsi dibuat menggunakan algoritma pseudo-random generation (PRGA).
RC4 gagal dalam standar yang ditetapkan oleh kriptografer untuk cipher yang aman dalam banyak hal, dan tidak direkomendasikan untuk digunakan dalam aplikasi baru karena ada banyak metode untuk menyerang RC4. Menghilangkan kilobyte data pertama dari keystream dapat meningkatkan keamanan.