Криптосистема Миччанчо
—
криптосистема
, основанная на
схеме шифрования GGH
, была предложена в 2001 году профессором
Университета Калифорнии в Сан-Диего
Даниелем Миччанчо.
Схему шифрования GGH
опирается на
криптографию на решётках
, которая считается перспективной для использования в
постквантовых системах
(поскольку криптосистемы, использующие
факторизацию целых чисел
,
дискретное логарифмирование
,
дискретное логарифмирование на эллиптических кривых
могут быть эффективно взломаны
квантовым компьютером
при применении
алгоритмом Шора
). Криптосистема Миччанчо, по факту, является улучшением
схемы шифрования GGH
, с уменьшением требований к размеру ключа и
шифротекста
в
раз без ухудшения безопасности системы, где
—
размерность
решётки. Для типичных
криптосистем
составляет несколько сотен. В 2004 году Кристоф Людвиг эмпирически показал, что для безопасного использования требуется
, к тому же, создание ключа и его
дешифровка
занимает непозволительно много времени, а сам размер ключа должен быть больше 1
МБ
. По этой причине данная криптосистема не может быть использована на практике
.
Основные понятия и обозначения
Пусть
, где
— набор из
линейно независимых
векторов и компоненты каждого из
векторов
представляют собой целые числа, а
— матрица из этих векторов размера
. Далее, теория строится для
.
Решёткой
будем называть множество
.
В силу того, что базис
может быть не уникальным, принято выбирать в качестве базиса
эрмитову нормальную форму
, которая для каждой отдельно взятой решётки уникальна. Это значит, что матрица, составленная из векторов базиса, есть
верхняя треугольная
, все диагональные элементы строго положительны, а остальные элементы удовлетворяют
. Данный вид
матриц
обладает следующими полезными свойствами. Во-первых, через ортогонализацию
Грама — Шмидта
такая матрица приводится к
диагональному виду
с элементами
на диагонали. Во-вторых,
детерминант
такой матрицы равен произведению её диагональных элементов, то есть
.
Из последнего также следует важное свойство целочисленных решёток:
Пусть произвольные вектора
и
таковы, что
. В этом случае
тогда и только тогда, когда
.
Пусть
—
прямой параллелепипед
, где
— целочисленные
координаты
,
— ортогонализованные по процессу
Грама — Шмидта
базисные векторы,
. Пространство
может быть
замощено
такими параллелепипедами. Тогда для любого
существует уникальный вектор
. Такой вектор называется
редуцированным
для вектора
по модулю
. Он получается нахождением относительной позиции
в
, где
.
Данный вектор может быть найден по следующему
алгоритму
:
-
Найти
-
Вычислить искомый вектор по формуле
.
Методология
В
криптосистемах
на решётках
ключами
являются
базисы
. Пусть
и
— публичный и приватный базисы одной и той же решётки
. Отличие данной криптосистемы от
системы шифрования GGH
заключается в более оптимальном выборе
односторонней функции
. Важная особенность функции в криптосистеме Миччанчо —
детерминированность
. В следующем разделе строится общий класс функций вида
GGH.
Класс односторонних функций вида GGH
Для
схемы шифрования GGH
односторонняя функция принимает вид
, где
—
шифротекст
,
— целочисленный вектор и
— вектор ошибки длиной не более
,
. Последнее необходимо для того, чтобы ошибка не создавала сильных искажений при вычислении с приватным базисом и, наоборот, для вычислений с публичным. Предполагается, что сообщение
кодируется в
, а
выбирается случайно
.
Семейство односторонних функций GGH-вида
, параметризованное алгоритмами
и
, удовлетворяет:
-
принимает на вход приватный базис
, а выводит публичный базис
для той же решётки.
-
получает
и
, а возвращает коэффициенты точки решётки
-
Тогда
отображает множество векторов короче
следующим образом:
Если вектор ошибки имеет
длину
меньше
, тогда приватный базис
может быть использован для нахождения точки
, ближайшей к
, и, соответственно, восстановления
(
задача нахождения ближайшего вектора
)
.
Выбор публичного базиса
Пусть известен «хороший» приватный базис
, то есть с помощью него возможно решить проблему
задачу нахождения ближайшего вектора
в
, что то же самое — расшифровать
шифротекст
. Задача — сгенерировать из
такой публичный базис
, чтобы минимизировать в нём информацию об
. В обычной
схеме шифрования GGH
для нахождения
применяется набор случайных преобразований к
. Криптосистема Миччанчо использует в качестве публичного базиса
эрмитову нормальную форму, то есть
(HNF — Hermite Normal Form). Она уникальна для конкретно заданной решётки, как уже говорилось выше
. Это ведёт к тому, что если есть какой-то другой базис для данной решётки
, то
. Значит,
содержит об
не больше информации, чем о
, на чём и базируется безопасность данной
криптосистемы
.
Прибавление «случайной» точки решётки
Далее, требуется сымитировать прибавление случайной точки решётки
. В идеале, эта точка должна выбираться равномерно произвольно среди всех точек решётки. Однако это невозможно ни с практической, ни с теоретической точки зрения. Почти такой же результат получается при использовании
редуцированного вектора
. Вектор ошибки
уменьшается по модулю публичного
базиса
, чтобы получить шифротекст
, вместо прибавления
случайного вектора
. В итоге односторонняя функция задаётся как
, где
. Благодаря верхней треугольной формы матрицы
данная функция очень проста с вычислительной точки зрения. Применяя рассуждения для вычисления редуцированного вектора, может быть найдена формула
, начиная с
, что даёт уникальную точку в параллелепипеде
.
Резюме
Пусть
— приватный базис, причём
является относительно большим,
— публичный базис и
. Базис
порождает функцию
, которая переводит вектора длины меньше
в соответствующий
прямой параллелепипед
. Ключевые моменты:
-
Даже если изначально
близка к точке
, после операции
редукции
получается вектор, близкий к другим точкам решётки.
-
Чтобы восстановить
по
, необходимо решить задачу
задачу нахождения ближайшего вектора
, для которой доказана NP-сложность. Поэтому восстановить
, имея только
, почти невозможно, даже для квантовых компьютеров. Однако она эффективно решается, если известен базис
.
-
Ближайшая точка к
— центр параллелепипеда, в котором содержится
, а он находится легко, зная базис
.
Теоретический анализ
Безопасность
Новая функция данной
криптосистемы
настолько же безопасна, насколько функция в
схеме шифрования GGH
. Следующая теорема утверждает, что определённая выше функция, как минимум не хуже любой другой
GGH-вида
функции
.
Имеет место следующее утверждение: для любых функций
и для любого алгоритма, который для
находит об
какую-то частичную
информацию
с ненулевой вероятностью, существует эффективный алгоритм со входом
способный восстановить такую же
информацию
с такой же вероятностью успеха
.
Доказательство: пусть
— алгоритм способный взломать
. Даны публичный базис
=
и шифротекст
. Алгоритма взлома должен попытаться найти какую-нибудь информацию об
. Во-первых,
и
. Из теоретических результатов в предыдущем разделе следует, что
и
. Поэтому
и
имеют правильное распределение. Применяя к ним алгоритм
, получается утверждение теоремы
.
Асимптотические оценки памяти
Пусть для приватного ключа выполняется
, тогда размер, занимаемый ключом,
оценивается
. Используя
неравенство Адамара
, а также то, что для публичного базиса и шифротекста GGH системы выполняются оценки
и
, следует, что оценки на публичный базис и шифротекст нашей системы
и
.
Теоретически, ожидается ускорение работы алгоритма по сравнению с GGH по двум причинам (эмпирические результаты приведены ниже). Во-первых, время шифрования для
GGH
систем сильно зависит от размера публичного ключа. Теоретические оценки на занимаемую ключом память указывают на её уменьшение, а следовательно и на ускорение
шифрования
. При этом время работы GGH сравнимо со временем работы
схемы RSA
. Во-вторых, для
генерации ключа
исходный алгоритм применяет
алгоритм Ленстры — Ленстры — Ловаса
к матрицам большой размерности с большими значения элементов, в то время как система Миччанчо использует достаточно простой алгоритм нахождения эрмитовой нормальной формы. Для
дешифровки
используется алгоритм Бабая
, с некоторыми потерями по памяти и точности, но улучшением по времени его можно заменить на более простой алгоритм округления
, однако в данной части ускорения по времени исполнения не ожидается.
Эмпирическая оценка безопасности системы
На практике для безопасности данной системы требуется
. При предположении, что улучшение времени достигает максимальных
асимптотических оценок
, минимальное необходимое
должно быть больше
. Далее было показано, что публичный ключ должен быть не менее 1MB. Более того, время генерации ключа занимает порядка дня. Процедура шифрования, действительно довольно быстра. Однако
дешифровка
нестабильна из-за . Это можно преодолеть, но тогда она будет занимать 73 минуты для
, не включая
ортогонализацию
. Если выполнить этот шаг заранее, то к расходам на память прибавляется 4.8 MB для той же размерности. Из этих результатов следует, что криптосистема Миччанчо неприменима на практике
.
Примечания
-
↑
Christoph Ludwig.
(англ.)
// IACR Cryptology : Article. — 2004.
-
↑
T. Plantard, M. Rose, W. Susilo.
Improvement of Lattice-Based Cryptography Using CRT. — Quantum Communication and Quantum Networking: First International Conference. — 2009. — С. 275—282. —
ISBN 9783642117305
.
-
↑
M. Rose, T. Plantard, F. Susilo.
. — Information Security Practice and Experience: 7th International Conference. — 2011. — С. 152—167. —
ISBN 9783642210303
.
22 февраля 2019 года.
-
↑
Thomas Richard Rond.
(неопр.)
.
Master Thesis
(2016).
-
↑
Daniele Micciancio.
(англ.)
// International Cryptography and Lattices Conference. — 2001. — С. 126—145 . —
doi
: .
20 июля 2020 года.
-
Steven Galbraith.
(англ.)
// Cambridge University Press : Paper. — 2012.
12 февраля 2020 года.
-
↑
Oded Goldreich, Shafi Goldwasser and Shai Halevi.
(англ.)
// Advances in Cryptology - CRYPTO. — 1997.
16 июля 2019 года.
-
Oded Regev.
(англ.)
: Lattices in Computer Science. — 2004.
1 ноября 2020 года.
-
Noah Stephens-Davidowitz.
(англ.)
: NYU, Lattices mini-course. — 2016.
29 октября 2019 года.
Литература
-
Daniele Micciancio, Oded Regev
// Post Quantum Cryptography. — 2009.
-
Daniele Micciancio
// Lecture notes in Сomputer Science. — 2001.
-
Christoph Ludwig
// IACR Cryptology. — 2004.