Безопасность в интернете, защита банковских карт, конфиденциальность переписок и работа протокола HTTPS держатся на одном фундаменте – криптографии. Но прежде чем переходить к написанию кода и настройке серверов, необходимо разобраться в базовых терминах, на которых общаются все специалисты по информационной безопасности.
Основные понятия криптографии
В любой криптосистеме циркулируют данные в разных состояниях. Зафиксируем 4 главных термина:
- Исходный текст (Plaintext) – это чистые, незащищенные входные данные (сообщение, пароль, файл), которые вы хотите передать скрытно.
- Зашифрованный текст или шифротекст (Ciphertext) – результат работы функции зашифрования. Это хаотичный набор символов или битов, который выглядит как мусор для любого перехватчика.
- Расшифрованный текст (Decrypted text) – это текст, полученный законным получателем после применения ключа к шифртексту. В идеале он посимвольно совпадает с исходным.
- Дешифрованный текст – текст, который восстановил криптоаналитик (или хакер) в процессе взлома, не имея изначального доступа к секретному ключу.
Симметричное и асимметричное шифрование
Все современные и исторические алгоритмы защиты информации делятся на два больших лагеря в зависимости от того, как они управляют ключами.
1. Симметричные алгоритмы
Здесь для зашифрования и расшифрования информации используется один и тот же секретный ключ.
- Как это работает: Алекс шифрует файл ключом
Kи передает его Диана. Диана использует точно такой же ключK, чтобы открыть файл. - Плюсы: Работают невероятно быстро, требуют мало вычислительных ресурсов.
- Минусы: Главная проблема – как безопасно передать этот единственный ключ от Алекса к Диане? Если хакер Влад перехватит ключ в момент обмена, вся защита рухнет.
- Примеры: Классический XOR, шифр Цезаря, Виженер, а также современный стандарт AES.
2. Асимметричные алгоритмы
В этих системах используется пара неразрывных ключей – открытый (публичный) и закрытый (приватный).
- Как это работает: Открытый ключ передается по незащищенным каналам связи, его может знать кто угодно (даже хакер Влад). Закрытый ключ держится в строжайшем секрете хозяином. Если Алекс хочет написать Диане, он берет открытый ключ Дианы и шифрует текст. Но вернуть этот шифртекст в исходное состояние может только закрытый ключ, который есть только у Дианы.
- Плюсы: Решают проблему распределения ключей. Больше не нужно тайно передавать секретный пароль.
- Минусы: Работают значительно медленнее симметричных шифров из-за тяжелой математики (возведение в гигантские степени по модулю).
- Примеры: Алгоритм RSA, протокол Диффи-Хеллмана.
Две базовые механики: Сдвиг и Замена
Если заглянуть под капот исторических шифров, все они задействуют две фундаментальные операции:
- Сдвиг (алфавитный) – перемещение индекса буквы на фиксированное расстояние в рамках кольца алфавита (так работает шифр Цезаря).
- Замена (подстановка) – полное замещение символа исходного текста на другой символ из зеркального или альтернативного алфавитного набора (классический пример – шифр Атбаш).
Понимание этих основ – твой первый шаг к проектированию надежных систем защиты информации. На следующих занятиях мы подробно разберем каждый алгоритм на практике и напишем их программную реализацию!