Криптографические
протоколы.
Криптографические алгоритмы почти всегда используются в
соответствии с определенным набором правил, называемым
протоколом. Если в криптографическом протоколе используется
нестойкий алгоритм, то и протокол, наверняка, окажется
нестойким. Но исключительно стойких алгоритмов еще не
гарантирует того, что протокол тоже будет стойким. На практике
ошибки в криптографических протоколах обнаруживаются гораздо
чаще, чем в криптографических алгоритмах.
Разработка
собственных криптографических алгоритмов. Иногда программист
приходит к идее разработать свой собственный криптографический
алгоритм или получает аналогичные инструкции от начальства.
Разумеется, ничего плохого в такой попытке нет, но практика
показывает, что очень редко кто достигает на этом пути
положительных результатов. Для создания действительно хорошего
алгоритма мало потребности и желания. Еще требуются глубокие
знания, позволяющие проверить стойкость разработанного алгоритма
ко всем известным методам криптографии. Кроме того, настоятельно
рекомендуется открыто опубликовать алгоритм, чтобы широкая
криптографическая общественность попыталась найти в нем слабые
места.
В общем, на
настоящий момент существует достаточно много самых разнообразных
криптографических алгоритмов, почти на любой вкус. Большинство
популярных алгоритмов прошли проверку временем и заслужили
положительные отзывы криптоаналитиков. И разработка нового
алгоритма, наверное, имеет смысл только в одном из двух случаев:
если новый алгоритм будет быстрее уже существующих (без потери
стойкости) или если он будет более стойким.
|