RC4 (Ривестова шифра 4) је ток шифровања коју је дизајнирао Рон Ривест 1987. године. Шифрује податке генерисањем псеудонасумичног тока битова (названог ток кључева) који се комбинује са подацима отвореног текста, обично користећи XOR операцију, да би се произвео шифровани текст.
Шифровање: Сваки бајт отвореног текста се комбинује са одговарајућим бајтом из тока кључева да би се генерисао шифровани текст.
Дешифровање: Исти ток кључева се користи за XOR операцију шифрованог текста и опоравак оригиналног отвореног текста.
Брзина: RC4 је познат по својој брзини и ефикасности, посебно у окружењима са ограниченим ресурсима.
Једноставност: Једноставан је за имплементацију и захтева минималне ресурсе, што га чини погодним за окружења са ограниченом процесорском снагом.
Историјска употреба: RC4 се широко користио у протоколима као што су SSL/TLS за безбедну комуникацију и WEP за безбедност бежичне мреже.
Генерисање кључа: Тајни кључ (обично између 40 и 2048 бита) се користи за иницијализацију RC4 стање.
Генерисање тока кључева: RC4 алгоритам генерише псеудослучајни ток кључева на основу кључа.
Шифровање: Сваки бајт отвореног текста се XOR операцијом обавља са бајтом тока кључева, што резултира шифрованим текстом.
Дешифровање: Исти ток кључева се користи за XOR операцију шифрованог текста и опоравак оригиналног отвореног текста.
Библиотеке/Алати: RC4 је подржан у разним библиотекама, иако је често застарео из безбедносних разлога:
Python: библиотека pycryptodome.
Java: javax.crypto пакет (мада се његова употреба не препоручује у корист јачих алгоритама).
C#: Именски простор System.Security.Cryptography.
Застарели системи: Приликом рада са старијим системима који још увек користе RC4 шифровање (нпр. старе SSL/TLS имплементације).
Некритичне апликације: Ако радите на пројектима где је брзина важнија од безбедности, мада се ово генерално не препоручује у корист јачих шифара.
Образовне сврхе: RC4 се често користи за подучавање симетричних шифри и ток шифри због своје једноставности.