RC6
В криптографии RC6 является симметричным блочным шифром, полученным из RC5. RC6 представляет собой параметризованный алгоритм с переменным размером блока, переменным размеромключа и переменным количеством раундов. RC обозначает "Rivest Cipher", или альтернативно "Ron's Code".
В 1997 году NIST объявила конкурс на выбор преемника стандарта шифрования данных (DES), который будет известен как Advanced Encryption Standard (AES). RC6 был получен от RC5 для соответствия требованиям конкурса и был выбран в качестве одного из пяти финалистов конкурса Advanced Encryption Standard (AES), но не был выбран в качестве стандарта.
В целях обеспечения различных уровней безопасности и эффективности, RC6 позволяет выбирать размер блока: 32 бита (только для экспериментов и оценки), 64 бита (для использования в качестве замены DES) и 128 бит (для AES). Количество раундов может варьироваться от 0 до 255, в то время как ключевые размеры могут варьироваться от 0 бит до 2040 бит.
По своей структуре RC6 очень похож на RC5 и может рассматриваться как переплетение двух параллельных процессов шифрования RC5. Однако RC6 использует дополнительную операцию умножения, отсутствующую в RC5, и использует четыре b/4-битных рабочих регистра (см. разделение блоков простого текста в feistel cipher) вместо двух b/2-битных регистров, как в RC5 (b - это размер блока). Целочисленное умножение используется для увеличения диффузии, достигаемой за один раунд, так что требуется меньшее количество раундов и может быть увеличена скорость шифра.
Причина использования четырех рабочих регистров вместо двух в основном заключается в оптимизации на 32-битных процессорах. По умолчанию размер блока RC5 составляет 64 бита, а размер блока AES - 128 бит. RC5 имеет только два рабочих регистра. Он использует 32-битные операции при работе с 64-битными блоками и 64-битные операции при работе со 128-битными блоками, поэтому для сборки архитектуры AES с использованием только 32-битных операций требуется четыре рабочих регистра.
RC6 является запатентованным алгоритмом (запатентовано RSA Security США Патент 5 724 428 и Патент США 5 835 600), и может потребовать лицензирования и выплаты роялти для любых продуктов, использующих данный алгоритм. Он был разработан Роном Ривестом, Мэттом Робшоу, Рэем Сиднеем и Иукеном Лизой Инь, а также был представлен на рассмотрение проектов NESSIE и CRYPTREC.
Вопросы и ответы
В: Что такое RC6?
О: RC6 - это блочный шифр с симметричным ключом, производный от RC5. Это параметризованный алгоритм с переменным размером блока, размером ключа и количеством раундов.
В: Кто разработал RC6?
О: RC6 был разработан Роном Ривестом, Мэттом Робшоу, Рэем Сидни и Икун Лиза Инь.
В: Каковы размеры блоков по умолчанию для RC5 и AES?
О: Размер блока по умолчанию для RC5 составляет 64 бита, а размер блока по умолчанию для AES составляет 128 бит.
В: Чем структура RC6 отличается от структуры RC5?
О: Структура RC6 очень похожа на структуру RC5, но в ней используется дополнительная операция умножения, отсутствующая в последней, а также четыре b/4-битных рабочих регистра вместо двух b/2-битных.
В: Почему используются четыре рабочих регистра вместо двух для того, чтобы построить архитектуру AES с использованием только 32-битных операций?
О: Целочисленное умножение используется для увеличения степени распространения, достигаемой за раунд, поэтому требуется меньшее количество раундов и скорость может быть увеличена. Четыре рабочих регистра необходимы, поскольку 32-битные операции используются при работе с 64-битными блоками и 64-битные операции при работе со 128-битными блоками.
В: Требуется ли лицензирование или выплата роялти для продуктов, использующих этот алгоритм?
О: Да, поскольку это запатентованный алгоритм (патенты RSA Security U.S. Patent 5,724,428 и U.S. Patent 5,835,600 ), лицензирование и выплаты роялти могут потребоваться для любых продуктов, использующих этот алгоритм.