Шифр PANAMA

Основные преобразования шифра PANAMA оперируют 32-разрядными словами. Алгоритм может использоваться для хеширования информационных массивов большого размера. При использовании в качестве поточного шифра и генератора ПСП алгоритм имеет достаточно долгую процедуру инициализации. Типичная область использования для алгоритма PANAMA – шифрование видеоинформации, например сфера платного телевидения. В этой области, где интенсивность потока данных очень высока и для его обработки применяется высокопроизводительный процессор, требуется алгоритм, который в наименьшей мере использует и так сильно загруженный процессор.

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

Алгоритм основан на 544-разрядном регистре state (состояние) и8192-раз- рядном регистре buffer (буфер). Состояние регистра state обновляется с помощью параллельных нелинейных преобразований. Регистр buffer – это LFSR, он похож на регистр, который используется в алгоритме хеширования SHA.

Состояние данных регистров может измениться с помощью двух итераций.

1. Итерация Push (вталкивание) принимает входные данные, но не генерирует выходных.

2. Итерация Pull (выталкивание) не принимает входных данных, но генерирует выходные. Также существует итерация Blank Pull (пустое выталкивание), которая аналогична итерации Pull, но при этом выходные данные отбрасываются.

Входные и выходные данные представляют собой восемь 32-разрядных слов. Преобразования, выполняемые при обновлении регистра state, характеризуются диффузией (рассеиванием) и нелинейностью. Данные преобразования разработаны таким образом, чтобы обеспечить сильную нелинейность и быструю диффузию при большом числе итераций. Это обеспечивается с помощью комбинации из четырех отдельных преобразований, каждое из которых вносит свой вклад в результирующее преобразование: первое преобразование обеспечивает нелинейность, второе – битовую дисперсию, третье – диффузию, четвертое модифицирует результат предыдущего преобразования с помощью состояния регистра bujfer или входных данных. Регистр buffer обеспечивает вхождение входных битов в регистр state только после значительного интервала итераций. Таким образом, регистр buffer оправдывает свое название и представляет собой некий буфер, который накапливает и перемешивает входные данные, которые затем поступают на регистр state. Несмотря на это, как уже было отмечено выше, входные данные также непосредственно участвуют в изменении состояния регистра state. При выполнении итерации Push входное значение для регистра buffer берется извне, а при выполнении итерации Pull оно представляет собой часть состояния регистра state.

Описание алгоритма

Регистр state состоит из семнадцати 32-разрядных слов. В дальнейшем этот регистр будем обозначать как я[17], а значения его разрядов как я[0] – a[ 16] соответственно. Регистр buffer обозначается как b[32][8] и представляет собой 32-разрядный LFSR, каждый из разрядов (каскадов) которого суть восемь 32-битных слов.

Принятые обозначения:

•    

 

Источник: 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