RC5 — симетричен блоков шифър на Роналд Ривест, описание и характеристики

В криптографията RC5 е прост блоков шифър със симетричен ключ, разработен от Роналд Ривест през 1994 г., като експериментален и параметризиран алгоритъм. RC5 има променлив размер на блока, променлив размер на ключа и променлив брой рундове; "RC" означава "Шифър на Ривест" (или алтернативно "Шифър на Рон").

Параметри и означения

RC5 е проектиран да бъде гъвкав: основните параметри са

  • w — размер на думата в бита (обикновено 16, 32 или 64). Блокът е от 2*w бита (две думи).
  • r — брой рундове (0–255).
  • b — дължина на ключа в байтове (0–255 байта, което съответства на 0–2040 бита).

Често се използва нотация RC5-w/r/b, например RC5-32/12/16 (w=32, r=12, b=16 байта = 128 бита ключ). В предложението на Ривест типичните препоръчани параметри бяха блок от 64 бита (w=32), 128‑битов ключ и 12 рунда.

Основни операции и структура

RC5 използва още няколко прости, но мощни операции:

  • Сумиране по модул 2^w (модулни добавки).
  • XOR (изключващо ИЛИ).
  • Ротации (циркулярни завъртания) с броя битове, задаван от стойността на друга дума — т.нар. data-dependent rotations).

Комбинацията от тези операции дава добра дифузия и нелинейност, а изчислителната простота прави RC5 бърз за софтуерна реализация. Структурно алгоритъмът напомня мрежа на Фейстел, но използва двойка думи (A и B) и операции, зависещи от данните в тези думи.

Кратко описание на криптирането

След разширяване на ключа се извършва следното (условно представяне за w-битови думи):

  • Входният блок се разделя на две думи A и B.
  • Преди рундовете: A = A + S[0]; B = B + S[1] (суми по модул 2^w).
  • За i = 1..r: A = ((A XOR B) <<< B) + S[2*i]; B = ((B XOR A) <<< A) + S[2*i+1]; (където <<< означава лява ротация с количество битове, равно на стойността на другата дума, и всички сборове са модул 2^w)
  • Декриптиране се извършва чрез обратните операции (ротации надясно и изваждания), използвайки същия масив S в обратен ред.

Схема за разширяване на ключа

Графикът на ключа (key schedule) е по-сложен от криптирането: първо входният ключ (b байта) се преобразува в масив от w-битови думи; след това се инициализира масив S с 2*r+2 думи, използвайки начални константи Pw и Qw, извлечени от двоичните разширения на e и златното сечение (използвани като "нищо в ръкава ми" числа). Тези начални стойности се смесват с думите на ключа чрез многократно сумиране и ротации, за да се получи финалният масив S, използван при криптиране.

Сигурност и криптоанализ

RC5 привлече вниманието на криптоаналитиците основно заради нетривиалните си операции с ротации, зависещи от данните. Против това бяха разработени различни техники на анализ, включително диференциален криптоанализ и подходи, които използват свойствата на ротациите. Някои от тези атаки са ефективни срещу варианти с намален брой рундове, но при препоръчваните параметри (напр. RC5-32/12/16) не са известни практически, широко приложими атаки, които да компрометират пълната ключова дължина.

Важно е да се отбележи, че какъвто и да е избор на параметри, сигурността зависи от:

  • броя рундове;
  • дължината на ключа;
  • възможните известни резултати от криптоаналитични изследвания за конкретната конфигурация.

Производителност и приложимост

RC5 е лесен за имплементация и често много бърз на платформи с ефективни инструкции за ротация (особено 32-битови и 64-битови процесори). Плюсове и минуси:

  • Плюсове: простота на основните операции, гъвкавост на параметрите, добри резултати при софтуерни реализации.
  • Минуси: сложност в разширяването на ключа (в сравнение с някои други алгоритми), както и спецификата на ротациите, които налагат специално внимание при криптоанализ и при някои хардуерни реализации.

Употреба и наследство

RC5 има историческо значение като пример за дизайн, в който целта бе експериментално да се изследват ефектите на data-dependent ротациите и параметризацията на шифъра. От него произлязоха и други идеи и алгоритми (напр. RC6, предложен като кандидат за AES). RC5 не придоби същото ниво на стандартизация и разпространение като някои модерни алгоритми (напр. AES), но остава важна стъпка в развитието на блоковите шифри.

Кратко резюме

  • Автор: Роналд Ривест, 1994 г.
  • Тип: блоков шифър със симетричен ключ, параметризиран.
  • Параметри: w (дума), r (рундове), b (дължина на ключа).
  • Основни операции: модулни добавки, XOR, data-dependent ротации.
  • Ключова характеристика: използване на ротации, зависещи от данните, и "нищо в ръкава ми" константи от разширенията на e и златното сечение.

Криптоанализ

12-рундовият RC5 (с 64-битови блокове) е уязвим на диференциална атака с 244 избрани открити текста. Като достатъчна защита се предлагат 18-20 кръга.

Компанията RSA Security, която притежава патент за алгоритъма, предлагаше серия от награди от 10 000 щатски долара за разбиване на шифрограми, зашифровани с RC5, но от май 2007 г. тези състезания бяха прекратени. Редица от тези задачи са били решени с помощта на разпределени изчисления, организирани от Distributed.net. Distributed.net е разбил с груба сила RC5 съобщения, криптирани с 56- и 64-битови ключове, а сега работи по разбиването на 72-битов ключ. При сегашното темпо (към 12 ноември 2008 г.) ще са необходими приблизително 1000 години, за да се тестват всички възможни ключове и да се завърши проектът.

Въпроси и отговори

В: Какво представлява RC5?


О: RC5 е прост блоков шифър със симетричен ключ, разработен от Роналд Ривест през 1994 г.

В: Какво означава "RC"?


О: "RC" означава "Шифър на Ривест" или "Шифър на Рон".

В: Какви са параметрите на RC5?


О: Параметрите на RC5 включват променлив размер на блока (32, 64 или 128 бита), променлив размер на ключа (от 0 до 2040 бита) и променлив брой рундове (от 0 до 255). Първоначално се предлагаше размер на блока от 64 бита, 128-битов ключ и 12 кръга.

Въпрос: Каква е общата структура на алгоритъма?


О: Общата структура на алгоритъма е мрежа, подобна на мрежата на Фейстел.

В: Колко сложно е разписанието на ключовете?


О: Графикът на ключа е по-сложен, като разширява ключа, използвайки по същество еднопосочна функция с двоични разширения като източници на числа.

В: Защо RC5 е привлекателен за криптоаналитиците?


О: Простотата на алгоритъма заедно с нововъведението на ротациите, зависещи от данните, направиха RC5 привлекателен обект за изследване от криптоаналитиците.

AlegsaOnline.com - 2020 / 2025 - License CC3