Kriptografide RC4 (ARC4 veya ARCFOUR olarak da bilinir, yani Alleged RC4, aşağıya bakınız) en yaygın yazılım akış şifrelerinden biridir. Secure Sockets Layer (SSL) (İnternet trafiğini korumak için) ve WEP (kablosuz ağların güvenliğini sağlamak için) gibi popüler protokollerde kullanılır.
RC4 basit ve hızlı olmasıyla bilinir, ancak çıkış anahtar dizisinin başlangıcı kaldırılmadığında veya bir anahtar dizisi iki kez kullanıldığında saldırılar meydana gelebilir; RC4 kullanmanın bazı yolları WEP gibi çok güvensiz kriptosistemlere dönüşebilir.
RC4, 1987 yılında RSA Security'den Ron Rivest tarafından oluşturulmuştur. Resmi adı "Rivest Cipher 4" olmakla birlikte, RC kısaltmasının "Ron's Code" anlamına geldiği de bilinmektedir (ayrıca bkz. RC2, RC5 ve RC6).
RC4 ilk olarak ticari bir sır olarak oluşturuldu, ancak Eylül 1994'te Cypherpunks posta listesine bir açıklaması gönderildi. Kısa süre sonra sci.crypt haber grubuna ve oradan da İnternet'teki birçok web sitesine gönderildi. Çıktısı lisanslı RC4 kullanan tescilli yazılımın çıktısıyla eşleştiği için kodun orijinal (sahte değil) olduğu doğrulandı. Algoritma bilindiği için artık ticari bir sır değildir. Ancak "RC4" ismi ticari markadır. RC4, olası ticari marka sorunlarından kaçınmak için genellikle "ARCFOUR" veya "ARC4" (Alleged RC4 anlamına gelir, çünkü RSA algoritmayı hiçbir zaman resmi olarak yayınlamamıştır) olarak adlandırılır. Kablosuz kartlar için WEP ve WPA ve TLS dahil olmak üzere yaygın olarak kullanılan bazı şifreleme protokollerinin ve standartlarının bir parçası haline gelmiştir.
Bu kadar geniş bir uygulama yelpazesinde kullanılmasına yardımcı olan iki ana neden, hızı ve basitliğidir. RC4'ün hem yazılım hem de donanımda kullanımını geliştirmek son derece kolaydır.
RC4 şifreleme algoritması, anahtar zamanlama algoritması (KSA) kullanılarak genellikle 40 ila 256 bit arasında farklı bir anahtar uzunluğu ile başlatılır. Bu tamamlandıktan sonra, şifrelenmiş bit akışı sözde rastgele üretim algoritması (PRGA) kullanılarak oluşturulur.
RC4, kriptograflar tarafından güvenli bir şifre için belirlenen standartları birçok yönden karşılayamaz ve RC4'e saldırmanın birçok yöntemi olduğundan yeni uygulamalarda kullanılması önerilmez. Anahtar dizisinden ilk kilobayt verinin çıkarılması güvenliği bir miktar artırabilir.