Уравнения скрытого поля - Hidden Field Equations

Уравнения скрытых полей (HFE) , также известные как функция-лазейка HFE , представляют собой криптосистему с открытым ключом, которая была представлена ​​на Eurocrypt в 1996 году и предложена (на французском языке) Жаком Патарином, следуя идее системы Мацумото и Имаи. Он основан на полиномах над конечными полями разного размера, чтобы замаскировать взаимосвязь между закрытым ключом и открытым ключом . Фактически, HFE - это семейство, состоящее из базовых HFE и комбинаторных версий HFE. Семейство криптосистем HFE основано на сложности проблемы поиска решений системы многомерных квадратных уравнений (так называемая проблема MQ), поскольку оно использует частные аффинные преобразования, чтобы скрыть поле расширения и частные многочлены . Уравнения скрытого поля также использовались для построения схем цифровой подписи, например Quartz и Sflash.

Математический фон

Одним из центральных понятий , чтобы понять , как скрытое поле Уравнения работы видеть , что для двух полей расширения по сравнению с аналогичным базовым полем можно интерпретировать систему многомерных полиномов в переменных над как функции , используя подходящий базис из более чем . Почти во всех приложениях многочлены квадратичны, т. Е. Имеют степень 2. Мы начнем с простейшего вида многочленов, а именно с одночленов, и покажем, как они приводят к квадратным системам уравнений.

Рассмотрим конечное поле , где - степень двойки, и поле расширения . Пусть такое, что для некоторых и gcd . Условие gcd эквивалентно требованию, чтобы отображение on было взаимно однозначным, а его обратным было отображение, где - мультипликативное обратное .

Возьмите случайный элемент . Определить по

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

для . Кроме того, запишите все произведения базовых элементов в терминах основы, то есть:

для каждого . Система уравнений, которая является явной по и квадратичной по, может быть получена расширением (1) и приравниванием к нулю коэффициентов при .

Выберите два секретных аффинных преобразования и , то есть две обратимые матрицы и с записями в и двумя векторами и длины over и define и via:

Используя аффинные соотношения в (2) , чтобы заменить с , система уравнений является линейной в и степени 2 в . Применяя линейную алгебру, он даст явные уравнения, по одному для каждого в виде многочленов степени 2 от .

Многовариантная криптосистема

Основная идея семейства HFE, использующего это в качестве многомерной криптосистемы, состоит в том, чтобы построить секретный ключ, начиная с полинома от одного неизвестного над некоторым конечным полем (обычно используется значение ). Этот многочлен легко инвертируется , т.е. возможно найти любые решения уравнения, когда такое решение существует. Секретное преобразование, дешифрование и / или подпись основано на этой инверсии. Как объяснялось выше, можно отождествить с системой уравнений, использующей фиксированный базис. Для построения криптосистемы полином должен быть преобразована так , что общественная информация скрывает первоначальную структуру и предотвращает инверсию. Это делается путем просмотра конечных полей как векторного пространства над и выбирая два линейных аффинных преобразований и . Тройка составляет закрытый ключ. Частный полином определяется над . Открытый ключ - это . Ниже представлена ​​схема MQ-люка в HFE.

Полином HFE

Частный многочлен со степенью выше является элементом . Если члены полинома содержат не более квадратичных членов, тогда публичный полином останется малым. Случай, состоящий из одночленов вида , т.е. с двумя степенями в экспоненте, является базовой версией HFE , т.е. выбран как

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

Шифрование и дешифрование

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

Чтобы понять расшифровку, давайте выразим шифрование в терминах . Обратите внимание , что это не доступно отправителю. Оценивая в сообщении, мы сначала применяем , в результате чего . На этом этапе выполняется перенос из, чтобы мы могли применить закрытый многочлен, который закончился, и этот результат обозначен как . Еще раз, переносится в вектор и преобразование применяется и окончательный вывод производится из .

Для расшифровки вышеуказанные шаги выполняются в обратном порядке. Это возможно, если известен закрытый ключ . Решающий шаг в расшифровке не инверсия и а вычисления решения . Поскольку биекция не является обязательной, можно найти более одного решения этой инверсии (существует не более d различных решений, поскольку является многочленом степени d). Избыточность, обозначенная как , добавляется на первом шаге к сообщению , чтобы выбрать нужное из множества решений . На диаграмме ниже показан базовый HFE для шифрования.

Варианты HFE

Уравнения скрытого поля имеют четыре основных варианта, а именно +, -, v и f, и их можно комбинировать по-разному. Основной принцип заключается в следующем:

01. Знак + представляет собой смешивание линейности общедоступных уравнений с некоторыми случайными уравнениями.
02. - знак из - за Ади Шамир и намерена удалить избыточность «г» из общественных уравнений.
03. Знак f состоит из фиксации некоторых входных переменных открытого ключа.
04. Знак v определяется как конструкция и иногда довольно сложная, так что обратная функция может быть найдена, только если некоторые v переменных, называемых переменными уксуса, фиксированы. Эта идея принадлежит Жаку Патарену.

Приведенные выше операции в некоторой степени сохраняют лазейную разрешимость функции.

HFE- и HFEv очень полезны в схемах подписи, поскольку они предотвращают замедление генерации подписи, а также повышают общую безопасность HFE, тогда как для шифрования и HFE-, и HFEv приведут к довольно медленному процессу дешифрования, поэтому не может быть слишком много уравнений. удалено (HFE-) и не следует добавлять слишком много переменных (HFEv). И HFE- и HFEv были использованы для получения кварца.

Для шифрования ситуация лучше с HFE +, поскольку процесс дешифрования занимает такое же количество времени, однако открытый ключ имеет больше уравнений, чем переменных.

HFE атаки

Есть две известные атаки на HFE:

Восстановление закрытого ключа ( Шамир- Кипнис): ключевым моментом этой атаки является восстановление закрытого ключа в виде разреженных одномерных многочленов по полю расширения . Атака работает только для базового HFE и терпит неудачу для всех его вариаций.

Быстрые базисы Гребнера (Фогер): Идея атак Фогера заключается в использовании быстрого алгоритма для вычисления базиса Гребнера системы полиномиальных уравнений. Фогер преодолел задачу 1 HFE за 96 часов в 2002 году, а в 2003 году Фогер и Жу вместе работали над безопасностью HFE.

Рекомендации

  • Николя Т. Куртуа, Магнус Даум и Патрик Фельке, О безопасности HFE, HFEv- и Quartz
  • Андрей Сидоренко, Уравнения скрытого поля, EIDMA Seminar 2004 Technische Universiteit Eindhoven
  • Иво Г. Десмет, Криптография с открытым ключом-PKC 2003, ISBN  3-540-00324-X