Чтение онлайн

на главную

Жанры

Книга шифров. Тайная история шифров и их расшифровки
Шрифт:

Циммерман же, напротив, считал, что каждый заслужил право на частную жизнь, которую предлагает шифрование RSA, и направил все свое рвение на создание программного продукта для шифрования RSA для масс. Он намеревался воспользоваться своим опытом в программировании для создания экономичной и эффективной программы, которая не вызовет перегрузки обычного персонального компьютера, а также хотел придать своему варианту RSA исключительно удобный интерфейс, чтобы пользователю не нужно было быть знатоком криптографии для работы с ним. Циммерман назвал свой проект Pretty Good Privacy, или, для краткости, PGP. На это его вдохновило название фирмы-спонсора одной из его любимых радиопостановок Гаррисона Кейлора.

В конце 80-х годов, трудясь у себя дома в Боулдере, штат Колорадо, Циммерман постепенно соединил воедино свой пакет программ, осуществляющий шифрование. Его основной целью было ускорить шифрование RSA. Обычно если Алиса

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

Циммерман представил следующий план действий. Если Алиса хочет послать зашифрованное сообщение Бобу, она начинает с того, что зашифровывает его с помощью симметричного шифра. Циммерман предложил использовать шифр, известный как IDEA и который похож на DES. Для зашифровывания с помощью IDEA Алисе нужно выбрать ключ, но чтобы Боб смог расшифровать сообщение, Алисе надо каким-то образом передать этот ключ ему. Алиса справляется с этим затруднением: она находит открытый ключ RSA Боба, а затем использует его, чтобы зашифровать ключ IDEA. Таким образом Алиса завершает свои действия, высылая Бобу сообщение, зашифрованное симметричным шифром IDEA, и ключ IDEA, зашифрованный асимметричным шифром RSA. На другом конце Боб использует свой секретный ключ RSA, чтобы расшифровать ключ IDEA, а затем использует ключ IDEA, чтобы расшифровать сообщение. Это может показаться слишком сложным, но преимущество заключается в том, что сообщение, которое может содержать большой объем информации, зашифровывается быстрым симметричным шифром, и только симметричный ключ IDEA, состоящий из сравнительно небольшого количества информации, зашифровывается медленным асимметричным шифром. Циммерман предполагал включить эту комбинацию RSA и IDEA в свою программу PGP, но удобный интерфейс означает, что пользователя не должно волновать, что при этом происходит.

Разрешив, в основном, проблему быстродействия, Циммерман включил также в PGP ряд полезных свойств. Например, перед применением RSA, Алисе необходимо сгенерировать свои секретный и открытый ключи. Процесс создания ключа не прост, поскольку требует нахождения пары огромных простых чисел. Но единственное, что следует сделать Алисе, — это случайным образом подвигать своей мышкой, и программа PGP создаст ее секретный и открытый ключи; движениями мышки вводится случайный фактор, который используется в PGP и благодаря которому гарантируется, что у каждого пользователя будет своя отличающаяся от других пара простых чисел и, тем самым, своя уникальная комбинация секретного и открытого ключей. После этого Алиса должна просто известить о своем открытом ключе.

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

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

преступником, пытающимся переместить денежные средства на свой банковский счет на Каймановых островах. Для выработки доверия к Интернету важно, чтобы существовала какая-либо форма достоверной цифровой подписи.

Цифровая подпись в PGP основана на принципе, который был впервые разработан Уитфилдом Диффй и Мартином Хеллманом. Когда они предложили идею о раздельных открытых и секретных ключах, то поняли, что наряду с решением проблемы распределения ключей их открытие позволяет также создавать подписи для электронных писем. В главе 6 мы видели, что открытый ключ используется для зашифровывания, а секретный ключ — для расшифровывания. На самом деле эти операции можно поменять местами, так что для зашифровывания будет использоваться секретный ключ, а для расшифровывания — открытый ключ. Режим зашифровывания как правило, игнорируется, поскольку никакой безопасности он не обеспечивает. Если Алиса применяет свой секретный ключ, чтобы зашифровать сообщение для Боба, то каждый может расшифровать его, потому что у всех есть открытый ключ Алисы. Но как бы то ни было, данный режим подтверждает авторство, так как если Боб может расшифровать сообщение с помощью открытого ключа Алисы, значит, оно должно было быть зашифровано с использованием ее секретного ключа; но только у Алисы имеется доступ к своему секретному ключу, поэтому данное сообщение было отправлено Алисой.

