В криптографии RC2 является симметричным блочным шифром. Разработан Рональдом Ривестом в 1987 году. "RC" означает "Шифр Ривеста", или "Код Рона".
RC2 - это 64-битный блочный шифр с переменным размером ключа и использованием 18 раундов.
Раунды организованы в виде мощной фейстел-сети с 16 раундами одного типа, называемыми "смешивание раундов", перемежающимися двумя раундами другого типа, называемыми "затирание раундов".
18 раундов выполняются в следующей чередующейся последовательности:
- выполнить 5 раундов смешивания.
- выполнить 1 затирание.
- выполнить 6 раундов смешивания.
- выполнить 1 затирание.
- выполнить 5 раундов смешивания.
RC2 использует алгоритм расширения ключа, с помощью которого расширенный ключ, состоящий из 64 (16-битных слов), выдается в зависимости сложным образом от каждого бита поставляемого входного ключа "переменной длины". Раунд смешивания состоит из четырех приложений "путаного" преобразования, как показано на диаграмме. Раунд "смешивается" путем добавления в него одного из 16-битных слов расширенного ключа (RFC 2268).
RC2 подвержен атаке с использованием 234 выбранных атак обычным текстом (Kelsey et al. , 1997).
Разработка RC2 была спонсирована компанией Lotus, которая искала пользовательский шифр, экспортируемый как часть своего программного обеспечения Lotus Notes, после его оценки АНБ. АНБ предложила пару изменений, которые зарегистрировал Рональд Ривест. После дальнейших переговоров шифр был одобрен для экспорта в 1989 году.
Наряду с RC4, RC2 с 40-битным ключом был обработан в соответствии с экспортными правилами США для криптографии. Теперь все 40-битные алгоритмы шифрования устарели, так как они опасно подвержены атакам грубой силы.
Изначально детали алгоритма держались в секрете - собственность RSA Security, но 29 января 1996 года исходный код RC2 был анонимно размещен в Интернете на форуме Usenet, sci.crypt. Аналогичное сообщение произошло ранее с RC4. Неясно, имел ли плакат доступ к спецификациям или он был реверсивно спроектирован.

