Почему существует уязвимость

.

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

Еще недавно (примерно шесть лет назад) коллизии для криптографических алгоритмов хеширования могли показаться фантастикой, а сегодня этим уже никого не удивишь. Некогда «устойчивые» алгоритмы хеширования MDA/MD5, ставшие стандартами де-факто во многих проектах и решениях в области продуктов информационной безопасности, теперь полностью безнадежны и должны быть отправлены только в одном направлении… да, ты угадал: в самое /dev/null:).

Примерно то же самое происходило в 1995 году с алгоритмом DES. когда еще не все знали как пользоваться Инстаграм на компьютере. Последствия, которые он оставил, до сих пор дают о себе знать. Но почему, осознавая, что алгоритм более не безопасен, мы продолжаем его использовать? Возможно, потому, что просто привыкли к этим алгоритмам хеширования, ведь они прочно вошли в нашу жизнь. Хотя есть еще один важный момент: лень-матушка, и от нее никуда не денешься, ага :) . Более подробно о коллизиях криптографических функций и типах атак вы сможете прочитать скоро в статье «Опасный двойник», которая скоро будет опубликованная.

Если хорошо разбираться в математике и прикладной криптографии, есть возможность найти ошибку в алгоритме хеширования, так как чем сложнее алгоритм, тем больше вероятности ее нахождения. В принципе можно разобраться со всем, даже с тем как пользоваться Инстаграм на компьютере Надо понять такую вещь: в криптографии, как и в программировании, чем больше проект, тем больше ошибок. Людям свойственно ошибаться, поэтому при поиске ошибок всегда есть надежда на незаменимый в этой области человеческий фактор :) . При портировании криптографических алгоритмов и написании обертки также не исключено появление ошибок. В качестве примера можно привести набор замечательных ошибок, недавно обнаруженных в реализации класса RSACryptoS-erviceProvider библиотеки .NET Framework. Как оказалось, заявленные в классах RSACryptoServiceProvider и DSACryp-toServiceProvider методы SignHash имеют глупейшую ошибку, которая заключается в псевдо рандомизации трех из четырех блоков. Итог: +75% к атакам на RSA шифрование bVM.

ПОЧЕМУ СУЩЕСТВУЕТ УЯЗВИМОСТЬ

.
5.10.2012