Третий вид – асимметричные криптоалгоритмы, которые нередко называют по-другому - шифрование с открытым ключом. Это наиболее популярные, надёжные и часто используемые алгоритмы. Здесь также используются ключи, но не один, а два. Первый ключ – публичный или открытый. Его можно передавать всем желающим. Второй ключ – закрытый или секретный. Он хранится у владельца, причем вся прелесть данного метода заключается в том, что секретный ключ никому и никуда передавать не нужно (точнее, не просто не нужно, но и нельзя категорически). Ты понял, в чем цимус? Открытые ключи можно передавать хоть через уличные плакаты, и это никоим образом не повлияет на защиту. Схема действия тут следующая…
Ты со своим партнером обменялся открытыми ключами. У каждого из вас есть свой секретный ключ. С помощью открытого ключа партнера ты шифруешь сообщение для него. Расшифровать его сможет только он – с помощью своего секретного ключа. Вот и все. По-моему, это просто прелестный метод, в отличие от всех остальных. О нём мы подробно поговорим в следующей главе, потому что самая знаменитая программа, реализующая алгоритм с открытыми ключами, так и называется – Pretty Good Privacy, то есть PGP.
Бунтовщик Циммерман
История создания программы PGP неотделима от светлой (говорю это без тени иронии) личности её создателя – Фила Циммермана, американского математика и программиста, человека, борющегося с Системой…
Ещё в колледже молодой Фил Циммерман разработал алгоритм, который самонадеянный юноша посчитал «невскрываемым». Перед глазами юноши забрезжила Нобелевка, и он уже стал репетировать свою речь, которую произнесёт при вручении премии, как вдруг на глаза Фила попалась работа какого-то другого студента, в которой приводился практически точно такой же алгоритм, который придумал Циммерман, а кроме того – о, ужас! – давались данные о том, как этот алгоритм вскрывать. И вот тут Фил пришел к довольно интересной мысли, которая звучала так: «Невскрываемых алгоритмов не бывает». Вторая мысль по тому же направлению давала повод для пессимизма. Звучала она следующим образом: «Вот ведь, мать вашу, сколько приходится попотеть, чтобы выдумать алгоритм, который хоть не сразу вскроют»! Ну и третью мысль, в одночасье посетившую Фила, можно выбить золотыми буквами на мраморе: «Куча людей, используя какие-то алгоритмы защиты, действительно считают, что их информацию невозможно вскрыть. Между тем, очень часто под видом так называемых «алгоритмов защиты» им продают полное дерьмо».
Осенённый этими мыслями, Циммерман занялся разработкой такой системы шифрования, которая была бы не просто стойкой, а очень стойкой. Кроме того, он значительно усовершенствовал изобретённый в 1971 году Мартином Хеллманом, Уайтфилдом Диффи и Ральфом Мерклом метод шифрования открытым ключом, добавив туда механизм взаимной сертификации, после чего появилась Царица Полей – программа PGP, то есть Pretty Good Privacy - Классная Прелестная Уединённость моей, твоей и вообще любой информации.
У Циммермана получилась действительно классная программа. Более того, Фил совершенно сознательно полностью открыл исходные коды PGP, чтобы, во-первых, ими могли воспользоваться все желающие, а во-вторых, чтобы их могли проанализировать специалисты по безопасности на предмет уязвимости.
И знаете, что сказали специалисты? «Эту штуку хрен вскроешь», - заявил один из них. «Вот, блин, какая программуля шикарная», - заметил второй. «Не знаю, что думаете вы, коллеги, но я считаю, что этот Циммерман – действительно крутой сукин сын», - признался третий.
Что это означает? То, что PGP не вскрывается. В том смысле, что невозможно (по крайней мере, сейчас) сделать программу, которая мигом вскроет защищённый с помощью PGP файл. (В отличие, кстати говоря, от некоторых других систем защиты, к которым хакеры-шмакеры уже подобрали ключики…)