Криптосистема ДжентриКриптосистема Джентри (от фамилии создателя Крейга Джентри) — первая возможная конструкция для полностью гомоморфной криптосистемы, основанная на криптографии на решетках. Впервые была предложена Крейгом Джентри в 2009 году[1] и являлась темой его докторской диссертации. Схема Джентри поддерживает операции сложения и умножения над шифротекстом, что позволяет построить кольца для реализации любых произвольных вычислений. Впоследствии имела множество доработок и модификаций с целью улучшения её производительности. Описание алгоритмаДля схемы используются[2] идеальные решётки 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] практическую реализацию для полностью гомоморфной схемы шифрования по аналогии с используемой в более ранних работах схемой Смарта и Верткаутерена. Основная оптимизация состоит в методе генерации ключей для основного относительно гомоморфного шифрования, не требующем полной инверсии многочленов. Это снижает асимптотическую сложность от до при работе с размерными решетками (и на практике сокращает время расчетов от многих часов до нескольких минут). Примечания
|
Portal di Ensiklopedia Dunia