Музей Криптографии
Исследуем

Криптография простыми словами: что это такое и как она защищает информацию

Мы постоянно пользуемся криптографией, даже если никогда не изучали математику и не запускали специальные программы. Она работает, когда смартфон подключается к защищённому сайту, банковское приложение подтверждает операцию, мессенджер передаёт сообщение или компьютер проверяет электронную подпись.

Когда-то криптография прежде всего помогала скрывать военные и дипломатические сообщения. Сегодня её задачи гораздо шире: нужно не только сохранить данные в тайне, но и убедиться, что их никто не изменил, подтвердить личность отправителя и безопасно взаимодействовать с людьми и компьютерами, которым мы заранее не доверяем.

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

Что такое криптография

Криптография — это область знаний о математических и вычислительных методах защиты информации.

Самая очевидная задача — сделать сообщение непонятным для постороннего. Но современная криптография решает как минимум несколько разных задач:

  • сохраняет информацию в тайне;
  • позволяет обнаружить изменение данных;
  • помогает подтвердить автора сообщения;
  • доказывает подлинность цифрового документа;
  • позволяет безопасно передавать ключи;
  • помогает двум устройствам установить защищённое соединение.

Поэтому выражение «криптография — это шифрование» слишком узкое. Шифрование является одним из инструментов криптографии, но далеко не единственным.

Криптография и шифрование: в чём разница

Представим обычное сообщение:

Встречаемся в восемь.

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

Но иногда скрывать информацию вообще не требуется.

Например, при загрузке программы важно убедиться, что файл никто не изменил. Для этого может использоваться криптографическая хэш-функция.

А при подписании электронного документа нужно не скрыть содержание, а доказать, кто его подписал. Здесь используется электронная подпись.

Таким образом:

шифрование защищает содержание информации;

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

Основы криптографии: сообщение, алгоритм и ключ

Большинство криптографических систем удобно представить с помощью трёх элементов.

Исходный текст — данные, которые необходимо защитить.

Алгоритм — математическое правило преобразования данных.

Ключ — дополнительное значение, от которого зависит результат работы алгоритма.

Современная криптография строится на важном принципе: надёжность системы не должна зависеть от того, знает ли противник устройство алгоритма.

Алгоритм может быть опубликован и подробно изучен специалистами. Секретным остаётся ключ.

Это сильно отличается от идеи «придумаем настолько хитрый способ переставлять буквы, чтобы никто не догадался, как он работает».

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

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

Представим сейф с двумя одинаковыми ключами. Один находится у отправителя, второй — у получателя.

Отправитель закрывает сообщение, получатель тем же ключом открывает его.

Так работает симметричная криптография.

Современные симметричные алгоритмы очень быстры, поэтому ими удобно защищать большие объёмы данных: файлы, сетевой трафик, базы данных.

Но возникает проблема: как безопасно передать секретный ключ человеку, с которым мы ещё не успели установить защищённую связь?

Именно эта задача долгое время была одной из главных проблем криптографии.

Асимметричная криптография

Во второй половине XX века появился другой подход — криптография с открытым ключом.

Вместо одного секрета используются два математически связанных ключа:

  • открытый;
  • закрытый.

Открытый ключ можно сообщить кому угодно. Закрытый должен знать только владелец.

Очень упрощённо это похоже на почтовый ящик: любой человек может опустить внутрь письмо, но достать содержимое способен только тот, у кого есть ключ от дверцы.

Такой принцип позволяет решать задачи, которые сложно реализовать одним общим секретом.

На нём основаны многие механизмы:

  • защищённых интернет-соединений;
  • электронной подписи;
  • обмена криптографическими ключами;
  • удостоверения подлинности участников связи.

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

Что такое хэширование

хэш-функция работает иначе.

Она получает данные любого размера и вычисляет из них короткое значение фиксированной длины — хэш.

Можно представить его как цифровой отпечаток файла.

Например:

Секретный документ

и

Секретный документ.

отличаются всего одной точкой, но хороший криптографический алгоритм выдаст для них совершенно разные хэши.

