Геометрическая криптография

Материал из testwiki
Перейти к навигации Перейти к поиску

Геометрическая криптография — теоретические криптографические методы, в которых сообщения и шифротексты представлены в виде геометрических величин: углов, отрезков, а вычисления проводятся с помощью циркуля и линейки. Основана на сложности решения определенного класса геометрических задач, например, трисекции угла. Геометрическая криптография не имеет практического применения, но её предлагается использовать в педагогических целях, чтобы наглядно продемонстрировать принципы криптографии такие, как протокол с нулевым разглашением информации. Идея геометрической криптографии, а именно: идентификации с помощью трисекции угла, была предложена в неопубликованной работе[1] в 1997 году. Является примером криптографии в нестандартной модели вычислений[2][3].

Аксиоматика

Современная теория вычислений построена на применении логических операций к последовательности бит. Невозможность решения проблемы трисекции угла может быть использована в качестве аналога проблемы остановки. В результате чего, можно построить теорию вычислений, основанную на других канонических понятиях[1].

Простейшие операции, осуществимые с помощью циркуля и линейки на плоскости:Шаблон:Sfn

  • Через две данные точки A и B можно провести прямую AB, притом единственную.
  • Две различные перескающиеся прямые имеют точку пересечения, притом единственную.
  • Пусть A и B различные точки, то всегда существуют различные точки C1,C2,C3, несовпадающие с точками A и B, удовлетворящие следующим условиям:
  1. C1AB
  2. C2 прямой AB, BAC2
  3. C3∉AB
  • Пусть AB — отрезок, CD — луч. Тогда существует точка ECD, такая что AB и CE конгруэнтны.
  • Имея окружность и пересекающую её прямую, можно получить точки их пересечения.

Имея данные операции, можно показать, что выполнимы более сложные задачи, такие как бисекция угла, построение перпендикуляра к прямой.

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

  • Возможно выбрать точку принадлежащую единичному кругу.

Трисекция угла

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

Протокол идентификации

Алиса (доказывающая сторона) должна подтвердить свою личность Бобу (проверяющей стороне)[1].

Инициализация: Алиса случайным образом генерирует угол XA, публикует угол в три раза больший YA=3XA. При этом Алиса может быть уверена, что угол XA известен только ей.

Протокол:

  1. Алиса передает Бобу угол R=3K, где угол K выбран случайно.
  2. Боб бросает монетку и сообщает Алисе результат.
  3. Если выпадает "орел", Алиса передает Бобу угол K, и Боб проверяет, что R=3K. В противном случае, Алиса передает Бобу уголL=K+XA, Боб проверяет, что 3L=R+YA.

Описанная выше последовательность шагов повторяется t раз независимо. Боб подтверждает личность Алисы тогда и только тогда, когда все t итераций протокола завершились корректно. Постороннее лицо, не знающее ключ XA, не может построить оба угла L,K, иначе это значило бы, что возможно построить угол XA=LK.

После успешного выполнения операций можно утверждать с вероятностью P(t)=12t, что доказывающая сторона знает ключ XA.

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

Доказательство:

Пространство событий с точки зрения Боба состоит из исходов двух типов: (R,0,K), (R,1,L).

Для имитации первого случая Бобу достаточно взять случайный угол K и угол R=3K. Случайно выбирая угол L и выражая R из соотношения 3L=R+YA, Боб может имитировать второй случай.

Таким образом Боб может полностью имитировать свое взаимодействие с Алисой, а значит не получает никакой информации о ключе XA.

Протокол аутентификации

Протокол идентификации может быть преобразован в протокол аутентификации[1]. Пусть m - сообщение, которое Алиса хочет аутентифицировать:

Инициализация: Для данного протокола Алисе необходимы два ключа XA1,XA2. Публикуются углы YA1=3XA1,YA2=3XA2. Для аутентификации сообщения m Алиса доказывает Бобу, что ей известен угол Z=mXA1+XA2 , используя описанный ранее протокол идентификации.

Протокол:

  1. Алиса передает Бобу угол R=3K, где угол K выбирается случайно.
  2. Боб кидает монетку и сообщает Алисе о результате в виде b{0,1}.
  3. Алиса отправляет Бобу угол L=K+b(mXA1+XA2). Боб проверяет, что 3L=R+b(mYA1+YA2).

Примечания

Шаблон:Примечания

Литература

Шаблон:Изолированная статья