Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

В криптографии , RC6 ( Ривест шифра 6 ) представляет собой симметричный ключ блочного шифра , полученный из RC5 . Он был разработан Рон Ривестом , Мэтт Robshaw , Рэй Сидни и Yiqun Лиза Инь , чтобы удовлетворить требованиям стандарта Advanced Encryption Standard (AES) конкуренции . Алгоритм вошел в пятерку финалистов, а также был представлен в проектах NESSIE и CRYPTREC . Это был запатентованный алгоритм, запатентованный RSA Security .

Собственно RC6 имеет размер блока 128 бит и поддерживает размеры ключей от 128, 192 и 256 бит до 2040 бит, но, как и RC5, он может быть параметризован для поддержки большого разнообразия длин слова, размеров ключей и количество раундов. RC6 очень похож на RC5 по структуре, используя зависящие от данных вращения, модульное сложение и операции XOR ; Фактически, RC6 можно рассматривать как переплетение двух параллельных процессов шифрования RC5, хотя RC6 действительно использует дополнительную операцию умножения, отсутствующую в RC5, чтобы сделать чередование зависимым от каждого бита в слове, а не только от нескольких наименее значимых битов.

Шифрование / дешифрование [ править ]

Обратите внимание, что алгоритм расширения ключа практически идентичен алгоритму RC5. Единственное отличие состоит в том, что для RC6 большее количество слов выводится из ключа, введенного пользователем.

// Шифрование / дешифрование с помощью RC6-w / r / b // // Вход: открытый текст, хранящийся в четырех w-битных входных регистрах A, B, C и D // r - количество раундов // w-битовых ключей раунда S [0, ..., 2r + 3] // // Вывод: зашифрованный текст, хранящийся в A, B, C, D // // '' 'Процедура шифрования:' ''B  =  B  +  S [ 0 ] D  =  D  +  S [ 1 ] для  i  =  1  до  r  do { t  =  ( B * ( 2 B  +  1 ))  <<<  lg  w u  =  ( D * ( 2 D  +  1 ))  <<<  lg  w A  =  (( A   t )  <<< u )  +  S [ 2 i ] C  =  (( C   u )  <<<  t )  +  S [ 2 i  +  1 ]  ( A ,  B ,  C ,  D )  =  ( B ,  C ,  D ,  A ) } A  =  A  +  S [ 2 r  +  2 ] C  =  C  + S [ 2 r  +  3 ]// '' 'Процедура расшифровки:' ''C  =  C  -  S [ 2 r  +  3 ] A  =  A  -  S [ 2 r  +  2 ]для  i  =  r  до  1  do { ( A ,  B ,  C ,  D )  =  ( D ,  A ,  B ,  C ) u  =  ( D * ( 2 D  +  1 ))  <<<  lg  w t  =  ( B * ( 2 B  +  1 ))  <<<  lg  w C  =  (( C  - S [ 2 i  +  1 ])  >>>  t )   u A  =  (( A  -  S [ 2 i ])  >>>  u )   t } D  =  D  -  S [ 1 ] B  =  B  -  S [ 0 ]

Возможное использование в «имплантатах» АНБ [ править ]

В августе 2016 года был раскрыт код, известный как «имплантаты» Equation Group или NSA для различных устройств сетевой безопасности. [2] Прилагаемые инструкции показали, что некоторые из этих программ используют RC6 для обеспечения конфиденциальности сетевых подключений. [3]

Лицензирование [ править ]

Поскольку RC6 не был выбран для AES , не было никаких гарантий, что RC6 будет бесплатным. По состоянию на январь 2017 года на официальном веб-сайте разработчиков RC6, RSA Laboratories, говорится следующее: [4]

«Мы подчеркиваем, что если для AES выбран RC6, RSA Security не потребует каких-либо лицензионных или лицензионных платежей за продукты, использующие этот алгоритм».

Акцент на слове «если» предполагает, что RSA Security Inc. могла потребовать лицензирования и лицензионных платежей для любых продуктов, использующих алгоритм RC6. RC6 был запатентованным алгоритмом шифрования ( Патент США 5,724,428 и Патент США 5,835,600 ); однако срок действия патентов истек в период с 2015 по 2017 год.

Заметки [ править ]

  • Паван, Р.Л .; Робшоу, MJB; Sidney, R .; Инь., Ю.Л. (1998-08-20). «Блочный шифр RC6» (PDF) . v1.1. Архивировано из оригинального (PDF) 13 декабря 2018 года . Проверено 2 августа 2015 .
  • Beuchat, Жан-Люк. "Реализации блочного шифра RC6 на ПЛИС" (PDF) . Архивировано из оригинального (PDF) 05 мая 2006 года.
  • Томпсон, Иэн (31 декабря 2013 г.). «Как АНБ взламывает компьютеры, телефоны, маршрутизаторы, жесткие диски« со скоростью света »: утечки из шпионского технического каталога» . Реестр . Проверено 2 августа 2015 .

Ссылки [ править ]

  1. ^ Хоанг, Вьет Тунг; Rogaway, Филипп (2010). «Об обобщенных сетях Фейстеля». LNCS 6223 . CRYPTO 2010. США: Springer. С. 613–630. DOI : 10.1007 / 978-3-642-14623-7_33 .
  2. ^ "Подтверждено: утечка средств взлома исходила от" всемогущей "группы, связанной с АНБ" . Ars Technica . 16 августа 2016 г.
  3. ^ "Эти инструкции описывают УСТАНОВКУ BLATSTING с использованием ELIGIBLEBACHELOR через туннель NOPEN" . Проверено 16 августа 2016 .
  4. ^ "3.6.4 Что такое RC5 и RC6?" . RSA Laboratories . Архивировано из оригинала на 2017-07-06 . Проверено 2 августа 2015 .

Внешние ссылки [ править ]

  • «Криптография - 256-битные шифры: справочный исходный код и материалы для международных конкурсов криптографических проектов» .
  • «Симметричные шифры: RC6» . Именование стандартных криптографических алгоритмов (SCAN). 2009-04-15.
  • «Блочный шифр RC6®» . RSA Laboratories . Архивировано из оригинала на 2016-03-04.