Шифр краткого содержания сообщения
Шифр краткого содержания сообщения(Message Digest Cipher, MDC), изобретенный Питером Гутманном (Peter Cutmann) [676], представляет собой способ превратить однонаправленные хэш-функции в блочный шифр, работающий в режиме CFB. Шифр работает почти также быстро, как и хэш-функция, и по крайней мере настолько же безопасен. Оставшаяся часть этого раздела предполагает знакомство с главой 18.
Хэш функции, например MD5 и SHA, используют 512-битовый текстовый блок для преобразования входного значения (128 битов в MD5, и 160 битов в SHA) в результат того же размера. Это преобразование необратимо, но прекрасно подходит для режима CFB: и для шифрования, и для дешифрирования используется одна и та же операция.
Рассмотрим MDC с SHA. MDC использует 160-битовый блок и 512-битовый ключ. Используется побочный эффект хэш-функции, когда в качестве прежнего хэш-значения берется входной блок открытого текста (160 битов), а 512-битовый вход хэш-функции играет роль ключа (см. Рис 14.5). Обычно при использовании хэш-функции для хэширования некоторого входа 512-битовый вход меняется при хэшировании каждого нового 512-битового блока. Но в данном случае 512-битовый вход становится неизменяемым ключом.
MDC можно использовать с любой однонаправленной хэш-функцией: MD4, MD5, Snefru, и т.д. Он незапатентован и может быть совершенно бесплатно использован кем угодно когда угодно и для чего угодно [676].
Однако лично я не верю в эту схему. Можно подобрать такой способ взлома, на противостояние которому хэш-функция не была рассчитана. Хэш-функции не обязаны противостоять вскрытию с выбранным открытым текстом, когда криптоаналитик выбирает некоторые начальные 160-битовые значения, получает их "зашифрованными" одним и тем же 512-битовым "ключом" и пользуется этим для получения некоторой информации об используемом 512-битовом ключе. Так как разработчики хэш-функций не должны беспокоиться о такой возможности, считать ваш шифр безопасным по отношению к приведенному способу вскрытия - не лучшая идея.