Развитие криптографии: основные периоды
Специалисты выделяют 5 основных этапов в истории развития криптографии, которая насчитывает более 4000 лет:
- Начало — около 3000 лет до н. э. На первом этапе начали создавать моноалфавитные шифры (символы исходного алфавита в текстах заменяли другими конкретными знаками).
- IX век — начало XX столетия. Этот период связан с созданием полиалфавитных криптографических ключей.
- Первая половина XX столетия. Для шифрования начали применять электромеханические машинки с полиалфавитными шифрами.
- 1940-е — 1950-е годы. Активный переход к математическим алгоритмам криптографии с использованием секретных ключей.
- Современный этап — с середины 1970-х годов. В этот период зародилось и внедрилось криптошифрование с публичными ключами.
Что из себя представляют криптографические ключи?
Криптоключ представляет собой секретную информацию, которая используется алгоритмом в процессе шифрования и расшифровки текстов, проставления и проверки ЭЦП (электронных подписей), определения кодов аутентификации (МАС). Даже в случае применения одинакового алгоритма результат шифровки может быть разным, в зависимости от используемых шифров.
Шифрование обеспечивают три ключевых критерия безопасности:
- Конфиденциальность. Информация скрывается от сторонних лиц.
- Целостность. Данные защищены от изменения во время передачи и хранения.
- Идентифицируемость. Благодаря шифрованию обеспечивается аутентификация источников и получателей информации.
Криптограф — это специализированный аппарат или программное обеспечение, которое осуществляет шифрование текста по определенным алгоритмам на основании криптографических ключей. Важнейшим параметром считают длину криптошифров, которая измеряется в битах. Сегодня для многих шифровальных алгоритмов ключи имеют размер до 1024 бит, которые считаются максимально надежными, ведь для расшифровки такой информации могут понадобиться целые годы при использовании мощнейших суперкомпьютеров.
Какие бывают криптографические ключи?
Криптоключи бывают симметричными или асимметричными. Симметричные ключи используют в алгоритмах шифрования кодов аутентификации. Их главным свойством является применение одного шифра при прямых и обратных криптографических преобразованиях (при шифрации и дешифрации). В некоторых случаях используется два шифра, но тогда обратные ключи должны легко вычисляться из прямых (и наоборот). Данная методика гарантирует повышенную конфиденциальность передаваемого текста, но при этом есть проблемы с распространением шифров в экосистемах с внушительным числом пользователей.
Для асимметричных ключей (включая ЭЦП) используют пару шифров:
- Закрытые (приватные) ключи (PrivateKey) — шифры, которые знает только владелец. Благодаря хранению втайне PrivateKey исключается риск подделки мошенниками документации либо ЭЦП.
- Открытые (публичные) ключи (PublicKey) представлены шифрами, публикуемыми и используемыми с целью подтверждения подлинности подписанной документации либо отправленных сообщений. Публичный ключ чаще всего генерируется при помощи приватного.
В криптовалютных алгоритмах и ЭЦП подпись осуществляется с помощью PrivateKey, а проверка — на основании PublicKey. В процессе шифрования всё происходит противоположным образом: сообщения шифруются на основе публичных ключей, а чтение осуществляется с применением приватных. Это позволяет проверять, действительно ли конкретные пользователи ставили свои подписи (подтверждали транзакции и т. д.). Благодаря этому свойству асимметричные алгоритмы гарантируют как целостность, так и аутентичность данных. В данном случае расшифровывать сообщения могут только адресаты (такую возможность не имеют даже отправители).
Преимуществом асимметричной методики является устранение проблемы распространения шифров пользователей внутри экосистемы, но при этом страдает достоверность получаемых ключей. Данную проблему решают благодаря формированию специализированной инфраструктуры публичных шифров (PKI).
Существует ещё две разновидности ключей в криптографии:
Сеансовые ключи — шифры, которые создаются между парой пользователей и обеспечивают защиту каналов связи. Как правило, сеансовыми ключами выступают общие «секреты» — информация, формирующаяся на основе PrivateKey одних пользователей и PublicKey других. Существуют разные протоколы создания подобных ключей, среди которых наиболее распространенным считается метод Диффи-Хеллмана.
Подключи — секретные данные, которые вырабатываются в ходе выполнения криптографических алгоритмов на основании определенных шифров (обычно процесс основывается на развертывании ключей).
Сферы применения шифровальных ключей
Криптографические методы шифрования широко применяют для обеспечения конфиденциальности и целостности информации, идентифицируемости ее источников, защиты от чтения и кражи сторонними лицами. Отдельные криптоключи используют для хранения виртуальных средств и подтверждения транзакций в различных криптовалютах. Также шифры постоянно используются при разработке сертификатов безопасности персональных данных, вводимых на сайтах в веб-браузерах, для шифрования и защиты сообщений в мессенджерах и во многих других сферах деятельности.