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

Информационный канал

Информационный канал. Источник: http://blog.globalknowledge.com

Криптография – это наука о том, как передать сообщение от одного адресата другому так, чтобы его не смог перехватить кто-то третий. Следуя принятым договоренностям, назовем одного адресата Алисой, а второго Бобом. Злоумышленника же, который будет пытаться перехватить наши сообщения, назовем  Евой (от английского слова «eavesdropper» - подслушивающий).

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

Схематично можно представить себе этот канал в виде такой вот схемы:

Передача информации

Передача информации. Источник: http://billatnapier.com/design_tips240.htm

Причем место людей в данной схеме обычно занимают компьютеры, а информация передается в виде последовательности бит – нулей и единичек. Как же сделать так, чтобы сообщение не попало в руки Евы? Можно, например, проследить, чтобы у Евы не было доступа к каналу передачи на всем его протяжении. Но, если информация передается на десятки километров, сделать это, мягко говоря, проблематично. Да и вообще, всегда может найтись такой участок канала, где злоумышленник сможет незаметно подключиться к нему и перехватывать передаваемые сообщения.

А можно сделать и по-другому – шифровать передаваемые сообщения! Шифры были изобретены еще в эпоху Древнего Мира, несколько тысяч лет назад, и повсеместно использовались для передачи тайной информации. Самыми известными древними шифрами являются Скитала и шифр Цезаря (его онлайн-версию можно посмотреть на http://planetcalc.com/1434/). Процесс шифрования этими шифрами (которые также называются «моноалфавитными») довольно прост: берется исходный текст (сообщение) и преобразовывается в зашифрованный с помощью «ключа». Например, в шифре Цезаря таким ключом является сдвиг одного алфавита относительно другого, что и показано на рисунке ниже.

Шифр Цезаря

Шифр Цезаря. Источник: https://ru.wikipedia.org/wiki/

В данном случае сдвиг равен трём, поэтому: A заменяется на D B заменяется на EZ заменяется на C Для сообщения  “Hello” зашифрованный текст будет выглядеть, как “Khoor”. Что же нужно знать Бобу, чтобы, получив сообщение “Khoor”, понять, что хотела сказать ему Алиса? Правильно, ключ. И здесь у него есть два варианта: либо пытаться «подобрать» ключ самому (благо для шифра Цезаря это сделать не так сложно), либо попросить Алису передать ему ключ.

Получив подобную просьбу от Боба, Алиса столкнется с очередной проблемой – как передать ключ Бобу так, чтобы его не смогла перехватить Ева? Ведь если Ева перехватит и зашифрованное сообщение, и ключ, она без труда сможет восстановить исходное сообщение и все усилия по его шифрованию станут бессмысленными. Из этой ситуации есть несколько выходов. Один из них – передать ключ предварительно встретившись друг с другом лично, а в дальнейшем просто пользоваться им для шифрования и дешифрования сообщений. Но это не очень-то удобно, если Алиса и Боб находятся далеко друг от друга.

Другой способ – использовать так называемые алгоритмы ассиметричного шифрования (или, как их еще называют, криптографию с открытым ключом), когда существуют два ключа – открытый, который доступен и Алисе, и Бобу (и, возможно, Еве), и закрытый, причем свой у Алисы и свой у Боба, которыми они ни с кем не делятся. При этом, даже если  Ева перехватит и зашифрованный текст, и открытый ключ, то не сможет восстановить исходный текст, не зная закрытого ключа. Примерами таких шифров служат алгоритмы Диффи-Хеллмана, Эль-Гамаля и  RSA, широко используемые в защищенных протоколах передачи данных (например, SSL/TLS). Однако у этих алгоритмов есть фундаментальный недостаток – они легко взламываемы с помощью квантового компьютера, который вот-вот станет реальностью.

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

Комментарии: