CoderTools

Шифрование/Дешифрование семейства RC

Симметричные шифры RC2/RC4/RC5/RC6, разработанные Роном Ривестом

⚠️ Предупреждение о безопасности

RC4 имеет известные уязвимости и был исключен из TLS/SSL. Для максимальной безопасности рассмотрите использование AES-256. Все данные обрабатываются локально в вашем браузере.

Длина ключа RC2: 1-128 байт. Размер блока: 64 бит. Рекомендуемые эффективные биты ключа: 128
Параметры формата

О семействе RC

Семейство RC (Rivest Cipher, также «Ron's Code») разработано Роном Ривестом в MIT и RSA Security за несколько десятилетий. RC2 (1987, опубликован через RFC 2268 в 1998 г.): 64-битный блочный шифр, переменный ключ 64–128 бит, создан для экспортного контроля. RC4 (1987, утечка на Cypherpunks в 1994 г.): поточный шифр, печально известный уязвимостью WEP и атакой Флурера-Мантина-Шамира.

RC5 (1994, Ривест): полностью параметризуемый шифр RC5-w/r/b. RC5-32/12/16 — эталонная реализация. RC6 (1998, Ривест/Гупта/Шамир/Инь): расширил RC5 целочисленным умножением и четырьмя регистрами как финальный кандидат AES со 128-битными блоками.

Сравнение алгоритмов

Алгоритм Тип Длина ключа Размер блока Безопасность Статус
RC2 Блочный шифр 1-128 байт 64 бит Слабый Устарел
RC4 Потоковый шифр 1-256 байт Н/Д (потоковый) Слабый Устарел
RC5 Блочный шифр 0-255 байт 32/64/128 бит Хороший Безопасный
RC6 Блочный шифр 16/24/32 байта 128 бит Отличный Финалист AES

RC2 (Rivest Cipher 2)

RC2 — это 64-битный блочный шифр, разработанный в 1987 году. Он использует ключ переменной длины (1-128 байт) и имеет уникальный параметр 'эффективные биты ключа', который может ограничивать пространство поиска ключей.

Первоначально разработанный как секретный, RC2 был предназначен для экспортной совместимости с 40-битной эффективной длиной ключа. Из-за известных уязвимостей его следует использовать только для совместимости с устаревшими системами.

RC4 (Rivest Cipher 4)

RC4 — это потоковый шифр, разработанный в 1987 году. Он генерирует псевдослучайный поток байтов (ключевой поток), который XOR-ится с открытым текстом. Известный своей простотой и скоростью, он широко использовался в протоколах SSL/TLS, WEP и WPA.

Из-за обнаруженных уязвимостей (особенно в начальных байтах ключевого потока) RC4 был исключен из современных протоколов безопасности. Вариант 'RC4-Drop' отбрасывает начальные байты ключевого потока для смягчения этих проблем.

RC5 (Rivest Cipher 5)

RC5, опубликованный в 1994 году, представил параметризуемый дизайн с тремя переменными: размер слова (w), количество раундов (r) и длина ключа (b). Эта гибкость позволяет адаптировать RC5 к различным требованиям безопасности.

RC5 использует зависящие от данных вращения как основную нелинейную операцию, что делает его простым, но эффективным. Распространенные конфигурации включают RC5-32/12/16 (32-битные слова, 12 раундов, 16-байтный ключ).

RC6 (Rivest Cipher 6)

RC6 был представлен как кандидат AES в 1998 году и был одним из пяти финалистов. Он расширяет RC5 целочисленным умножением для лучшей диффузии и использует четыре рабочих регистра вместо двух.

С фиксированным размером блока 128 бит и поддержкой ключей 128/192/256 бит, RC6 обеспечивает отличную безопасность. Хотя Rijndael был выбран как AES, RC6 остается уважаемым и безопасным алгоритмом.

Основные особенности

  • RC2: Устаревший блочный шифр с переменной длиной ключа, только для совместимости
  • RC4: Чрезвычайно быстрое потоковое шифрование, идеально для приложений реального времени
  • RC5: Параметризуемый дизайн, позволяющий гибкие компромиссы безопасности/производительности
  • RC6: Современный блочный шифр с сильными гарантиями безопасности
  • Все алгоритмы свободны от патентов и доступны бесплатно для любого использования

Режимы шифрования (RC5/RC6)

  • CBC: CBC для RC2/RC5/RC6 — 64-битные блоки RC2/RC5-32/RC6-32 уязвимы к атаке Sweet32 (≈ 32 ГБ под одним ключом). RC4 не имеет CBC; генерирует непрерывный поток PRGA.
  • ECB: ECB для RC2/RC5/RC6 — каждый блок обрабатывается независимо. Одинаковые блоки → одинаковый шифртекст. Только для однoblokchnyh токенов/обёртки ключа.
  • CFB: CFB для RC2/RC5/RC6 — блочная функция шифрует предыдущий сегмент, верхние n бит XOR с открытым текстом. Самосинхронизирующийся поточный режим.
  • OFB: OFB для RC2/RC5/RC6 — генерация ключевого потока итеративным повторным шифрованием, без распространения ошибок.

Соображения безопасности

  • RC4 нельзя использовать ни в каком новом приложении. RFC 7465 (2015) официально запрещает RC4 в TLS. Атака FMS (2001) восстанавливала ключи WEP менее чем за минуту. RC4 здесь — исключительно для устаревшего дешифрования.
  • RC4-Drop (отбрасывание первых 768–3072 байт PRGA) снижает, но не устраняет смещения RC4. Атака NOMORE (2015, Black Hat): восстановление cookies из RC4 TLS за 75 часов.
  • RC5 и RC6 не имеют практических атак на полное число раундов, но их 64-битные блоки создают риск Sweet32 при ≈ 32 ГБ CBC-данных под одним ключом.
  • RC2 создан для эффективного 40-битного ключа (экспортный) и считается слабым. Использовать исключительно для совместимости с устаревшим S/MIME.

Случаи использования

  • Форензика WEP/WPA: реконструкция RC4-потока на пакет из 3-байтового IV и сетевого ключа
  • Расшифровка S/MIME: почтовые архивы с RC2/40 или RC2/128 по RFC 2268
  • Исследование параметризации RC5: сравнение RC5-32/12/16 с RC5-64/20/16 для понимания масштабирования ARX
  • Оценка кандидатов AES: воспроизведение RC6-32/20 для сравнения с Rijndael, Serpent, Twofish, MARS

Ссылки

Быстрое меню

Нет недавних инструментов