Криптография
Математические и технические методы преобразования информации для обеспечения конфиденциальности, целостности, аутентичности и подтверждения происхождения данных.
- Область
- Математика; информатика; защита информации
- Период
- Древность — настоящее время
- Разновидность
- Научная дисциплина
Криптография — область математики, информатики и инженерии, изучающая методы преобразования информации для защиты от несанкционированного чтения или изменения. Исторически криптография была прежде всего искусством секретной переписки; современная область включает также цифровые подписи, криптографические хеш-функции, протоколы установления ключей и механизмы аутентификации.
Криптография тесно связана с криптоанализом — исследованием способов преодолеть такую защиту. Обе области в широком смысле объединяют термином криптология. Их историческое развитие рассмотрено отдельно в статье История криптографии.[1]
Открытый текст, шифртекст и ключ
Базовая схема шифрования включает открытый текст, алгоритм, ключ и шифртекст. Открытый текст — исходные данные; шифртекст — результат криптографического преобразования; ключ выбирает конкретное преобразование из большого семейства допустимых вариантов.
Современная система не должна становиться бесполезной только потому, что противнику известен общий алгоритм. Этот подход связан с принципом Керкгоффса: безопасность должна основываться на секретности ключа, а не на обязательном сокрытии всей конструкции системы.[2]
Такое разделение позволяет публично исследовать алгоритмы, искать ошибки и сравнивать стойкость систем. Закрытая реализация может давать дополнительный барьер, но не должна быть единственной причиной безопасности.
Симметричная криптография
В симметричной криптографии отправитель и получатель используют общий секретный ключ либо ключи, легко выводимые друг из друга. К этому классу относятся большинство классических ручных шифров, роторные машины и современные блочные и потоковые алгоритмы.
Главное преимущество симметричных систем — высокая скорость. Основная организационная трудность — безопасная доставка ключа: обе стороны должны получить общий секрет до начала защищённого обмена или установить его через другой механизм.
Особый случай — одноразовый блокнот. Если ключ действительно случаен, не короче сообщения, используется только один раз и остаётся секретным, система может обладать совершенной секретностью. Клод Шеннон дал математическую формализацию этого свойства в работе 1949 года.[3]
Цена совершенной секретности — логистика ключей: секретного случайного материала требуется не меньше, чем передаваемых данных. Повторное использование одноразового ключа разрушает исходную модель безопасности и может дать криптоаналитику отношение между несколькими открытыми текстами.
Блочные и потоковые шифры
Блочный шифр преобразует данные фиксированными блоками. Чтобы защитить сообщение произвольной длины, блочный алгоритм используется вместе с режимом работы, определяющим связь между последовательными блоками и дополнительными параметрами.
Потоковый шифр создаёт ключевую последовательность, которая комбинируется с потоком данных, обычно операцией XOR. Безопасность требует, чтобы ключевой поток не становился предсказуемым и не повторялся в условиях, допускающих сравнение сообщений.
Исторические телетайпные системы не являются современными потоковыми шифрами в строгом программном смысле, но Lorenz SZ 40/42 наглядно показывает идею комбинирования символов сообщения с машинно создаваемой ключевой последовательностью.
Криптография с открытым ключом
В 1976 году Уитфилд Диффи и Мартин Хеллман опубликовали концепцию криптографии с открытым ключом. Участник получает пару связанных ключей: открытый можно распространять, а секретный должен оставаться у владельца.[4]
Эта идея позволила по-новому решать проблему согласования секретов в открытой сети. В 1977 году Рональд Ривест, Ади Шамир и Леонард Адлеман разработали RSA, где безопасность практической схемы связана с трудностью определённых операций над большими числами.[5]
Асимметричная криптография не заменила симметричную. В большинстве сетевых систем открытый ключ используется для установления общего секрета, а основной поток данных затем защищается более быстрым симметричным алгоритмом.
Цифровая подпись и хеш-функции
Криптография обеспечивает не только конфиденциальность. Цифровая подпись позволяет проверить происхождение сообщения и обнаружить изменение подписанных данных: владелец создаёт подпись секретным ключом, а проверка выполняется связанным открытым ключом.
Криптографическая хеш-функция преобразует сообщение произвольной длины в короткое значение фиксированного размера. Для практической защиты требуется, чтобы было вычислительно трудно восстановить сообщение по хешу, подобрать другое сообщение с заданным хешем или найти два разных сообщения с одинаковым результатом.
Хеширование не является шифрованием: обычная хеш-функция не предназначена для обратного восстановления исходного сообщения. Она используется в цифровых подписях, проверке целостности, протоколах аутентификации и системах хранения паролей.
Управление ключами
Стойкий алгоритм бесполезен, если ключ украден, предсказуем или повторно используется вопреки правилам. Поэтому генерация, доставка, хранение, замена и уничтожение ключей являются частью криптографической системы, а не внешней административной мелочью.
В военной криптографии XX века применялись книги ключей, таблицы, перфокарты и ежедневные инструкции. Захваченные документы могли временно открыть конкретную сеть даже без самостоятельного математического взлома алгоритма.
История морской Enigma в Битве за Атлантику показывает это особенно ясно: трофейные документы с подводных лодок помогали криптоаналитикам, но работали только вместе с уже существовавшими знаниями о машине, радиоперехватом и вычислительными методами.
Что означает «взлом»
Выражение «шифр взломан» может обозначать разные события, которые исторически важно различать. Криптоаналитическая атака использует математическую или статистическую слабость; компрометация ключа означает получение секрета через кражу, агентуру или ошибку хранения; атака на реализацию использует дефект программы или аппаратуры.
Отдельный класс образуют побочные каналы: информация извлекается из времени вычисления, энергопотребления, электромагнитного излучения и других физических характеристик. В таком случае математический алгоритм может оставаться стойким, а конкретное устройство — нет.
Та же логика применима к историческим машинам. Получить действующую книгу ключей Enigma и самостоятельно вывести ежедневную установку по шифртексту — разные достижения и дают разные выводы о безопасности.
Машинная криптография
В первой половине XX века шифрование стало выполняться специализированными устройствами. Наиболее известны Роторные шифровальные машины, где вращающиеся контактные диски изменяли электрическое преобразование после каждого символа.
Энигма стала самым известным примером, но существовали Typex, SIGABA, Siemens T52 и другие системы. Высокоуровневая германская связь применяла Lorenz SZ 40/42, технологически отличавшуюся от Enigma.
После войны роторная техника продолжила развиваться: NEMA, KL-7 и М-125 «Фиалка» получили больше роторов, нерегулярное движение и автоматическую печать. Этот переходный этап разобран в статье Роторные шифровальные машины после Второй мировой войны.
Криптоанализ и вычисления
Сложные машинные шифры породили специализированные вычислительные средства. Польские циклометр и bomba kryptologiczna, британские и американские Bombe механизировали часть поиска настроек Enigma.
Для атаки на Lorenz в Блетчли-парке был создан Colossus — специализированная программируемая электронная цифровая машина. Это не означает, что «криптография изобрела компьютер», но криптологические задачи дали чрезвычайно сильный практический спрос на быстрый автоматизированный логический и статистический поиск.
Криптоанализ также зависит от доступности данных. Радиоразведка должна обнаружить передачу, записать её, определить принадлежность сети и собрать достаточно материала; только после этого математические и машинные методы получают объект для работы.
Теория информации
Клод Шеннон связал криптографию с общей математической теорией информации. В работе «Communication Theory of Secrecy Systems» он анализировал секретность через вероятности, энтропию и свойства преобразований, а не как каталог отдельных шифров.[3]
Шеннон формализовал совершенную секретность и развил идеи confusion и diffusion — усложнения зависимости шифртекста от ключа и распределения статистических признаков открытого текста по множеству выходных элементов.
Эта линия связывает криптографию с более широкой историей, рассмотренной в статье Клод Шеннон и математическое моделирование языка.
Криптография и связь
Даже сильное шифрование защищает не всю информацию о коммуникации. Противник может видеть факт передачи, частоту, длительность, адресацию и иногда положение передатчика.
Поэтому военная безопасность сочетает криптографию с дисциплиной связи. В годы Второй мировой войны радиопеленгация и анализ трафика нередко давали полезные сведения без чтения содержания.
И наоборот, криптография существует внутри конкретной системы связи. Переход от письма к телеграфу, от телеграфа к радио и от радио к компьютерной сети менял объём перехватываемых данных и требования к алгоритмам.
Историческое развитие
Детальная хронология вынесена в статью История криптографии. Основные этапы — ручные подстановки и коды, полиалфавитные системы, механические устройства, телеграф и радио, машинное шифрование, математическая теория секретности, электронные алгоритмы и криптография с открытым ключом.
Каждый переход менял не только технический алгоритм, но и организацию ключевого обеспечения, доступные способы атаки и роль человека в системе.
Современная криптография поэтому является не просто продолжением старого искусства секретного письма, а математической и инженерной дисциплиной, встроенной в вычислительные и сетевые системы.
Источники и литература
- ↑ Bauer F. L. Decrypted Secrets: Methods and Maxims of Cryptology. 4th ed. Springer, 2007.
- ↑ Kerckhoffs A. La Cryptographie Militaire // Journal des Sciences Militaires. 1883. Vol. IX. P. 5–38, 161–191.
- ↑ 3,0 3,1 Shannon C. E. Communication Theory of Secrecy Systems // Bell System Technical Journal. 1949. Vol. 28, No. 4. P. 656–715.
- ↑ Diffie W., Hellman M. E. New Directions in Cryptography // IEEE Transactions on Information Theory. 1976. Vol. 22, No. 6. P. 644–654.
- ↑ Rivest R. L., Shamir A., Adleman L. A Method for Obtaining Digital Signatures and Public-Key Cryptosystems // Communications of the ACM. 1978. Vol. 21, No. 2. P. 120–126.
- Menezes A. J., van Oorschot P. C., Vanstone S. A. Handbook of Applied Cryptography. CRC Press, 1996.
- Katz J., Lindell Y. Introduction to Modern Cryptography. 3rd ed. CRC Press, 2020.
- Bauer F. L. Decrypted Secrets: Methods and Maxims of Cryptology. 4th ed. Springer, 2007.
- Kahn D. The Codebreakers. Revised ed. Scribner, 1996.