Безопасность в интернете, защита банковских карт, конфиденциальность переписок и работа протокола HTTPS держатся на одном фундаменте – криптографии. Но прежде чем переходить к написанию кода и настройке серверов, необходимо разобраться в базовых терминах, на которых общаются все специалисты по информационной безопасности.

Основные понятия криптографии

В любой криптосистеме циркулируют данные в разных состояниях. Зафиксируем 4 главных термина:

  1. Исходный текст (Plaintext) – это чистые, незащищенные входные данные (сообщение, пароль, файл), которые вы хотите передать скрытно.
  2. Зашифрованный текст или шифротекст (Ciphertext) – результат работы функции зашифрования. Это хаотичный набор символов или битов, который выглядит как мусор для любого перехватчика.
  3. Расшифрованный текст (Decrypted text) – это текст, полученный законным получателем после применения ключа к шифртексту. В идеале он посимвольно совпадает с исходным.
  4. Дешифрованный текст – текст, который восстановил криптоаналитик (или хакер) в процессе взлома, не имея изначального доступа к секретному ключу.

Симметричное и асимметричное шифрование

Все современные и исторические алгоритмы защиты информации делятся на два больших лагеря в зависимости от того, как они управляют ключами.

1. Симметричные алгоритмы

Здесь для зашифрования и расшифрования информации используется один и тот же секретный ключ.

  • Как это работает: Алекс шифрует файл ключом K и передает его Диана. Диана использует точно такой же ключ K, чтобы открыть файл.
  • Плюсы: Работают невероятно быстро, требуют мало вычислительных ресурсов.
  • Минусы: Главная проблема – как безопасно передать этот единственный ключ от Алекса к Диане? Если хакер Влад перехватит ключ в момент обмена, вся защита рухнет.
  • Примеры: Классический XOR, шифр Цезаря, Виженер, а также современный стандарт AES.
2. Асимметричные алгоритмы

В этих системах используется пара неразрывных ключей – открытый (публичный) и закрытый (приватный).

  • Как это работает: Открытый ключ передается по незащищенным каналам связи, его может знать кто угодно (даже хакер Влад). Закрытый ключ держится в строжайшем секрете хозяином. Если Алекс хочет написать Диане, он берет открытый ключ Дианы и шифрует текст. Но вернуть этот шифртекст в исходное состояние может только закрытый ключ, который есть только у Дианы.
  • Плюсы: Решают проблему распределения ключей. Больше не нужно тайно передавать секретный пароль.
  • Минусы: Работают значительно медленнее симметричных шифров из-за тяжелой математики (возведение в гигантские степени по модулю).
  • Примеры: Алгоритм RSA, протокол Диффи-Хеллмана.

Две базовые механики: Сдвиг и Замена

Если заглянуть под капот исторических шифров, все они задействуют две фундаментальные операции:

  • Сдвиг (алфавитный) – перемещение индекса буквы на фиксированное расстояние в рамках кольца алфавита (так работает шифр Цезаря).
  • Замена (подстановка) – полное замещение символа исходного текста на другой символ из зеркального или альтернативного алфавитного набора (классический пример – шифр Атбаш).

Понимание этих основ – твой первый шаг к проектированию надежных систем защиты информации. На следующих занятиях мы подробно разберем каждый алгоритм на практике и напишем их программную реализацию!