Криптосистема опирается на решения
задачи нахождения кратчайшего вектора
и
задачи нахождения ближайшего вектора
. Схема шифрования GGH, опубликованная в 1997 году учёными
,
и
, использует
одностороннюю функцию с потайным входом
, ведь учитывая любой базис решётки, легко генерировать вектор, близкий к точке решётки. Например, взяв точку решётки и добавив небольшой вектор ошибки. Для возвращения из вектора ошибки в исходную точку решетки необходим специальный базис. В 1999 году Phong Q. Nguyen
сделал уточнение к оригинальной схеме шифрования GGH, что позволило решить четыре из пяти задачи GGH и получить частичную информацию о последней. Хотя GGH может быть безопасным при определенном выборе параметров, его эффективность по сравнению с традиционными криптосистемами с открытым ключом остается спорной
. Зачастую при шифровании требуется высокая размерность решётки, в то время как размер ключа растет примерно квадратично относительно размера решётки
.
Единственной решётчатой схемой, которая справляется с высокими размерностями, является NTRU
.
Открытый ключ является ещё одним основанием решётки
вида
.
Пусть пространство сообщений М состоит из векторов
, принадлежащих интервалу
.
Шифрование
Дано сообщение
, ошибка
и открытый ключ
:
В матричной записи:
Нужно помнить, что
состоит из целочисленных значений,
является точкой решётки, поэтому
также является точкой решётки. Тогда зашифрованный текст:
Расшифровка
Для расшифровки шифротекста вычисляется:
Для удаления
, если он достаточно мал, используется метод
округления
Бабая
.
Тогда, чтобы получить текст:
Анализ безопасности
В этом разделе рассматривается несколько способов атаки криптосистемы
.
Атака округлением
Атака округлением — наиболее очевидная атака данной криптографической системы, кроме атаки грубой силы — поиска вектора ошибки
Ее суть заключается в использовании открытого ключа B для инвертирования функции таким же образом, как и при использовании закрытого ключа R. А именно, зная
, можно вычислить
. Таким образом, можно найти вектор
.
При размерности ниже 80
LLL
алгоритм способен правильно определять основание, однако начиная с размерности 100 и выше, данная атака хуже, чем тривиальный перебор вектора ошибок.
Атака штурмом
Данный алгоритм —
очевидное
уточнение атаки округлением. Здесь используется лучший алгоритм
аппроксимации
задачи кратчайших векторов. В частности, вместо алгоритма округления Babai используется алгоритм ближайшей плоскости. Он работает следующим образом. Дана точка
и уменьшенный базиc
= {
} для
. Рассматриваются все аффинные пространства
= {
+
} :
}
. Для всех
находится гиперплоскость
, ближайшая к точке
. Далее на (n - 1)-мерное пространство, которое охватывается
= {
}, проектируется
точка
.
Это дает новую точку
и новый базис
= {
}. Теперь алгоритм
рекурсивно
переходит к поиску точки
в этой (n - 1)-мерной решетки, близкой к
. Наконец, алгоритм устанавливает
.
Данный метод работает гораздо быстрее предыдущего. Тем не менее, его рабочая нагрузка также растет экспоненциально с размерностью решетки. Эксперименты показывают, что при использовании
в качестве алгоритма сокращения решетки требуется некоторое время на поиск, начиная с
размеров 110-120. Атака становится неосуществимой, начиная с размеров 140-150.
Атака внедрения
Еще одним способом, который часто используется для аппроксимации
задачи нахождения ближайшего вектора
, является
вложение
n базисных векторов и точки
, для которой необходимо найти близкую точку решетки
в (n + 1)-мерной решетке
Затем используется алгоритм сокращения решетки для поиска кратчайшего ненулевого вектора в
, в надежде, что первые n элементов в этом векторе будут ближайшими точками к
.
Проведенные над этой атакой эксперименты (используя
как инструмент для поиска кратчайших
векторов) указывают на то, что она работает до размерностей около 110-120, что лучше, чем атака округлением, которая становится хуже тривиального поиска уже после размерности равной 100.
Оценка эффективности атак
Оценка атаки округлением
Пусть в каждом измерении
создано пять закрытых базисов. Каждый базис выбирается как
=
+ rand
, где I — тождественная матрица, а rand
—
квадратная матрица
, члены которой выбираются равномерно из диапазона
. Для каждого базиса
вычисляется значение
=
, где
—
евклидова норма
наибольшей строки
, а
. Для каждого закрытого базиса
генерируется пять открытых базисов
=
, где
— двойной дефект ортогональности:
где
обозначает строку матрицы
.
Оценка атаки штурмом
Для оценки атаки штурмом использовались такие же открытый и закрытый базисы, как и в атаке округлением.
Оценка атаки внедрением
Так как нельзя говорить о «рабочей нагрузке» атаки внедрением, было измерено максимальное значение
(связанное с вектором ошибок), для которого эта атака работает. Для этих экспериментов использовались те же закрытые базисы
и открытые базисы
, что и для предыдущих двух атак. Затем использовался каждый открытый базис для оценки функции на нескольких точках, используя несколько различных значений
и проверялось, восстанавливает ли атака внедрения зашифрованное сообщение.
Пример
Пусть
решетка с основанием
и обратным ему
:
и
С унимодулярной матрицей:
и
Получаем:
Пусть сообщение
и вектор ошибок
Тогда зашифрованный текст:
Для расшифровки необходимо:
Это округляется до
И сообщение восстанавливается с:
Источники и дополнительная литература
Oded Goldreich, Shafi Goldwasser, and Shai Halevi. Public-key cryptosystems from lattice reduction problems. In CRYPTO ’97: Proceedings of the 17th Annual International Cryptology Conference on Advances in Cryptology, pages 112—131, London, UK, 1997. Springer-Verlag.
Phong Q. Nguyen. Cryptanalysis of the Goldreich-Goldwasser-Halevi Cryptosystem from Crypto ’97. In CRYPTO ’99: Proceedings of the 19th Annual International Cryptology Conference on Advances in Cryptology, pages 288—304, London, UK, 1999. Springer-Verlag.
Примечания
Phong Q. Nguyen.
. —
С. 1-17
.
16 июля 2018 года.
↑
Phong Q. Nguyen.
(неопр.)
16 июля 2018 года.
Phong Q. Nguyen.
(неопр.)
16 июля 2018 года.
Oded Goldreich, Shafi Goldwasser и Shai Halevi.
[
Public-Key
Cryptosystems from Lattice Reduction Problems]. —
С. 112-114
.
4 мая 2019 года.
Phong Q. Nguyen.
. —
С. 4
.
16 июля 2018 года.
Oded Goldreich, Shafi Goldwasser и Shai Halevi.
[
Public-Key
Cryptosystems from Lattice Reduction Problems]. —
С. 122-124
.
4 мая 2019 года.
Oded Goldreich, Shafi Goldwasser и Shai Halevi.
[
Public-Key
Cryptosystems from Lattice Reduction Problems]. —
С. 127-130
.
4 мая 2019 года.