Page 271 - Bkhargava_-_Grokaem_algoritmy
P. 271
270 Глава 11. Что дальше?
И это хорошо, потому что сравнение хешей не позволит атакующему опре
делить, насколько он близок к взлому пароля.
Иногда требуется обратный результат: локально-чувствительная функция
хеширования. Здесь на помощь приходит алгоритм Simhash. При незначи
тельном изменении строки Simhash генерирует хеш-код, который почти не
отличается от исходного. Это позволяет сравнивать хеш-коды и определять,
насколько похожи две строки, - весьма полезная возможность!
а Google использует Simhash для выявления дубликатов в процессе ин
дексирования.
а Преподаватель может использовать Simhash для обнаружения плагиата
(копирования рефератов из Интернета).
а Scribd позволяет пользователям загружать документы или книги, чтобы
они стали доступны для других пользователей. Но Scribd не хочет, чтобы
пользователи размещали информацию, защищенную авторским правом!
С помощью Simhash сайт может обнаружить, что отправленная инфор
мация похожа на книгу о Гарри Поттере, и при обнаружении сходства
автоматически запретить ее размещение.
Simhash используется для выявления сходства между фрагментами текста.
Обмен ключами Диффи-Хеллмана
Алгоритм Диффи-Хеллмана заслуживает упоминания, потому что он
изящно решает давно известную задачу. Как зашифровать сообщение
так, чтобы его мог прочитать только тот человек, которому адресовано
сообщение?
Проще всего определить подстановочный шифр: а= 1, Ь = 2 и т. д. Если
после этого я отправлю вам сообщение ~4, 15, 7 », вы сможете преобразовать
его в «d,o,g». Но чтобы эта схема сработала, необходимо согласовать шифр
между сторонами. Договориться о шифре по электронной почте невозмож
но, потому что злоумышленник может перехватить сообщение, узнать шифр
и расшифровать сообщения. Даже если передать 1Рифр при личной встрече,
злоумышленник может угадать шифр, если он достаточно прост. Значит,
шифр придется ежедневно менять. Но тогда нам придется ежедневно про
водить личные встречи для изменения шифра!
www.trk.kg