Определение ключа
Перебираются все возможные k"=(kr+1,kr+2...kh). На получаемых ключах расшифровывается шифротекст b - E-1k"(b)=E-1kh..E-1kr+1(b)=S'. Если по адресу S' не пусто, то достаем оттуда ключ k' и получаем кандидат в ключи (k',k")=k. Однако нужно заметить, что первый же полученный кандидат k не обязательно является истинным ключом. Да, для данных a и b выполняется Ek(a)=b, но на других значениях открытого текста a' шифротекста b', полученного из a' на истинном ключе, равенство может нарушаться. Все зависит от конкретных характеристик криптосистемы. Но иногда бывает достаточно получить такой "псевдоэквивалентный" ключ. В противном же случае после завершения процедур будет получено некое множество ключей {k',k"...}, среди которых находится истинный ключ.
Другой тип словарной атаки состоит в запоминании (хранении) результатов зашифрований единственного фиксированного блока под всеми возможными ключами в отсортированном словаре и ожидании момента, когда этот блок будет передан в зашифрованном виде (с помощью секретного ключа). Секретный ключ затем обнаруживается простым поиском в словаре. Стоит заметить, что устройства хранения с 235-байтовой возможностью становятся действительностью.
Для заданной хеш-функции f целью атаки является поиск коллизии второго рода. Для этого вычисляются значения f для случайно выбранных блоков входных данных до тех пор, пока не будут найдены два блока, имеющие один и тот же хеш. Таким образом, если f имеет N различных равновероятных выходных значений, и N является достаточно большим, то из парадокса о днях рождения следует, что, в среднем, после перебора К этой атаке, например, может быть уязвима электронная цифровая подпись. Для избежания уязвимости такого рода достаточно увеличить длину хеша настолько, чтобы стало вычислительно сложно найти 2 контракта с одинаковыми хешами. В частности, требуется в два раза большая длина хеша, чтобы обеспечить вычислительную сложность, сравнимую со сложностью полного перебора. Другими словами, если с помощью полного перебора злоумышленник может вычислить 2 n хэш-значений, то он начнёт находить хэш-коллизии для всех хэшей длиной менее 2 n бит.
|