RC6

редактировать
RC6
Криптография RC6 Algorithm.JPG Функция Фейстеля алгоритма RC6.
Общие
ДизайнерыРон Ривест, Мэтт Робшоу, Ицзюнь Лиза Инь
Впервые опубликовано1998
На основеRC5
СертификацияФиналист AES
Детали шифра
Размеры ключей 128, 192 или 256 биты
Размеры блоков 128 битов
СтруктураСеть Фейстеля (Тип 2)
Раунды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, чтобы сделать чередование зависимым от каждого бита в слове, а не только от нескольких младших значащих битов.

Содержание
  • 1 Шифрование / дешифрование
  • 2 Возможное использование в «имплантатах» АНБ
  • 3 Лицензирование
  • 4 Примечания
  • 5 Ссылки
  • 6 Внешние ссылки
Шифрование / дешифрование

Обратите внимание, что алгоритм расширения ключа практически идентичен алгоритму 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 * (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 или NSA для различных устройств сетевой безопасности. В сопроводительных инструкциях показано, что некоторые из этих программ используют RC6 для конфиденциальности сетевых соединений.

Лицензирование

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

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

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

Примечания
  • Паван, Р.Л.; Робшоу, M.J.B.; Sidney, R.; Инь., Ю.Л. (1998-08-20). «Блочный шифр RC6» (PDF). v1.1. Проверено 2 августа 2015 г.
Ссылки
Внешние ссылки
Последняя правка сделана 2021-06-03 04:22:26
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте