Описание блочного шифра с ключом переменной длины и 64-битным блоком

Страницы работы

Фрагмент текста работы

Описание нового блочного шифра с ключом переменной длины и 64-битным блоком (Blowfish)

B. Schneier Быстрое шифрующее программное обеспечение, слушание о секретности на симпозиуме в Кембридже (Декабрь 1993), Springer-Verlag, 1994, pp. 191-204.

ВВЕДЕНИЕ:

Blowfish предложен, как новый блочный шифр с секретным ключом. Это сеть Feistel, выполняющая итерации шифрования простой функцией 16 раз. Размер блока -64 бита, и ключ может быть любой длины до 448 битов. Хотя существует сложная фаза инициализации, до начала шифрования, фактически шифрование этим алгоритмом очень эффективно на старших процессорах.

Криптографическое семейство должно обеспечить мир новым стандартом шифрования. DES [16], бывший рабочей лошадью среди криптографических алгоритмов в течение прошлых пятнадцати лет, приближается к концу срока своего полезного действия. Размер ключа в 56-бит раним к нападениям "в лоб" [22], и недавние исследования в дифференциональном криптоанализе [1] и линейном криптоанализе [10] показывают, что DES является ранимым и к другим видам нападения.

Многие другие алгоритмы, неразбитые в литературе, Khufu [11,12], REDOC II [2,23, 20], и IDEA [7,8,9] защищены патентами. RC2 и RC4, одобренные на экспорт с маленьким размером ключа, являются частными [18]. GOST [6], Советский алгоритм, определен без S - блоков. Управление США предлагает секретные алгоритмы, типа Skipjack в Clipper и чипы Capstone[17].

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

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

ОБЛАСТИ ПРИКЛАДНОЙ ПРОГРАММЫ

Стандартный алгоритм шифрования должен подходить для многих видов прикладных программ:

Объем шифрования. Алгоритм должен быть эффективен при зашифровке файлов данных или непрерывных потоков данных.

Случайная генерация битов. Алгоритм должен быть эффективен в создание одиночных случайных битов.

Шифрование пакета. Алгоритм должен быть эффективен при шифровании пакета с установленным размером данных. ( ATM пакет имеет поле данных размером в 48 байтов.) Это должно быть реализовано в прикладной программе, где последовательные пакеты могут быть зашифровываться или расшифровываться с различными ключами.

Хеширование. Алгоритм должен быть эффективен при конвертирование односторонней хеш - функцией.

ПЛАТФОРМЫ

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

Специальные аппаратные средства. Алгоритм должен быть эффективно реализован в заказных VLSI аппаратных средствах.

Большие процессоры. В то время как специализированные аппаратные средства будут всегда использоваться для самых быстрых прикладных программ, реализации программного обеспечения более общие. Алгоритм должен быть эффективным на 32-разрядных процессорах с 4 килобайтным КЭШем для программы и данных.

Средние процессоры. Алгоритм должен выполняться на микроконтроллерах и других

Похожие материалы

Информация о работе