русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Структура алгоритма


Дата добавления: 2015-08-31; просмотров: 889; Нарушение авторских прав


Как и RC5, алгоритм RC6 имеет гибкую структуру: помимо секретного ключа, параметрами являются:

· размер слов w; алгоритм RC6 шифрует блоками по 4 слова;

· количество раундов R;

· размер секретного ключа в байтах b.

Аналогично RC5, для уточнения параметров алгоритма, используемых в его конкретной реализации, применяется обозначение RC6-w/R/b. Поскольку в конкурсе AES 128-битный блок являлся обязательным, значение w фиксировано и равно 32. В спецификации алгоритма зафиксировано также количество раундов: R=20. Поскольку конкурс AES допускал использование ключей трех фиксированных размеров, рассмотрим три следующие варианты алгоритма: RC6-32/20/16, RC6-32/20/24 и RC6-32/30/32, совокупность которых мы и будем иметь далее в виду, говоря об «RC6».

Структура алгоритма приведена на рис.6. В алгоритме используется 20 раундов преобразований, перед которыми выполняется частичное входное отбеливание:

, (43)

, (44)

где B и D – текущие значения двух из четырех (A, B, C, D) обрабатываемых 32-битных субблоков,

и – первые два из используемых в алгоритме фрагментов расширенного ключа .

 

Рис.6. Структура алгоритма RC6

Аналогичным образом выполняется частичное выходное отбеливание:

, (45)

. (46)

В каждом i-м раунде алгоритма выполняются следующие действия:

, (47)

, (48)

, (49)

, (50)

где и – временные переменные,

количество битов вращения на переменное число битов определяется значением 5 младших битов параметра ( и ),

функция f() выполняет следующее квадратичное преобразование:

. (51)

В конце каждого раунда выполняется сдвиг субблоков – рис.6.

При расшифровывании подключи используются в обратном порядке, наложение подключей вместо сложения по модулю выполняется вычитанием, а также сдвиг субблоков выполняется в начале раунда и в обратную сторону. Преобразование f() не претерпело изменений (рис.7).



 

Рис.7. Расшифровывание алгоритмом RC6

 



<== предыдущая лекция | следующая лекция ==>
Алгоритм RC6 | Процедура расширения ключа


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.679 сек.