RC4 (Rivest Cipher 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 namespace.
Стари системи: При работа с по-стари системи, които все още използват RC4 криптиране (напр. стари SSL/TLS имплементации).
Некритични приложения: Ако работите по проекти, където скоростта е по-важна от сигурността, въпреки че това обикновено не се препоръчва в полза на по-силни шифри.
Образователни цели: RC4 често се използва за обучение по симетрични шифри и поточни шифри поради своята простота.