Лекция
Привет, Вы узнаете о том , что такое rc6_en, Разберем основные их виды и особенности использования. Еще будет много подробных примеров и описаний. Для того чтобы лучше понимать что такое rc6_en , настоятельно рекомендую прочитать все из категории Шифры в криптографии.
В этой статье мы представляем улучшенную версию алгоритма блочного шифрования RC6 (
rc6_en - улучшенная версия RC6), который представляет собой симметричный алгоритм шифрования, разработанный для 256-битных блоков обычного текста. RC6 использует четыре (w-битных) регистра для хранения простого текста и для зависящих от данных поворотов [2, 3], но эта расширенная версия (RC6_En) использует восемь (w-битных) регистров, что помогает повысить производительность, а также повысить безопасность. Его характерная особенность включает в себя алгебраическое выражение с двумя переменными по модулю 2w
и 2 операции Box-Type, Box-Type I и Box-Type II. Каждая операция Box-Type использует два (w-битных) регистра. Box-Type I работает так же, как два регистра (A и B или C и D) в RC6, но в Поразрядное исключающее ИЛИ Box-Type II заменяется целочисленным сложением по модулю 2w, используемым в Box-Type I, и наоборот, это улучшает диффузию в каждом раунде. Для этой расширенной версии требуется 2r + 4 дополнительных ключа цикла, и каждый ключ цикла используется дважды для шифрования файла. Эта улучшенная версия
лучше работает по сравнению с RC5 [4, 5] и RC6 [2, 3], когда размер файла больше.
В криптографии обычно используется шифрование с симметричным ключом для обеспечения целостности данных.
Код шифрования с симметричным ключом можно разделить на блочный и потоковый .
RC6 - это блочный шифр с симметричным ключом, полученный из RC5. Он был разработан Роном Ривестом, Мэттом Робшоу,
Рэем Сидни и Ицюном Лизой Инь в соответствии с требованиями конкурса Advanced Encryption Standard (AES).
Алгоритм был одним из пяти финалистов, а также был представлен в проектах NESSIE и CRYPTREC.
Это запатентованный алгоритм, запатентованный RSA Security [10].
Детали RC6: Как и RC5, RC6 представляет собой полностью параметризованное семейство алгоритмы шифрования. Версия RC6 более точно определяется как RC6-w / r / b, где размер слова составляет w бит, шифрование состоит из неотрицательного числа раундов r, а
b обозначает длину ключа шифрования в байтах. Поскольку отправка AES нацелена на w = 32 и r = 20, мы
будем использовать RC6 как сокращение для обозначения таких версий. Если в тексте предполагается любое другое значение w или r,
значения параметра будут указаны как RC6-w / r. Особое значение для AES будут иметь версии RC6 с
16-, 24- и 32-байтовыми ключами. Для всех вариантов RC6-w / r / b работает с блоками из четырех w-битных слов, используя следующие
основные операции.
Операции, используемые в RC6, определяются следующим образом.
Однако RC6 действительно использует дополнительную операцию умножения, отсутствующую в RC5, чтобы сделать чередование зависимым от каждого бита в слове, а не только от нескольких младших значащих битов. Логарифм по основанию два для w будет обозначаться lg w [10].
Шифрование и дешифрование:
Рисунок 1: Блочный шифр
RC6 RC6 работает с четырьмя w-битными регистрами A, B, C, D, которые содержат исходный входной открытый текст, а также выходной
зашифрованный текст в конце шифрования. Первый байт открытого текста или зашифрованного текста помещается в младший байт
A, последний байт открытого текста или зашифрованного текста помещается в самый старший байт D. Псевдокод
шифрования и дешифрования приведен ниже; сначала мы загружаем простой текст в регистры A, B, C, D, а затем примените эти
операции для шифрования простого текста.
Шифрование с помощью RC6-w / r / b
Ввод: простой текст, хранящийся в четырех w-битных входных регистрах A, B, C, D. r обозначает количество циклов и 2r + 4 w-битных
ключа циклов S [0, 1, ..., 2r + 3]
Вывод: зашифрованный текст будет сохранен в A, B, C, D
Операция (A, B , C, D) = (B, C, D, A) означает параллельное присвоение значений справа регистрам слева.
Алгоритм генерации раундового ключа описан ниже в раздел предлагаемой системы. После применения этих операций
к регистрам A, B, C, D простой текст преобразуется в зашифрованный текст, и мы сохраняем его в любом файле, который называется зашифрованным файлом. Теперь для дешифрования зашифрованного текста загрузите этот зашифрованный текст
в регистры A, B, C, D и затем примените эти операции для преобразования зашифрованного текста в обычный текст.
Расшифровка с помощью RC6-w / r / b
Ввод: зашифрованный текст, хранящийся в четырех w-битовых входных регистрах A, B, C, D. Об этом говорит сайт https://intellect.icu . r обозначает количество раундов и 2r + 4 w-битных ключа раунда S [0, 1 , ..., 2r + 3]
Вывод: Обычный текст будет сохранен в A, B, C, D
Этот алгоритм использует целочисленное вычитание по модулю 2w и вращение регистров вправо для получения простого текста; он выполняет обратные операции с регистрами.
Наступила компьютерная эра, и нам каждый день нужны новые технологии, которые дают лучшие результаты и потребляют меньше
времени, а также обеспечивают высокий уровень безопасности. Поэтому, принимая во внимание эти меняющиеся требования,
Vikas Tyagi, Shrinivas Singh предлагают RC6_En (улучшенная версия RC6) алгоритм блочного шифрования симметричного шифрования, который помогает повысить производительность более старой версии, а также обеспечивает лучшую безопасность в отношении конфиденциальности обычного текста.
Особенности предлагаемой системы RC6_En:
Подобно RC5 и RC6, эта расширенная версия (RC6_En) представляет собой блочный шифр с симметричным ключом, который использует зависящие от данных чередования, модульное сложение и операции исключающего ИЛИ .
RC6_En работает с размером блока 256 бит, размером ключа (128 192 или 256 бит) и 20 раундами. RC6_En работает с
размером входного блока из восьми слов (обычный текст) и размером блока вывода из восьми слов (зашифрованный текст) . Это означает, что это алгоритм, ориентированный на слова .
Алгоритм:
Эта расширенная версия (RC6_En) более точно определяется как RC6_En-w / r / b в этом разделе. Где
w: размер слова в битах,
r: неотрицательное количество раундов, r и
b: длина ключа шифрования в байтах.
Операции, используемые в RC6_En, определены следующим образом.
Работа RC6_En проиллюстрирована на рис. 2, на этом рис. есть два типа коробки используются Box-Type I & Box-Type II и работает параллельно. Box-Type II меняет местами сложение целых чисел по модулю 2w и побитовое исключающее - или, как в Box-Type I, оно
увеличивает распространение каждого раунда. RC6_En также использует алгебраическое выражение с двумя переменными f (x, y) = (x2 + y2 - xy - 7) mod 2w, которое принимает 2 входа (показано зеленой линией на рис. 1), а затем выходные данные этой функции используются в побитовом сложение целых чисел по модулю 2w с исключающим ИЛИ и другими регистрами в Box-Type I и Box-Type II с предшествующим вращением влево . Это ведет к безопасности в каждом раунде. RC6_En работает только с 2r + 4 дополнительными круглыми ключами, что аналогично RC6, и использует каждый цикл дважды, один раз в Box-Type I и один раз в Box-Type II. Использование одного и того же ключа в обоих типах боксов не ставит под угрозу безопасность, но снижает трудозатраты
на создание раундовых ключей.
RC6_En имеет в основном 3 алгоритма: расширение ключа, шифрование и дешифрование.
Алгоритмы шифрования и дешифрования используют основные операции, описанные выше в этом разделе. В алгоритме шифрования будет храниться обычный текст в 8 регистров (от A до H), а затем выполните шаги алгоритма шифрования (описанные ниже), чтобы получить зашифрованный текст в этих регистрах. В алгоритме дешифрования мы будем хранить зашифрованный текст в этих регистрах, а затем выполнять шаги алгоритма дешифрования (описанные ниже), чтобы получить простой текст.
Рисунок 2: Алгоритм расширения ключа блочного шифра RC6_En
расписание ключей для RC6_En-w / r / b такое же, как расписание ключей RC6. Пользователь предоставляет ключ из b байтов, копирует секретный ключ K [0 ... b-1] в массив L [0..c-1] из c = ceil (b / u), где u = w / 8 в обратном порядке. Другими словами, мы заполняем L,
используя u последовательных ключевых байтов K. Любые незаполненные байтовые позиции в L обнуляются. В случае, если b = c = 0, установите c = 1 и L = 0. Количество w-битовых слов, которые будут сгенерированы для ключей аддитивного раунда, равно (2r + 4), и они
хранятся в массиве S [0 , ..., 2r + 3].
Магические константы Pw и Qw определяются для произвольного w следующимобразом:
Pw = Odd ((e -1) 2w) (1)
Qw = Odd ((v - 1) 2w) (2)
Где e - основание натурального логарифма (e =2,718281828459), а v - золотое сечение (v= 1,618033988749) Нечетное
(x) - нечетное целое, ближайшее к x [ 11].
Таблицы 1 показывают эти магические константы в шестнадцатеричном виде с использованием
нескольких значений w. Которые рассчитываются по приведенным выше
выражениям (1) и (2).
Таблица 1. Значения магических констант Pw и Qw [11]
Магические ограничения играют жизненно важную роль в генерации ключей раунда. Алгоритм Key-Expansion может использоваться для
генерации любого количества ключей раунда.
Вход: байтовый ключ b, который предварительно загружен в массив слов c L [0,1,…, c-1], r обозначает количество раундов.
Выход: 2r + 4 w-разрядных ключа раунда S [0,1,…, 2r + 2,2r + 3].
Алгоритм шифрования:
ввод: обычный текст, хранящийся в восьми w-битных регистрах A, B, C, D , E, F, G и H. r обозначает количество раундов и 2r + 4 w-битных
ключа раундов, хранящихся в S [0,1,…, 2r + 2,2r + 3].
Вывод: зашифрованный текст будет храниться в этих восьми w-битных регистрах A, B, C, D, E, F, G и H.
Процедура:
B = B + S
Алгоритм дешифрования:
Ввод: сохранен шифрованный текст в восьми w-битных регистрах A, B, C, D, E, F, G и H. r обозначает количество раундов и 2r + 4 w-битных
ключа раундов, хранящихся в S [0,1,…, 2r + 2 , 2р + 3].
Вывод: обычный текст будет сохранен в этих восьми w-битных регистрах A, B, C, D, E, F, G и H.
Таблица 2 суммирует сравнение RC5, RC6 и
RC6_En для различных проектных параметров, таких как
размер слова, размер блока, количество раундов и размер секретного ключа
[11 ] [12].
Таблица 2.
В отличие от многих других алгоритмов шифрования, блочный шифр RC6_En не использует таблицы поиска во время шифрования. Это
означает, что код и данные могут легко поместиться в сегодняшнюю кэш-память на кристалле и, как правило, делать это с
запасом места. Блочный шифр RC6_En использует (2r +4) расписание ключевых слов и минимум дополнительной памяти; чтобы
вычислить это расписание (2r + 4) слов, процесс настройки ключа требует немного больше, чем вспомогательный массив
примерно того же размера, что и ключ, предоставленный пользователем. Кроме того, поскольку расписание ключей состоит только из (2r + 4) слов, можно предварительно вычислить и сохранить расписания ключей для сотен ключей. Затем переключение на один из этих ключей
требует только переключения указателя на соответствующее расписание клавиш,
что обеспечивает гибкость клавиш [11].
Алгебраическая функция с двумя переменными нацелена на обеспечение сложной диффузии, тем самым повышая вероятность того, что
простые дифференциалы испортят количество вращения намного раньше, чем это достигается с помощью RC5. Преобразованные значения B и F используются для модификации регистров A и E, и наоборот, преобразованные значения D и H используются для изменения регистров. регистры C и G., нелинейно увеличивающие.
Переменной скоростью вращения с помощью значений функции преобразования битов , играет жизненно важную роль в усложняя как линейные , так и дифференциального криптоанализа.
В этой статье представлена улучшенная версия алгоритма блочного шифрования RC6 (RC6_En). Он имеет новую архитектуру и
реализацию, так что он шифрует и дешифрует размер блока данных 256 бит за цикл.
RC6_En также отвечает требованиям стандартов Advanced Encryption Standards (AES) и целей разработчиков систем компьютерной безопасности . Таким образом, эта улучшенная версия RC6 (RC6_En) представляет собой быстрый и безопасный алгоритм блочного шифрования. Он предлагает хорошую производительность и высокую безопасность.
Исследование, описанное в статье про rc6_en, подчеркивает ее значимость в современном мире. Надеюсь, что теперь ты понял что такое rc6_en и для чего все это нужно, а если не понял, или есть замечания, то не стесняйся, пиши или спрашивай в комментариях, с удовольствием отвечу. Для того чтобы глубже понять настоятельно рекомендую изучить всю информацию из категории Шифры в криптографии
Комментарии
Оставить комментарий
Информационная безопасность, Шифры в криптографии
Термины: Информационная безопасность, Шифры в криптографии