Эта статья предлагается к удалению. |
Криптосистема Джентри (от фамилии создателя Крейга Джентри) — первая возможная конструкция для полностью гомоморфной криптосистемы, основанная на криптографии на решетках. Впервые была предложена Крейгом Джентри в 2009 году[1] и являлась темой его докторской диссертации. Схема Джентри поддерживает операции сложения и умножения над шифротекстом, что позволяет построить кольца для реализации любых произвольных вычислений. Впоследствии имела множество доработок и модификаций с целью улучшения её производительности.
Для схемы используются[2] идеальные решётки[en] J в цепочках многочленов по модулю . Эрмитова нормальная форма идельной решётки имеет вид[2]:
, где и r — корень для по модулю d.
Генерация ключей[2]
является инверсией для , то есть , где — единичная матрица.
Открытым ключом будет являться матрица , заданная числами r и d. Закрытым ключом будут являться два многочлена .
Шифрование[2]
Пусть требуется зашифровать бит
На входе имеется бит b и открытый ключ V. Выбирается шумовой вектор , компоненты которого принимают значения 0,1,-1. Затем вычисляется вектор , а шифротекст вычисляется по формуле[2]
Здесь для базиса V пространства L и данного вектора c выражение используется для обозначения вектора такого, что [2]
Расшифровывание[2]
На входе имеется вектор С и матрицы V и W. Исходный бит b получается в результате операции:
Гомоморфность[2]
Шифрование является гомоморфным относительно операций сложения и умножения. Для того, чтобы выполнить сложение или умножение шифротекстов, необходимо выполнить эти операции в базисе V
Стойкость[3]
Защищенность своей схемы Джентри обосновал двумя проблемами: проблемой сложности худшего случая криптографии на идеальных решетках и задачей о сумме подмножеств. Обе задачи являются -сложными, поэтому стойкость системы сводится к -сложной задаче.
Недостатки
Существенным недостатком данной схемы является то, что выполнение вычислений приводит к накоплению ошибки[4] и, после того как она превышает , расшифровать сообщение становится невозможным. Одним из вариантов решения данной проблемы является повторное шифрование данных после некоторого количества операций, однако такой вариант снижает производительность вычислений и требует постоянного доступа к секретному ключу[3].
Рассматривается схема, гомоморфная относительно только операции сложения[4].
Генерация ключей
Шифрование
На входе имеется текст, который нужно зашифровать, и открытый ключ. Шифротекст будет являться суммой произвольного количества элементов открытого ключа и открытого текста.
Расшифровывание
На входе имеется шифротекст и числа и . Вычисляется последовательно остаток от деления шифротекста на и на . Результатом будет являться исходное сообщение.
Гомоморфность
Для того, чтобы получить сумму текстов и , достаточно сложить шифротексты и провести операцию расшифровывания. Действительно:
Плюсом данной схемы является простота реализации и малая потребность в ресурсах. К минусам можно отнести конечное множество публичных ключей и лишь частичную гомоморфность.
Первая попытка реализовать схему Джентри была сделана в 2010 году на Смартом и Верткаутереном[5]. Для реализации они выбрали схему с использованием идеальных решеток для простого определителя. Такие структуры представляются с помощью двух целых чисел (вне зависимости от их размера). Смарт и Верткаутерен предложили метод расшифровывания, в котором секретный ключ является одним целым числом. Таким образом, ученым удалось реализовать гомоморфную однородную схему, но они не смогли реализовать технику Джентри в случае достаточно больших параметров, а следовательно, им не удалось получить загружаемую и полностью гомоморфную схему.
Основным препятствием в данной реализации являлась сложность генерации ключей для однородных схем: прежде всего, схемы должны генерировать очень большое количество «кандидатов» для поиска ключа, для которого определитель будет простым — может понадобиться вплоть до кандидатов при работе со структурами размерности . Кроме того, даже после нахождения оптимального варианта, сложность вычислений секретного ключа, соответствующего этой структуре равна, по крайней мере, для решёток размерности . По этим причинам ученым не удалось сгенерировать ключи размерностей . Кроме того, Смарт и Веркаутерен оценили, что многочлен расшифровки будет иметь степень в несколько сотен, а это требует для процедуры с их параметрами использования решётки размерностью не менее , что значительно превышает вычислительные возможности процедуры генерации ключей[2].
В 2011 году Крейг Джентри вместе с Шайем Халеви представил[2] практическую реализацию для полностью гомоморфной схемы шифрования по аналогии с используемой в более ранних работах схемой Смарта и Верткаутерена. Основная оптимизация состоит в методе генерации ключей для основного относительно гомоморфного шифрования, не требующем полной инверсии многочленов. Это снижает асимптотическую сложность от до при работе с размерными решетками (и на практике сокращает время расчетов от многих часов до нескольких минут).
![]() |
Это заготовка статьи по криптографии. Вы можете помочь проекту, дополнив её. |
Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".
Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.
Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .