RC4 (Rivest Cipher 4) ay isang stream cipher na idinisenyo ni Ron Rivest noong 1987. Ito ay nag-e-encrypt ng data sa pamamagitan ng pagbuo ng isang pseudorandom stream ng mga bits (tinatawag na keystream) na pinagsama sa plaintext data, karaniwang gumagamit ng XORtext operation, upang makabuo ng isang XOR text operation.
Encryption: Ang bawat byte ng plaintext ay pinagsama sa isang katumbas na byte mula sa keystream upang bumuo ng ciphertext.
Pag-decryption: Ang parehong keystream ay ginagamit upang i-XOR ang ciphertext at mabawi ang orihinal na plaintext.
Bilis: Kilala ang RC4 sa bilis at kahusayan nito, lalo na sa mga kapaligirang may limitadong mapagkukunan.
Pagiging simple: Ito ay simple upang ipatupad at nangangailangan ng kaunting mga mapagkukunan, na ginagawang angkop para sa mga kapaligiran na may limitadong kapangyarihan sa pagproseso.
Makasaysayang Paggamit: Ang RC4 ay malawakang ginamit sa mga protocol tulad ng SSL/TLS para sa secure na komunikasyon at WEP para sa seguridad ng wireless network.
Pagbuo ng Key: Ang isang lihim na key (karaniwan ay nasa pagitan ng 40 at 2048 bits) ay ginagamit upang simulan ang RC4 na estado.
Pagbuo ng Keystream: Ang RC4 algorithm ay bumubuo ng pseudorandom keystream batay sa key.
Encryption: Ang bawat byte ng plaintext ay XORed gamit ang keystream byte, na nagreresulta sa ciphertext.
Pag-decryption: Ang parehong keystream ay ginagamit upang i-XOR ang ciphertext at mabawi ang orihinal na plaintext.
Mga Aklatan/Mga Tool: Sinusuportahan ang RC4 sa iba't ibang mga aklatan, bagama't madalas itong hindi na ginagamit para sa mga kadahilanang pangseguridad:
Python: library ng pycryptodome.
Java: javax.crypto package (bagama't hindi hinihikayat ang paggamit nito pabor sa mas malalakas na algorithm).
C#: System.Security.Cryptography namespace.
Mga Legacy System: Kapag nagtatrabaho sa mga mas lumang system na gumagamit pa rin ng RC4 encryption (hal., mga lumang pagpapatupad ng SSL/TLS).
Mga Hindi Kritikal na Aplikasyon: Kung gumagawa ka ng mga proyekto kung saan ang bilis ay mas mahalaga kaysa sa seguridad, bagama't ito ay karaniwang hindi hinihikayat pabor sa mas malakas na cipher.
Mga Layuning Pang-edukasyon: Ang RC4 ay kadalasang ginagamit para sa pagtuturo tungkol sa simetriko cipher at stream cipher dahil sa pagiging simple nito.