Читать «Журнал «Компьютерра» № 9 от 06 марта 2007 года» онлайн - страница 43

Компьютерра

Короче говоря, хеш-функции стали чуть ли не важнейшим элементом современной криптографии. Они обеспечивают безопасность в повсеместно применяемом протоколе защищенных веб-соединений SSL. Они помогают организовывать эффективное управление ключами в защищенной электронной почте и в программах шифрования телефонии, начиная от самых известных, вроде PGP или Skype, и заканчивая всеми остальными. Если говорить о сетевой безопасности, то хеш-функции используются и в виртуальных частных сетях, и в защите системы доменных имен DNS, и для подтверждения того, что автоматические обновления программ являются подлинными. Внутри операционной системы хеш-функции так или иначе задействованы практически во всех структурах, обеспечивающих безопасность. Иными словами, каждый раз, когда в компьютере или сети происходит что-то, подразумевающее защиту информации, рано или поздно в действие непременно вступает хеш-функция.

Что применяют?

Наиболее широко используемые в мире алгоритмы криптографического хеширования — это SHA-1, MD5 и RIPEMD-160 (если же говорить о России, то еще и ГОСТ Р34.11-94, она же «центробанковская» хеш-функция).

Все самые популярные криптоалгоритмы хеширования построены на единой основе — семействе функций MD (от Message Digest — «дайджест сообщения»), разработанных известным американским ученым Рональдом Райвестом. Поначалу самым удачным считался алгоритм MD4, а когда в нем нашли слабости, Райвест придумал усиленную модификацию под названием MD5.

На основе идей 128-битного MD4 математики Агентства национальной безопасности США создали более стойкий вариант — 160-битный «Безопасный алгоритм хеширования», или SHA. Но если Райвест подробно разъяснял в своих описаниях, чему служит и каким образом повышает безопасность каждый из этапов его алгоритма, то АНБ в присущей спецслужбе манере никаких комментариев не дало. Более того, через некоторое время после публикации SHA был отозван и переиздан в модифицированной, очевидно более сильной версии SHA-1, ставшей федеральным стандартом (прежняя получила название SHA-0).

В Европейском сообществе, в свою очередь, разработали собственный 128-битный стандарт криптографического хеширования, получивший название RIPE-MD и также развивающий идеи Райвеста. По мере осуществления успешных криптоаналитических атак против хеш-функций стали появляться усиленные версии этого алгоритма с увеличенной длиной хеша — RIPEMD-160, -256 и -320. Для SHA, соответственно, в АНБ создали укрепленное семейство SHA-2 с длинами хеша 224, 256, 384 и 512 бит. Российская хеш-функция, построенная на основе отечественных крипторазработок, имеет длину 256 бит.

НИСТ как двигатель прогресса

Сложилось так, что хеш-функция, которую с наибольшей вероятностью использует всякий среднестатистический компьютер, — это SHA-1. Эта функция сконструирована безымянными засекреченными умельцами в недрах Агентства национальной безопасности США и с подачи НИСТ запущена во всеобщее употребление в середине 1990-х годов.