RC6
![]() | Эта статья включает список общих ссылок , но в ней отсутствуют достаточные соответствующие встроенные цитаты . ( Март 2009 г. ) |
Функция Фейстеля алгоритма RC6. | |
Общий | |
---|---|
Дизайнеры | Рон Ривест , Мэтт Робшоу , Рэй Сидни , Ицюнь Лиза Инь |
Впервые опубликовано | 1998 |
Получено из | RC5 |
Сертификация | финалист AES |
Деталь шифрования | |
Размеры ключей | 128, 192 или 256 бит |
Размеры блоков | 128 бит |
Структура | Сеть Фейстеля (Тип 2) [1] |
Раунды | 20 |
В криптографии производный RC6 ( шифр Ривеста 6 ) представляет собой с симметричным ключом, блочный шифр от RC5 . Он был разработан Роном Ривестом , Мэттом Робшоу , Рэем Сидни и Ицюнь Лизой Инь для удовлетворения требований Advanced Encryption Standard (AES) конкурса . Алгоритм вошел в пятерку финалистов, а также был представлен в проекты NESSIE и CRYPTREC . Это был собственный алгоритм, запатентованный RSA Security .
Собственно RC6 имеет размер блока 128 бит и поддерживает размеры ключей от 128, 192 и 256 бит до 2040 бит, но, как и RC5, его можно параметризовать для поддержки широкого спектра длин слов, размеров ключей и количество раундов. RC6 очень похож на RC5 по структуре, использует зависящее от данных вращение, модульное сложение и XOR операции ; Фактически, RC6 можно рассматривать как переплетение двух параллельных процессов шифрования RC5, хотя RC6 использует дополнительную операцию умножения, отсутствующую в RC5, чтобы сделать вращение зависимым от каждого бита в слове, а не только от нескольких наименее значимых битов.
Шифрование/дешифрование [ править ]
Обратите внимание, что алгоритм расширения ключа практически идентичен алгоритму RC5. Единственное отличие состоит в том, что для RC6 больше слов извлекается из ключа, предоставленного пользователем.
// Encryption/Decryption with RC6-w/r/b
//
// Input: Plaintext stored in four w-bit input registers A, B, C & D
// r is the number of rounds
// w-bit round keys S[0, ... , 2r + 3]
//
// Output: Ciphertext stored in A, B, C, D
//
// '''Encryption Procedure:'''
B = B + S[0]
D = D + S[1]
for i = 1 to r do
{
t = (B * (2B + 1)) <<< lg w
u = (D * (2D + 1)) <<< lg w
A = ((A ^ t) <<< u) + S[2i]
C = ((C ^ u) <<< t) + S[2i + 1]
(A, B, C, D) = (B, C, D, A)
}
A = A + S[2r + 2]
C = C + S[2r + 3]
// '''Decryption Procedure:'''
C = C - S[2r + 3]
A = A - S[2r + 2]
for i = r downto 1 do
{
(A, B, C, D) = (D, A, B, C)
u = (D * (2D + 1)) <<< lg w
t = (B * (2B + 1)) <<< lg w
C = ((C - S[2i + 1]) >>> t) ^ u
A = ((A - S[2i]) >>> u) ^ t
}
D = D - S[1]
B = B - S[0]
использование в «имплантатах АНБ » Возможное
В августе 2016 года был раскрыт код, известный как «имплантаты» Equation Group или АНБ для различных устройств сетевой безопасности. [2] В прилагаемых инструкциях выяснилось, что некоторые из этих программ используют RC6 для обеспечения конфиденциальности сетевых коммуникаций. [3]
Лицензирование [ править ]
Поскольку RC6 не был выбран для AES , не гарантировалось, что RC6 будет бесплатным. По состоянию на январь 2017 г. [update], веб-страница официального сайта разработчиков RC6, RSA Laboratories, гласит следующее: [4]
- «Мы подчеркиваем, что если для AES выбран RC6, RSA Security не потребует каких-либо лицензионных или лицензионных платежей за продукты, использующие этот алгоритм».
Акцент на слове «если» предполагает, что RSA Security Inc. могла требовать лицензионных и лицензионных платежей за любые продукты, использующие алгоритм RC6. RC6 был запатентованным алгоритмом шифрования ( патент США 5 724 428 и патент США 5 835 600 ); однако срок действия патентов истек в период с 2015 по 2017 год.
Ссылки [ править ]
- ^ Хоанг, Вьеттунг; Рогауэй, Филипп (2010). «Об обобщенных сетях Фейстеля». ЛНКС 6223 . КРИПТО 2010. США: Springer. стр. 613–630. дои : 10.1007/978-3-642-14623-7_33 .
- ^ «Подтверждено: утечка хакерского инструмента произошла от «всемогущей» группы, связанной с АНБ» . Арс Техника . 16 августа 2016 г.
- ^ «Эти инструкции описывают УСТАНОВКУ BLATSTING с использованием ELIGIBLEBACHELOR через NOPEN туннель» . Гитхаб . Проверено 16 августа 2016 г.
- ^ «3.6.4 Что такое RC5 и RC6?» . Лаборатории РСА . Архивировано из оригинала 6 июля 2017 г. Проверено 2 августа 2015 г.
Библиография [ править ]
- Паван, РЛ; Робшоу, MJB; Сидни, Р.; Инь, ЮЛ (20 августа 1998 г.). «Блочный шифр RC6» (PDF) . v1.1. Архивировано из оригинала (PDF) 23 декабря 2018 г. Проверено 2 августа 2015 г.
- Беша, Жан-Люк. «Реализация блочного шифра RC6 на FPGA» (PDF) . Архивировано из оригинала (PDF) 5 мая 2006 г.
- Томпсон, Иэн (31 декабря 2013 г.). «Как АНБ взламывает компьютеры, телефоны, маршрутизаторы, жесткие диски «со скоростью света»: утечка каталога шпионских технологий» . Регистр . Проверено 2 августа 2015 г.
Внешние ссылки [ править ]
- «Симметричные шифры: RC6» . Стандартный криптографический алгоритм именования (SCAN). 15 апреля 2009 г.
- «Блочный шифр RC6®» . Лаборатории РСА . Архивировано из оригинала 4 марта 2016 г.