RC4 (Rivest Şifre 4), Ron Rivest tarafından 1987'de tasarlanan bir akış şifresidir. Verileri, genellikle bir XOR işlemi kullanılarak düz metin verileriyle birleştirilen sahte rastgele bir bit akışı (anahtar akışı olarak adlandırılır) üreterek şifreler ve şifreli metin üretir.
Şifreleme: Düz metnin her bir baytı, şifreli metni üretmek için anahtar akışından karşılık gelen bir baytla birleştirilir.
Şifre Çözme: Aynı anahtar akışı, şifreli metni XORlamak ve orijinal düz metni kurtarmak için kullanılır.
Hız: RC4, özellikle sınırlı kaynaklara sahip ortamlarda hızı ve verimliliğiyle bilinir.
Basitlik: Uygulanması basittir ve minimum kaynak gerektirir, bu da onu sınırlı işlem gücüne sahip ortamlar için uygun hale getirir.
Tarihsel Kullanım: RC4, güvenli iletişim için SSL/TLS ve kablosuz ağ güvenliği için WEP gibi protokollerde yaygın olarak kullanılmıştır.
Anahtar Oluşturma: Gizli bir anahtar (genellikle 40 ile 2048 bit arasında) kullanılır RC4 durumunu başlatmak için.
Anahtar Akışı Oluşturma: RC4 algoritması, anahtara dayalı bir sözde rastgele anahtar akışı oluşturur.
Şifreleme: Düz metnin her baytı, anahtar akışı baytıyla XOR'lanır ve şifreli metin elde edilir.
Şifre Çözme: Aynı anahtar akışı, şifreli metni XOR'lamak ve orijinal düz metni kurtarmak için kullanılır.
Kütüphaneler/Araçlar: RC4 çeşitli kütüphanelerde desteklenir, ancak güvenlik nedenleriyle genellikle kullanım dışı bırakılır:
Python: pycryptodome kütüphanesi.
Java: javax.crypto paketi (ancak daha güçlü algoritmalar lehine kullanımı önerilmez).
C#: System.Security.Cryptography ad alanı.
Eski Sistemler: Hala RC4 şifrelemesi kullanan eski sistemlerle çalışırken (örneğin, eski SSL/TLS uygulamaları).
Kritik Olmayan Uygulamalar: Hızın güvenlikten daha önemli olduğu projeler üzerinde çalışıyorsanız, ancak bu genellikle daha güçlü şifreler lehine önerilmez.
Eğitim Amaçları: RC4, basitliği nedeniyle genellikle simetrik şifreler ve akış şifreleri hakkında eğitim vermek için kullanılır.