У криптографической хэш-функции есть несколько важных свойств:

  • одинаковые данные дают одинаковый результат;
  • небольшое изменение сильно меняет хэш;
  • по хэшу практически невозможно восстановить исходные данные;
  • крайне трудно подобрать два разных сообщения с одинаковым хэшем.

Поэтому хэширование используется для проверки файлов, хранения паролей, электронных подписей, блокчейнов и множества других задач.

Электронная подпись

В бумажном мире человек ставит подпись от руки. В цифровом мире используется криптографический аналог.

Владелец создаёт подпись с помощью своего закрытого ключа. Другой человек или компьютер может проверить её с помощью открытого ключа.

Так можно убедиться сразу в двух вещах:

  1. подпись была создана обладателем соответствующего закрытого ключа;
  2. после подписания данные не изменялись.

Важно, что электронная подпись обычно не скрывает документ. Её задача — подтвердить подлинность и целостность.

И это ещё один пример того, почему криптография намного шире обычного шифрования.

Что такое имитовставка в криптографии

Слово «имитовставка» звучит сложно, но сама идея довольно проста.

Представим, что два компьютера уже знают общий секретный ключ и передают друг другу команды.

Злоумышленник может перехватить сообщение:

Перевести 100 рублей.

и попытаться заменить его:

Перевести 100 000 рублей.

Как получателю понять, что команда была изменена?

Для этого к сообщению добавляется специальное короткое значение, вычисленное из самого сообщения и секретного ключа. В российской криптографической терминологии его традиционно называют имитовставкой. Близкое международное понятие — MAC, Message Authentication Code.

Получатель выполняет то же вычисление самостоятельно. Если получившиеся значения совпадают, сообщение с высокой вероятностью действительно пришло от обладателя ключа и не было изменено.

То есть имитовставка обычно не скрывает данные. Она помогает защититься от подделки и незаметного изменения сообщения.

Основные методы современной криптографии

Если сильно упростить, современную криптографию можно разделить на несколько больших групп методов.

Шифрование

Позволяет сделать данные недоступными для постороннего.

Бывает симметричным и асимметричным.

Хеширование

Создаёт цифровой «отпечаток» данных и помогает контролировать их целостность.

Электронная подпись

Позволяет проверить происхождение и неизменность цифрового документа.

Коды аутентификации сообщений

К ним относятся MAC и имитовставки. Они позволяют обнаруживать подделку данных при наличии общего секретного ключа.

Протоколы обмена ключами

Помогают двум сторонам безопасно получить общий секрет даже при связи через открытый канал.

Криптографические протоколы

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

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

Теоретико-числовые методы в криптографии

Некоторые современные алгоритмы основаны на свойствах целых чисел.

Здесь в криптографию приходит теория чисел — область математики, которая когда-то могла казаться почти исключительно теоретической.

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

Умножить два больших простых числа относительно просто.

А вот имея только их произведение, разложить огромное число обратно на исходные множители значительно сложнее.

На подобной асимметрии вычислительной сложности строится, например, алгоритм RSA.

В других системах применяются задачи дискретного логарифмирования и математический аппарат эллиптических кривых.

Поэтому современный криптограф работает не только с программированием. В основе многих методов находятся алгебра, теория вероятностей, теория чисел и другие области математики.

Криптография в информатике

Для информатики криптография стала одним из базовых инструментов работы с данными.

Она используется практически во всех больших цифровых системах:

  • в операционных системах;
  • браузерах;
  • мобильных приложениях;
  • банковских сервисах;
  • облачных хранилищах;
  • корпоративных сетях;
  • мессенджерах;
  • электронной коммерции;
  • государственных информационных системах;
  • криптовалютах.

Когда браузер показывает защищённое HTTPS-соединение, за этим стоят криптографические протоколы.

Когда смартфон хранит данные в зашифрованном виде — это тоже криптография.

Когда приложение проверяет цифровую подпись обновления, чтобы не установить поддельную программу, — снова криптография.

