CoderTools

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

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

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

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

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

О семействе RC

Семейство шифров RC было разработано Роном Ривестом в MIT и RSA Security. 'RC' изначально означало 'Rivest Cipher' или 'Ron's Code'. Семейство включает RC2, RC4, RC5 и RC6, каждый с отличительными характеристиками.

RC2 — это 64-битный блочный шифр 1987 года. RC4 — это потоковый шифр, который широко использовался в SSL/TLS и WEP. RC5 представил инновационную параметризуемую структуру. RC6 был разработан как кандидат AES, расширяя RC5 целочисленным умножением для лучшей диффузии.

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

Алгоритм Тип Длина ключа Размер блока Безопасность Статус
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: Сцепление блоков — каждый блок XOR-ится с предыдущим зашифрованным блоком. Рекомендуется для большинства случаев.
  • ECB: Кодовая книга — каждый блок шифруется независимо. Не рекомендуется для конфиденциальных данных.
  • CFB: Обратная связь по шифротексту — превращает блочный шифр в потоковый. Самосинхронизирующийся.
  • OFB: Обратная связь по выходу — генерирует ключевой поток независимо. Без распространения ошибок.

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

  • RC4 НЕ следует использовать для новых приложений из-за известных уязвимостей
  • RC4-Drop (отброс первых 768-3072 байт) смягчает некоторые атаки, но не рекомендуется
  • RC5 с достаточным количеством раундов (12+) и длиной ключа (128+ бит) считается безопасным
  • RC6 обеспечивает отличную безопасность, сравнимую с AES

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

  • Совместимость и миграция устаревших систем
  • Образовательные и исследовательские цели
  • Встроенные системы с RC5 (простая реализация)
  • Приложения высокой безопасности с RC6

Ссылки