BassOmatic (BassOmatic)

Перейти к навигации Перейти к поиску
BassOmatic
Создатель Филипп Циммерман
Создан 1989 год
Опубликован 1991 год
Размер ключа 8-2048 бит
Размер блока 2048 бит
Число раундов 1-8 (8-16)
Тип Подстановочно-перестановочная сеть

BassOmatic — в криптографии симметричный блочный криптоалгоритм, разработанный Филиппом Циммерманом для своей программы шифрования электронной почты, PGP, использовался исключительно в её первой публичной версии — 1.0. Согласно исходным текстам и заявлениям автора, алгоритм был создан ещё в 1988, опубликован впервые в 1991. После того, как криптограф Эли Бихам указал на ряд серьёзных уязвимостей в алгоритме BassOmatic, автор заменил его на более устойчивый к атакам алгоритм IDEA в следующей версии PGP.

Алгоритм основан на работе с блоками размером 256 байт (2048 бит). Размер ключа может составлять от 8 до 2048 бит, причём 6 младших бит ключа являются управляющими битами, которые используются для выбора из нескольких возможных вариантов. Число раундов составляет в исходном варианте от 1 до 8 в зависимости от значений 3 младших контрольных битов, 4-й бит определяет одно из ключевых расписаний: одно использует ключ для установки начального значения генератора псевдослучайных чисел, другое использует собственный механизм алгоритма BassOmatic. Использование зависимых от ключа вариаций значительно усложняет механизм шифрования алгоритма, в то же время приводит к тому, что криптографическая стойкость ключей сильно варьируется.

Выбранное ключевое расписание создает 8 таблиц перестановок, каждая из которых представляет собой перестановку чисел от 0 до 255. Каждый раунд шифрования состоит из 4 операций: операцией XOR блока с одной из таблиц перестановок, измельчение или перестановка отдельных битов в блоке, бесключевой диффузии и распространения, именуемых англ. raking (сгребание), и этапа подстановки с использованием таблиц подстановки, таких, как S-блоков. Этап измельчения может также переставлять все 8-битные битовые плоскости независимо или в группе из четырёх в зависимости от 3-го контрольного бита. Таблицы перестановок могут оставаться неизменными в течение всего процесса шифрования либо, если установлен 5-й контрольный бит, таблицы перестановок генерируются отдельно для каждого блока.

Примечания

[править | править код]