2.2.7. Новые направленияВ 1976 году была опубликована работа молодых американских математиков У. Диффи и М. Э. Хеллмана «Новые направления в криптографии», которая не только существенно изменила криптографию, но и привела к появлению и бурному развитию новых направлений в математике. Центральным понятием «новой криптографии» является понятие односторонней функции [12, 14]. Односторонней называется функция F: X→ У, обладающая двумя свойствами: а) существует полиномиальный алгоритм вычисления значений F(х); б) не существует полиномиального алгоритма инвертирования функции F (т. е. решения уравнения Отметим, что односторонняя функция существенно отличается от функций, привычных со школьной скамьи, из-за ограничений на сложность ее вычисления и инвертирования. Вопрос о существовании односторонних функций пока открыт. Еще одним новым понятием является понятие функции с секретом. Иногда еще употребляется термин функция с ловушкой. Функцией с секретом К называется функция а) существует полиномиальный алгоритм вычисления значения б) не существует полиномиального алгоритма инвертирования в) существует полиномиальный алгоритм инвертирования Про существование функций с секретом можно сказать то же самое, что сказано про односторонние функции. Для практических целей криптографии было построено несколько функций, которые могут оказаться функциями с секретом. Для них свойство б) пока строго не доказано, но считается, что задача инвертирования эквивалентна некоторой давно изучаемой трудной математической задаче. Наиболее известной и популярной из них является теоретико-числовая функция, на которой построен шифр RSA (Райвест, Шамир, Адлеман), основанный на операциях с большими (более 100 знаков) простыми числами и их произведениями [4]. Применение функций с секретом в криптографии позволяет: 1) организовать обмен шифрованными сообщениями с использованием только открытых каналов связи, т. е. отказаться от секретных каналов связи для предварительного обмена ключами; 2) включить в задачу вскрытия шифра трудную математическую задачу и тем самым повысить обоснованность стойкости шифра; 3) решать новые криптографические задачи, отличные от шифрования (электронная цифровая подпись и др.). Опишем, например, как можно реализовать п. 1). Пользователь А, который хочет получать шифрованные сообщения, должен выбрать какую-нибудь функцию Поскольку А для своего секрета К умеет инвертировать Рис. 2.7. Схема асимметричного метода шифрования
В последнее время такие криптосистемы еще называют асимметричными, поскольку в них есть асимметрия в алгоритмах: алгоритмы шифрования и дешифрования различны. В отличие от таких систем традиционные шифры, описанные в разделе 2.2.6, называют симметричными: в них ключ для шифрования и дешифрования один и тот же. Для асимметричных систем алгоритм шифрования общеизвестен, но восстановить по нему алгоритм дешифрования за полиномиальное время невозможно. Для решения задачи шифрования с передачей секретного ключа, использованного отправителем, сообщение сначала симметрично зашифровывают случайным ключом, затем этот ключ зашифровывают открытым асимметричным ключом получателя, после чего сообщение и ключ отправляются по сети. Описанную выше идею Диффи и Хеллман предложили использовать также для электронной цифровой подписи сообщений, которую невозможно подделать за полиномиальное время. Пусть пользователю А необходимо подписать сообщение х. Он, зная секрет К, находит такое у, что Сообщение, подписанное цифровой подписью, можно представлять себе как пару (х, у), где х – сообщение, у – решение уравнения 1) подписать сообщение х, т. е. решить уравнение 2) проверить подлинность подписи может любой абонент, знающий открытый ключ, т. е. саму функцию 3) при возникновении споров отказаться от подписи невозможно в силу ее уникальности; 4) подписанные сообщения (х, у) можно, не опасаясь ущерба, пересылать по любым каналам связи. Кроме принципа построения криптосистемы с открытым ключом, Диффи и Хеллман в той же работе предложили еще одну новую идею – открытое распределение ключей. Они задались вопросом: можно ли организовать такую процедуру взаимодействия абонентов А и В по открытым каналам связи, чтобы решить следующие задачи: 1) вначале у А и В нет никакой общей секретной информации, но в конце процедуры такая общая секретная информация (общий ключ) у А и В появляется, т. е. вырабатывается; 2) пассивный противник, который перехватывает все передачи информации и знает, что хотят получить А и В, тем не менее не может восстановить выработанный общий ключ А и В. Диффи и Хеллман предложили решать эти задачи с помощью функции
где р – большое простое число, х – произвольное натуральное число, Сама процедура или, как принято говорить, протокол выработки общего ключа описывается следующим образом. Абоненты А и В независимо друг от друга случайно выбирают по одному натуральному числу – скажем
Числа р и
Аналогично поступает абонент В:
Тем самым у А и В появился общий элемент поля, равный Из описания протокола видно, что противник знает Успехи, достигнутые в разработке схем цифровой подписи и открытого распределения ключей, позволили применить эти идеи также и к другим задачам взаимодействия удаленных абонентов. Так возникло большое новое направление теоретической криптографии – криптографические протоколы. Объектом изучения теории криптографических протоколов являются удаленные абоненты, взаимодействующие, как правило, по открытым каналам связи. Целью взаимодействия абонентов является решение какой-то задачи. Имеется также противник, который преследует собственные цели. При этом противник в разных задачах может иметь разные возможности: например, может взаимодействовать с абонентами от имени других абонентов или вмешиваться в обмены информацией между абонентами и т. д. Противником может даже оказаться один из абонентов или несколько абонентов, вступивших в сговор. Приведем еще несколько примеров задач, решаемых удаленными абонентами. 1. Взаимодействуют два не доверяющих друг другу абонента. Они 2. Взаимодействуют два не доверяющих друг другу абонента. Они Протокол решения этой задачи принято называть протоколом подбрасывания монеты. За последние годы криптография и криптографические методы все шире входят в нашу жизнь. Отправляя электронную почту, мы в некоторых случаях отвечаем на вопрос меню: «Нужен ли режим зашифрования?» Владелец интеллектуальной банковской карточки, обращаясь через терминал к банку, вначале выполняет криптографический протокол аутентификации карточки. Пользователи сети Internet наверняка знакомы с дискуссиями вокруг возможного принятия стандарта цифровой подписи для тех страниц, которые содержат «критическую» информацию (юридическую, прайс-листы и др.). С недавних пор пользователи сетей стали указывать после своей фамилии наряду с уже привычным «Email ...» и менее привычное – «Отпечаток открытого ключа ...». С каждым днем таких примеров становится все больше. Именно новые практические приложения криптографии и являются одним из источников ее развития.
|