Она стала настолько привычной частью вычислительных систем, что пользователь чаще всего вообще не замечает её работу.

Криптография и безопасность мобильных устройств

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

Современное устройство может использовать её для:

  • шифрования внутренней памяти;
  • защиты паролей и ключей;
  • безопасного подключения к сайтам;
  • работы банковских приложений;
  • подтверждения обновлений операционной системы;
  • защищённой переписки;
  • биометрической аутентификации;
  • бесконтактной оплаты.

При этом криптография не способна сама решить все проблемы безопасности.

Если пользователь самостоятельно сообщает мошеннику пароль, устанавливает вредоносное приложение или разблокирует устройство для постороннего, математическая стойкость шифра уже не поможет.

Поэтому безопасность мобильных устройств — это сочетание криптографии, программной защиты и правильного поведения пользователя.

Можно ли взломать современный шифр

В кино криптографический шифр часто «взламывают» за несколько минут, подобрав пароль на компьютере.

В действительности всё зависит от того, что именно атакуется.

Хороший современный алгоритм при правильном ключе может быть настолько устойчивым к прямому перебору, что проверка всех вариантов практически невозможна.

Но атакующий может пойти другим путём:

  • украсть ключ;
  • подсмотреть пароль;
  • использовать ошибку в программе;
  • заразить компьютер;
  • обмануть пользователя;
  • воспользоваться неправильно настроенной системой;
  • найти ошибку в реализации алгоритма.

История криптографии постоянно показывает: надёжный математический метод ещё не означает автоматически надёжную систему.

Именно поэтому специалисты исследуют не только сами шифры, но и то, как они реализованы и используются.

Криптография и криптоанализ

У криптографии есть своего рода противоположная сторона — криптоанализ.

Криптограф пытается создать устойчивую систему защиты.

Криптоаналитик исследует её и пытается найти способ получить информацию без знания секретного ключа.

Развитие этих двух областей постоянно подталкивает друг друга.

Так происходило ещё с ручными шифрами, затем с роторными машинами вроде «Энигмы», а сегодня происходит с математическими алгоритмами и компьютерными протоколами.

Вместе криптографию и криптоанализ часто объединяют более широким понятием — криптология.

Как менялась криптография

Первые шифры можно было выполнить вручную. Достаточно было заменить буквы другими символами или переставить их по определённому правилу.

Позже появились механические и электромеханические устройства — например, роторные шифровальные машины.

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

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

Как изучают основы криптографии

Начинать изучение темы удобно не с формул, а с понимания основных задач:

  1. Что именно мы хотим защитить?
  2. От кого?
  3. Нужно ли скрывать содержание?
  4. Нужно ли обнаруживать изменение данных?
  5. Нужно ли подтверждать автора?
  6. Каким образом стороны получат ключи?

После этого легче переходить к конкретным алгоритмам и математике.

В российских учебных программах криптографию изучают в рамках информационной безопасности, математики и информатики. В университетской литературе встречается, например, учебник А. П. Алферова и соавторов «Основы криптографии», посвящённый математическим принципам построения и анализа криптографических систем.

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

Зачем нужна криптография сегодня

Когда-то криптография была технологией прежде всего военных, дипломатов и разведчиков.

Сегодня она нужна практически каждому человеку.

Мы доверяем цифровым устройствам деньги, документы, переписку, фотографии и личные данные. При этом информация постоянно передаётся через сети, которыми пользователь непосредственно не управляет.

Криптография позволяет создать доверие там, где участники не могут просто передать друг другу запечатанный конверт из рук в руки.

Именно поэтому современная криптография — это уже не только искусство тайного письма. Это фундаментальная часть цифровой инфраструктуры.

В Музее криптографии в Москве можно проследить весь путь развития этих идей: от древних шифров и ручных методов до «Энигмы», советских шифровальных машин, компьютеров и современных технологий защиты данных. Интерактивные экспонаты позволяют не только увидеть исторические устройства, но и самостоятельно попробовать принципы шифрования и передачи информации.