RC5
В криптографии RC5 является простым симметричным блочным шифром. Разработанный Рональдом Ривестом в 1994 году, RC5 представляет собой параметризованный алгоритм с переменным размером блока, переменным размером ключа и переменным количеством раундов. "RC" означает "Шифр Ривеста" или "Код Рона".
Для обеспечения различных уровней безопасности и эффективности RC5 имеет переменный размер блока (32, 64 или 128 бит), переменный размер ключа (от 0 до 2040 бит) и переменное количество раундов (от 0 до 255). Первоначально предлагался выбор параметров: размер блока 64 бита, 128-битный ключ и 12 раундов.
Ключевой особенностью RC5 является использование зависящих от данных вращений; одной из целей RC5 было изучение и оценка операций блочных шифров как криптографического примитива. RC5 также состоит из ряда модульных дополнений и eXclusive OR (Xor)s. Общая структура алгоритма представляет собой сеть типа Feistel. Процедуры шифрования и расшифровки могут быть заданы в нескольких строках кода. График ключей, однако, является более сложным, расширяя ключ с использованием по сути односторонней функции с двоичными расширениями как e, так и золотого сечения в качестве источников "ничего в моем рукаве чисел". Простота алгоритма в сочетании с новизной вращения в зависимости от данных сделали RC5 привлекательным объектом для изучения криптоаналитиками.
Криптоанализ
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" означает "Rivest Cipher", или, по-другому, "Ron's Code".
В: Каковы параметры RC5?
О: Параметры RC5 включают переменный размер блока (32, 64 или 128 бит), переменный размер ключа (от 0 до 2040 бит) и переменное количество раундов (от 0 до 255). Первоначально предлагался размер блока 64 бита, 128-битный ключ и 12 раундов.
В: Какова общая структура алгоритма?
О: Общая структура алгоритма - это сеть, подобная сети Фейстеля.
В: Насколько сложным является расписание ключей?
О: Расписание ключей более сложное, расширение ключа осуществляется с помощью, по сути, односторонней функции с двоичным расширением в качестве источника чисел.
В: Почему RC5 был привлекателен для криптоаналитиков?
О: Простота алгоритма вместе с новизной зависящих от данных вращений сделали RC5 привлекательным объектом для изучения криптоаналитиками.