Опасаетесь, что посторонние читают вашу персональную электронную почту? Зашифруйте ее при помощи программы PGP (Pretty Good Privacy).

Вид сообщения до кодирования — и вот что ваш друг увидит перед расшифровкой

PGP была разработана в 1991 году Филом Циммерманом для пересылки электронной почты таким образом, чтобы никто, кроме получателя, не смог бы ее прочесть. Этим он нажил себе массу проблем с властями, пока в 1996 году они под давлением компьютерной промышленности не закрыли судебное дело.

После того, как Network Associates в 1997 году купила PGP, разработки замедлились, и к 2001 году работа над PGP практически остановилась. К счастью, воссозданная PGP Corp. откупила программный продукт и подготовила новые версии для Windows XP и Mac OS X.

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

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

Главное — не путать коды и шифры. В кодах слова и фразы заменяются некими условными — например, «ребенок в кроватке» означает «груз доставлен». Шифры — это математические формулы, по которым сообщения преобразуются в абракадабру. Примером простейшего шифра является кодировка А=1, Б=2, В=3 и т. д. Тогда слово «метро» будет зашифровано, как 136191715. Шифр можно усложнить, располагая цифры в обратном порядке (А=33, Б=32 и т. д.) или, действуя в соответствии с исходной последовательностью, умножая числа на некоторое произвольное число — скажем, на 7. Тогда «метро» будет 814213311985.

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

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

Шифрование при помощи открытого ключа, разработанное математиками Стэнфордского университета Уитфилдом Диффи и Мартином Хеллманом в 1976 году, делает управление ключом невероятно простым. Но здесь есть маленькая хитрость. До открытия Диффи и Хеллмана все методы шифрования были симметричными, когда получатель для расшифровки просто применял метод, обратный кодированию. Шифрование с открытым ключом несимметрично, в нем используются два ключа — один для кодирования, другой для расшифровки. Используя такой способ, Алиса может послать зашифрованное сообщение, не посылая вслед своего секретного ключа.

Как это работает

За счет чего обеспечивается большая секретность? Шифрование с открытым ключом вообще расценивалось специалистами как не вскрываемое, по скольку подбор ключей здесь не срабатывает, даже если компьютер может перебрать тысячи ключей в секунду. После того, как Диффи и Хелман сделали свое теоретическое открытие, три математика из Массачусетского технологического института — Рональд Л. Райвест, Ади Шамир и Леонард М. Эйдельман нашли ему практическое применение. Они использовали разложение на множители в качестве основы своего метода шифрования, названного по их инициалам RSA.

Если вы помните алгебру, разложить на множители означает взять число и разложить его на простые сомножители, которые делятся только на самих себя или на единицу. Так число 210 может быть разложено на 1 х 2 х 3 х 5 х 7, на первые пять простых чисел. Любое наперед заданное число состоит из единственного набора простых сомножителей.

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

В этом и заключается секрет шифрования с открытым ключом: перемножить два простых сомножителя легко, но преобразовать результат обратно к составляющим простым числам очень сложно. Открытый ключ Алисы является произведением двух простых чисел, p и q. Чтобы расшифровать сообщение, посланное Алисой, Еве придется узнать и p, и q, которые содержатся в секретном ключе Алисы. Теперь вы понимаете всю сложность, особенно если вспомнить, что Алиса может выбрать два простых числа, каждое из которых будет длиной более 100 знаков.

Открытый ключ, как следует из его названия, распространяется свободно и зачастую выкладывается на персональной вэб-странице. Секретный ключ никогда никому не передается. Положим, что Боб хочет послать сообщение Алисе. Он берет ее открытый ключ, использует его для кодирования и отсылает сообщение ей. Так как открытый PGP ключ Алисы (p x q) связан с ее секретным ключом, который содержит p и q, она может расшифровать послание, даже если никогда раньше не общалась с Бобом. Если Ева и перехватит сообщение, она не сможет расшифровать текст, поскольку, не зная секретного ключа, разложение p и q из открытого ключа сделать невозможно.

Программа PGP делает все это прозрачно. Вам совершенно не придется задумываться над простыми числами и разложением. Программа поможет сформировать открытый и секретный ключи и сделать доступным ваш открытый ключ. PGP работает с распространенными почтовыми программами, такими как Outlook XP для Windows, Mail. app и Entourage на Mac. Чтобы зашифровать электронное письмо, надо просто написать сообщение, а затем нажать кнопки «Зашифровать» («Encrypt») и «Отправить» («Send»). Программа может автоматически находить и подгружать с одного из многочисленных серверов ключей открытый ключ корреспондента, приславшего вам закодированное сообщение. А если же кто-то и перехватит вашу почту, то не получит от этого никакого прока.

Зачем беспокоиться?

Ну и к чему все эти беспокойства и шпионская возня? Стоит ли тревожиться, если посторонний прочтет вашу электронную почту? Но разве вы все письма пишете на почтовых открытках?

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

Статья опубликована в журнале «Популярная механика» (№2, Февраль 2003).