Ныне криптография используется всюду: при кэшировании паролей, шифровании почты, в протоколе IPSec виртуальных частных сетей (IPSec – комплект протоколов, предложенных IETF для передачи информации в виртуальных частных сетях. Он обеспечивает аутентификацию, проверку целостности и шифрование пакетов) и шифровании файловых систем. Одна из причин шифрования объясняется желанием обезопасить зашифрованные данные. Обеспечить безопасность данных можно только в том случае, если понимать принципы работы криптографических алгоритмов. Материала, изложенного в этой главе, недостаточно для профессионального изучения криптографии. Для этого нужны годы. Но его хватит для понимания, как использовать криптографические функции (конечно, без изучения их сложного математического обоснования).
В главе будет бегло рассмотрена история криптографии и изучены популярные криптографические алгоритмы, включая улучшенный стандарт шифрования AES, недавно принятый США для защиты важной информации на правительственном уровне. Будут рассмотрены причины широкого использования криптографии с открытым ключом и обмена ключами, а также вопросы их использования на практике. Будет показана теоретическая уязвимость практически всех криптографических алгоритмов к атаке «грубой силы» (атаки в лоб).
Попутно с рассмотрением возможностей криптографической защиты будет рассмотрено восстановление зашифрованных сообщений на примере взлома паролей и атак «злоумышленник посередине» (man-in-the-middle-type attacks). Также будут рассмотрены атаки, позволяющие разрушить систему защиты, основанную на плохой реализации криптостойких алгоритмов. В заключение будет показан способ легкого взлома устаревших криптографических алгоритмов.