Анимация
JavaScript


Главная  Библионтека 

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 [ 30 ]

шая идея.

Безопасность шифров, основанныгх на однонаправленныгх хэш-функциях

хэш-

Хотя эти конструкции и могут быть безопасными, они зависят от используемой однонаправленной функции. Хорошая однонаправленная хэш-функция не обязательно дает безопасный алгоритм шифрования. Существуют различные криптографические требования. Например, линейный криптоанализ бесполезен против однонаправленных хэш-функциях, но действенен против алгоритмов шифрования. 0днонаправленная хэш-функция, такая как SHA, может обладать определенными линейными характеристиками, которые, не влияя на ее безопасность как однонаправленной хэш-функции, могут сделать небезопасным ее использование в таком алгоритме шифрования, как MDC. Мне неизвестно ни о каких результатах криптоанализа использования ко кретной однонаправленной хэш-функции в качестве блочного шифра. Прежде чем использовать их дождитесь проведения подобного анализа.

Блок сообщения

Выходное значение


Выходное значение

Открытый текст


> Шифротекст

(a) Хэш-функция (b) Хэш-функция как блочный шифр в режиме cfb

Рис. 14-5. Шифр краткого содержания сообщения (MDC).

14.12 Выбор блочного алгоритма

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

Предложенные Бихамом зависимые от ключа S-блоки DES будут безопасны в течение по крайней мере н е-скольких лет, может быть за исключением использования против самых хорошо обеспеченных противников. Если необходимая безопасность должна быть обеспечена на десятилетия, или вы опасаетесь криптоаналитич е-ских усилий правительств великих держав, воспользуйтесь тройным DES с тремя независимыми ключами.

Небеполезны и другие алгоритмы. Мне нравится Blowfish, потому что он быстр, и потому что я его прид у-мал. Неплохо выглядит 3-WAY, возможно все в порядке и с Г0СТом. Проблема посоветовать что-нибудь с о-стоит в том, что NSA почти наверняка обладает набором эффективных криптоаналитических приемов, которые до сих пор засекречены, и я не знаю, какие алгоритмы могут быть вскрыты. В Табл. 14.3 для сравнения прив едены временные соотношения для некоторых алгоритмов.

Мой любимый алгоритм - IDEA. Его 128-битовый ключ в сочетании с устойчивостью к общеизвестным средствам криптоанализа - вот источники моего теплого и нежного чувства к этому алгоритму. Этот алгоритм анализировался различными группами, и никаких серьезных замечаний не было опубликовано. В отсутствие необычайных криптоаналитических прорывов я сегодня ставлю на IDEA.

Табл. 14-3.

Скорости шифрования для некоторых блочных шифров на i486SX/33 МГц

Алгоритм

Blowfish (12 этапов)

Скорость шифрования (Кбайт/с)

Алгоритм

Скорость шифрования (Кбайт/с)

MDC (с MD4)



Blowfish (16 этапов)

MDC (с MD5)

Blowfish (20 этапов)

MDC (с SHA)

NewDES

FEAL-8

REDOC II

FEAL-16

REDOC III

FEAL-32

RC5-32/8

ГОСТ

RC5-32/12

IDEA

RC5-32/16

Khufu (16 этапов)

RC5-32/20

Khufu (24 этапов)

SAFER (6 этапов)

Khufu (32 этапов)

SAFER (8 этапов)

Luby-Rackoff (с MD4)

SAFER (10 этапов)

Luby-Rackoff (с MD5)

SAFER (12 этапов)

Luby-Rackoff (с SHA)

3-Way

Lucifer

Тройной DES



0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 [ 30 ]