RC4 представляет собой потоковый шифр с переменной длиной ключа, разработанный в 1987 г. Роном Ривестом для компании RSA Data Security, Inc.
Описывается шифр очень просто. Алгоритм работает в режиме OFB. Ключевая последовательность не зависит от исходного текста. Структура алгоритма включает блок замены размерностью 8х8:
. Блок замены представляет собой зависимую от ключа переменной длины перестановку чисел 0,…, 255. Имеется два счетчика i и j, первоначально равные 0. Для генерирования псевдослучайного байта выполняются следующие действия:
, (19)

переставить
и 
, (21)
. (22)
Затем байт k складывается по модулю 2 с байтом исходного текста для получения шифрованного.
Инициализация блока замены также проста. Вначале он заполняется линейно:
. Затем заполняется еще один 256-байтный массив ключом, при этом ключ может повторяться необходимое число раз для заполнения всего массива:
. Счетчик j устанавливается в 0. После чего производятся следующие действия:
for i=0 to 255

переставить
и
.
Возможно обобщение алгоритма на большие длину слова и размер блока замены. Так, можно построить шифр с блоком замены размерностью 16х16 (потребуется 128 Кбайт памяти) и длиной слова 16 бит. Этап инициализации будет значительно медленнее, необходим цикл до 65535, если мы хотим в точности следовать конструкции, но получившийся в результате алгоритм будет более быстрым.