В сущности, если Алиса хочет послать Бобу любовное письмо, у нее есть две возможности. Либо она зашифрует сообщение с помощью открытого ключа Боба, чтобы обеспечить секретность переписки, либо она зашифрует его своим собственным секретным ключом, чтобы подтвердить авторство. Однако если она объединит обе операции, то сможет гарантировать и секретность переписки, и авторство. Существуют более быстрые способы для достижения этого, но здесь приводится один из способов, которым Алиса может послать свое любовное письмо. Она начинает с того, что зашифровывает сообщение с помощью своего секретного ключа, а затем зашифровывает получающийся зашифрованный текст, используя открытый ключ Боба. Вообразите себе сообщение, окруженное хрупкой внутренней оболочкой, которая представляет собой шифрование, выполненное с помощью секретного ключа Алисы, и прочную наружную оболочку, представляющую шифрование с использованием открытого ключа Боба. Получающийся шифртекст может быть расшифрован только Бобом, потому что только он имеет доступ к секретному ключу, необходимому для того, чтобы разбить эту прочную наружную оболочку. Расшифровав наружную оболочку, Боб затем сможет легко расшифровать с помощью открытого ключа Алисы и внутреннюю оболочку; эта внутренняя оболочка служит не для того, чтобы защитить сообщение, она удостоверяет, что данное сообщение пришло от Алисы, а не от какого-нибудь мошенника.

К этому моменту отправка зашифрованного PGP сообщения становится довольно сложной. Шифр IDEA используется для того, чтобы зашифровать сообщение, RSA применяется для зашифровывания ключа IDEA, а если необходима цифровая подпись, то должен быть задействован еще один этап шифрования. Однако Циммерман разработал свою программу таким образом, что она все будет делать автоматически, так что Алисе и Бобу не придется беспокоиться о математике. Чтобы отправить сообщение Бобу, Алиса просто напишет свое электронное письмо и выберет из меню на экране своего компьютера нужную опцию PGP. Затем она введет имя Боба, после чего PGP отыщет открытый ключ Боба и автоматически выполнит зашифровывание. Одновременно с этим PGP будет проделывать все необходимые манипуляции, требующиеся для создания электронной подписи на сообщении. При получении зашифрованного сообщения Боб выберет опцию PGP, и PGP расшифрует сообщение и удостоверит подлинность автора. В PGP нет ничего нового: Диффи и Хеллман уже придумали цифровые подписи, а другие криптографы пользовались комбинацией симметричного и асимметричного шифров для повышения скорости шифрования, но Циммерман первым объединил все это в простом в применении программном продукте для шифрования, который оказался достаточно эффективным для использования на персональном компьютере средних размеров.

К лету 1991 года Циммерман уже готов был придать PGP законченный вид. Оставались только две проблемы, причем ни одна из них не являлась технической. Одна из них — и проблема эта стояла довольно длительное время — заключалась в том, что RSA, который лежал в основе PGP, являлся запатентованным продуктом, а по патентному законодательству, перед тем как выпустить PGP, Циммерману требовалось получить лицензию у компании RSA Дата Секью-рити Инк. Однако Циммерман решил пока отложить эту проблему. PGP задумывалась не как программа для предприятий и компаний, а скорее как программа для отдельных людей. Он полагал, что не станет непосредственно конкурировать с RSA Дата Секьюрити Инк., и надеялся, что компания без задержки предоставит ему свободную лицензию.

Поделиться:
Популярные книги

Ученичество. Книга 2

Понарошку Евгений
2. Государственный маг
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Ученичество. Книга 2

Безродный

Коган Мстислав Константинович
1. Игра не для слабых
Фантастика:
боевая фантастика
альтернативная история
6.67
рейтинг книги
Безродный

Неудержимый. Книга XVII

Боярский Андрей
17. Неудержимый
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Неудержимый. Книга XVII

Вечная Война. Книга VII

Винокуров Юрий
7. Вечная Война
Фантастика:
юмористическая фантастика
космическая фантастика
5.75
рейтинг книги
Вечная Война. Книга VII

Чужое наследие

Кораблев Родион
3. Другая сторона
Фантастика:
боевая фантастика
8.47
рейтинг книги
Чужое наследие

Курсант: назад в СССР 9

Дамиров Рафаэль
9. Курсант
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Курсант: назад в СССР 9

Его огонь горит для меня. Том 2

Муратова Ульяна
2. Мир Карастели
Фантастика:
юмористическая фантастика
5.40
рейтинг книги
Его огонь горит для меня. Том 2

Отверженный III: Вызов

Опсокополос Алексис
3. Отверженный
Фантастика:
фэнтези
альтернативная история
7.73
рейтинг книги
Отверженный III: Вызов

Царь Федор. Трилогия

Злотников Роман Валерьевич
Царь Федор
Фантастика:
альтернативная история
8.68
рейтинг книги
Царь Федор. Трилогия

Варлорд

Астахов Евгений Евгеньевич
3. Сопряжение
Фантастика:
боевая фантастика
постапокалипсис
рпг
5.00
рейтинг книги
Варлорд

Лорд Системы 13

Токсик Саша
13. Лорд Системы
Фантастика:
фэнтези
попаданцы
рпг
5.00
рейтинг книги
Лорд Системы 13

Ночь со зверем

Владимирова Анна
3. Оборотни-медведи
Любовные романы:
любовно-фантастические романы
5.25
рейтинг книги
Ночь со зверем

Темный Кластер

Кораблев Родион
Другая сторона
Фантастика:
боевая фантастика
5.00
рейтинг книги
Темный Кластер

Сама себе хозяйка

Красовская Марианна
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Сама себе хозяйка