Криптография с открытым ключом

Криптография с применением открытого ключа (или асимметричная крип­тография) имеет одно весьма важное преимущество перед симметричными алгоритмами. Она не требует соблюдения секретности при передаче пароля. Алгоритмы симметричного ключа предполагают двустороннее соглашение об общем ключе, который могут перехватить в процессе его передачи. В этом случае все последующие усилия по шифрованию сообщений оказываются со­вершенно бесполезными. Ключ необходимо передавать только при личной встрече, ибо все остальные способы не менее опасны, чем Internet; это часто мешает наладить бизнес через Internet компаниям и частным лицам.

В 1976 году преподаватели Стэнфордского университета, Витфильд Диф-фи (Whitfield DifFie) и Мартин Хелман (Martin Heliman), предложили систему

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

В 1975 году три исследователя из Массачусетсского технологического ин-гитута (MIT) разработали алгоритм для реализации метода криптографии на снове открытого ключа. Криптосистема получила название RSA, по первым уквам фамилий ее авторов — Рона Ривеста (Ron Rivest), Эйди Шамира (Adi hamir) и Леонарда Эдлмана (Leonard Adieman) (https://www.rsa.org/).

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

Конечно, многие математики пытались найти способ раскрыть алгоритм риптосистемы с открытым ключом с помощью вычислений (часто весьма бъемных), однако пока что никому не удалось найти решение этой матема-пческой проблемы. Декодирующие программы используют метод "грубой плы", проверяя все возможные комбинации. Теоретически такой подход по-юляет добиться успеха, однако необходимый объем вычислений делает та-ой вариант нереальным при условии, конечно, что открытый ключ имеет остаточную длину.

В обычной жизни алгоритм RSA не применяется для кодирования сооб-юний, поскольку это сопряжено с большими затратами времени; из-за этого а кодирование-декодирование сообщений уходит слишком много времени. [оэтому система RSA используется для кодирования симметричного скрытого) ключа, с помощью которого кодируется сообщение. Эта функция спользуется в стандарте SSL (Secure Sockets Layer), предназначенном для одирования Web-страниц (адреса соответствующих URL начинаются с ttps: //, а не с http: //). Ключ генерируется только на Web-броузере, а за-гм отправляется на Web-сервер. Если бы не криптография с открытым клю-ом, по Internet пришлось бы пересылать незащищенный ключ.

Для обеспечения безопасной передачи ключа Web-сервер пересылает свой открытый ключ Web-броузеру. Web-броузер выбирает симметричный ключ, кодирует сообщение открытым ключом Web-сервера и отправляет его обрат­но. Только Web-сервер может декодировать открытый ключ с помощью сво­его личного ключа. Таким образом, ключ RSA выступает в роли "цифрового конверта" для симметричного ключа. После передачи закрытого ключа с по­мощью метода RSA информация шифруется с использованием симметрич­ного ключа, поскольку этот способ значительно быстрее шифрования с от­крытым ключом.

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

При шифровании электронных писем можно несколько раз кодировать симметричный ключ с помощью различных открытых ключей. Каждый от­крытый ключ принадлежит одному из получателей, поэтому любой из них сможет расшифровать письмо. Каждый открытый ключ представляет собой "конверт", который содержит один и тот же ключ для декодирования исход­ного сообщения. Эта концепция безопасного обмена информацией использу­ется, в частности, в PGP, а также — аналогичным образом — в кодировании по алгоритму SSL в Web.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: