SAPPHIRE II

Байт-ориентированный алгоритм может использоваться для генерации псевдослучайных чисел, шифрования и хеширования информации. В алгоритме заложена возможность использования ключа переменной длины. Он эффективно реализуется на С, С++, Pascal. Основу данного алгоритма составляет 8-разрядный 5-блок. Ячейки таблицы замен S-блока частично перемешиваются каждым входным байтом, т. е. таблица постоянно меняет свое состояние, что в какой-то степени и обеспечивает качество выходной последовательности генератора. похож на алгоритм RC4, хотя разрабатывались эти алгоритмы совершенно независимо. Алгоритм отличается от RC4 тем, что использует обратную связь как по открытому тексту, так и по шифротексту, что делает его более стойким к атакам с помощью выбранного открытого текста и дает возможность использовать его для генерации хеш- значений. Алгоритм отличается от алгоритма SAPPHIRE более стойкой к криптоанализу выходной нелинейной функцией, а также тем, что при инициализации индексных регистров их значения стали зависеть от ключевой информации.

Основные принципы

Алгоритм основан на взаимодействии пяти 8-разрядных индексных регистров (rotor, ratchet, avalanche, lastjplain, last_cipher) и 8-разрядного 5-блока (рис. 3.3.1 и 3.3.2). Таблица замен 5-блока представляет собой простой массив, содержащий перестановки чисел от 0 до 255. При каждой генерации выходного байта определенное число (до четырех) байтов в таблице замен перемещается на новые позиции. Таким образом обеспечивается постоянное изменение состояния таблицы. Выходной байт представляет собой результат нелинейной функции от значений всех индексных регистров и от восьми значений ячеек таблицы замен 5-блока. Это исключает определение внутреннего состояния алгоритма, используя выходные значения. При инициализации генератора таблица замен 5-блока перемешивается определенным образом с помощью ключа. После этого в индексные регистры rotor, ratchet, avalanche, last_plain записываются значения ячеек таблицы замен 5-блока, находящихся соответственно по адресам 1, 3, 5, 7. В регистр last_plain записывается значение ячейки таблицы, находящейся по адресу, который определяется ключом. Процедура перемешивания таблицы 5-блока реализована таким образом, чтобы избежать влияния адреса ячейки таблицы на ее значение.

Инициализация

Инициализация генератора ПСП состоит из трех шагов.

1) Инициализация таблицы замен 5-блока с использованием прямой счетной

последовательности, иначе говоря, путем записи в каждую ячейку таблицы ее

собственного адреса

 ХешироВание

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

1)  Зашифрование или расшифрование всех байтов входной последовательности.

2)  Зашифрование обратной счетной последовательности (255, 254, …, 1, 0) для того, чтобы снизить эффект от последних байтов сообщения. Этот шаг является очень существенным, так как обеспечивает равную зависимость хеш-образа от всех байтов сообщения.

3)  Зашифрование байтов, содержащих нули, для получения результата хеш-функции. Количество соответствующих операций определяет размер хеш-значения.

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

Выводы

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

 

Источник: Acoсков А. В., Иванов М. A., Мирский А. A., Рузин А. В., Сланин А. В., Тютвин А. Н. Поточные шифры. – M.: КУДИЦ-ОБРАЗ, 2003. – 336 с.

Вы можете следить за любыми ответами на эту запись через RSS 2.0 ленту. Вы можете оставить ответ, или trackback с вашего собственного сайта.

Оставьте отзыв

XHTML: Вы можете использовать следующие теги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

 
Rambler's Top100