русс | укр

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

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

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

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


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

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


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


Часть основных параметров алгоритма RC5 являются переменными. Помимо секретного ключа, параметрами алгоритма являются следующие:

· размер слова w (в битах); RC5 шифрует блоками по два слова; допустимыми значениями w являются 16, 32 или 64, причем 32 является рекомендуемым;

· количество раундов алгоритма R – в качестве значения допустимо любое целое число от 0 до 255 включительно;

· размер секретного ключа в байтах b – любое целое значение от 0 до 255 включительно.

Наиболее часто для уточнения параметров алгоритма, используемых в его конкретной реализации, применяется обозначение RC5-w/R/b; например, RC5-32/12/16 обозначает RC5 с 64-битным блоком, 12 раундами и 128-битным (16-байтным) ключом.

Переменные параметры расширяют сферу использования алгоритма, а также позволяют сильно сократить издержки при необходимости перехода на более сильный вариант алгоритма, в программной или аппаратной реализации RC5, поддерживающей переменные параметры, легко было бы заменить ключ более длинным, таким образом, устранив проблему.

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

Рис. 3. Структура алгоритма RC5

 

Структура алгоритма представлена на рис. 3. Алгоритм представляет собой сеть Фейстеля, в каждом раунде которой выполняются следующие операции:

, (24)

, (25)

где r – номер текущего раунда, начиная с 1,

– фрагмент расширенного ключа,

– операция циклического сдвига на x битов влево, где x – значение младших битов n.



Перед первым раундом выполняются операции наложения двух первых фрагментов расширенного ключа на шифруемые данные:

, (26)

. (27)

Под словом «раунд» в описании алгоритма понимаются преобразования, соответствующие двум раундам обычных алгоритмов, структура которых является сетью Фейстеля (рис.3).

То есть раунд алгоритма RC5 обрабатывает блок целиком, тогда как типичный раунд сети Фейстеля обрабатывает только один субблок – обычно половину блока.

Алгоритм поразительно прост – в нем используются только операции сложения по модулю 2 и по модулю , а также сдвиги на переменное число битов. Сдвиг на переменное число битов является весьма просто реализуемой операцией, которая, однако, существенно усложняет дифференциальный и линейный криптоанализ алгоритма. Простота алгоритма может рассматриваться как его важное достоинство – простой алгоритм легче реализовать и легче анализировать на предмет возможных уязвимостей.

Расшифровывание выполняется применением обратных операций в обратной последовательности, т.е. в каждом раунде r (с обратной последовательностью раундов) выполняются следующие операции:

, (28)

, (29)

где »n – аналогичная описанной выше («n)операция побитового циклического сдвига вправо.

Соответственно, после R раундов выполняются следующие операции:

, (30)

. (31)

Алгоритм RC5 и некоторые его варианты являются запатентованными.



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


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


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

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

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


 


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

 
 

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

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