Цифровые подписи являются средством защиты цифровой информации от преднамеренного изменения и для аутентификации источника цифровой информации. Криптография с открытым ключом предоставляет богатый набор различных криптографических алгоритмов для создания цифровых подписей. Однако основные подписи с открытым ключом, которые в настоящее время используются ( RSA и подписи на эллиптических кривых), станут совершенно небезопасными, если ученые когда-либо смогут построить квантовый компьютер среднего размера . [1] Постквантовая криптография — это класс криптографических алгоритмов, разработанных для устойчивости к атакам с помощью квантовой криптографии. Несколько алгоритмов постквантовой цифровой подписи, основанных на сложных проблемах в решетках, создаются для замены обычно используемых подписей RSA и эллиптических кривых. Подмножество этих схем на основе решеток основано на проблеме, известной как кольцевое обучение с ошибками . Цифровые подписи на основе кольцевого обучения с ошибками относятся к постквантовым подписям с наименьшими размерами открытого ключа и подписи.
Развитие квантовых вычислений за последнее десятилетие и оптимистичные перспективы появления настоящих квантовых компьютеров в течение 20 лет начали угрожать базовой криптографии, которая защищает Интернет. [2] [3] Относительно небольшой квантовый компьютер, способный обрабатывать всего десять тысяч бит информации, легко взломал бы все широко используемые алгоритмы криптографии с открытым ключом , используемые для защиты конфиденциальности и цифровой подписи информации в Интернете. [1] [4]
Один из наиболее широко используемых алгоритмов открытого ключа, используемых для создания цифровых подписей , известен как RSA . Его безопасность основана на классической трудности факторизации произведения двух больших и неизвестных простых чисел в составляющие простые числа. Задача факторизации целых чисел считается неразрешимой на любом обычном компьютере, если простые числа выбираются случайным образом и достаточно велики. Однако для факторизации произведения двух n-битных простых чисел квантовый компьютер с примерно 6n битами логической кубитной памяти и способный выполнять программу, известную как алгоритм Шора, легко справится с этой задачей. [5] Алгоритм Шора также может быстро взломать цифровые подписи, основанные на том, что известно как задача дискретного логарифмирования и более эзотерическая задача дискретного логарифмирования эллиптической кривой . По сути, относительно небольшой квантовый компьютер, работающий по алгоритму Шора, может быстро взломать все цифровые подписи, используемые для обеспечения конфиденциальности и целостности информации в Интернете сегодня.
Хотя мы не знаем, когда появится квантовый компьютер, способный взломать RSA и другие алгоритмы цифровой подписи, в течение последнего десятилетия велись активные исследования по созданию криптографических алгоритмов, которые остаются безопасными, даже если злоумышленник имеет в своем распоряжении ресурсы квантового компьютера. [1] [6] Эта новая область криптографии называется постквантовой или квантово-безопасной криптографией. [1] [6] Эта статья посвящена одному классу таких алгоритмов: цифровым подписям, основанным на проблеме кольцевого обучения с ошибками. Использование общей проблемы обучения с ошибками в криптографии было введено Одедом Регевым в 2005 году и стало источником нескольких криптографических разработок. [7]
Создатели криптографической основы Ring-based Learning with Errors (RLWE) считают, что важной особенностью этих алгоритмов, основанных на Ring-Learning with Errors, является их доказуемое сведение к известным сложным проблемам. [8] [9] Описанная ниже сигнатура имеет доказуемое сведение к задаче поиска кратчайшего вектора в идеальной решетке . [10] Это означает, что если атака может быть найдена на криптосистему Ring-LWE, то целый класс предполагаемых сложных вычислительных проблем будет иметь решение. [11]
Первая подпись на основе RLWE была разработана Любашевским в его статье «Fiat-Shamir with Aborts: Applications to Lattice and Factoring-Based Signatures» [12] и усовершенствована в «Lattice Signatures Without Trapdoors» в 2011 году. [13] За этим последовало несколько усовершенствований и вариантов. В этой статье освещается фундаментальная математическая структура подписей RLWE, и она следует оригинальной работе Любашевского и работе Гунейсу, Любашевского и Попплемана (GLP). [10] Эта презентация основана на обновлении схемы GLP 2017 года под названием GLYPH. [14]
RLWE-SIG работает в факторкольце многочленов по модулю многочлена степени n Φ(x) с коэффициентами в конечном поле Z q для нечетного простого числа q (т.е. кольцо Z q [x]/Φ(x) ). [13] Умножение и сложение многочленов будут работать обычным образом с результатами умножения, приведенными по модулю Φ(x). Для этого представления типичный многочлен выражается как:
Поле Z q имеет свои представительные элементы в наборе { -(q-1)/2, ...-1, 0, 1, ... (q-1)/2 }. Когда n является степенью 2, многочлен Φ(x) будет циклотомическим многочленом x n + 1. Возможны и другие варианты n, но соответствующие циклотомические многочлены более сложны или их безопасность не так хорошо изучена.
Сигнатура RLWE использует полиномы, которые считаются «малыми» по отношению к мере, называемой « нормой бесконечности ». Норма бесконечности для полинома — это просто наибольшее абсолютное значение коэффициентов полинома, когда эти коэффициенты рассматриваются как целые числа в Z, а не Z q . [10] Алгоритм подписи создаст случайные полиномы, которые малы по отношению к определенной границе нормы бесконечности. Это легко сделать, случайным образом сгенерировав все коэффициенты полинома (a 0 , ..., a n-1 ) способом, который гарантированно или с большой вероятностью будет меньше или равен этой границе. В литературе по кольцевому обучению с ошибками есть два распространенных способа сделать это: [13]
В сигнатуре RLWE GLYPH, использованной в качестве примера ниже, коэффициенты для «малых» полиномов будут использовать метод равномерной выборки , а значение b будет намного меньше значения q. [10]
Большинство алгоритмов подписи RLWE также требуют возможности криптографически хэшировать произвольные строки битов в небольшие полиномы в соответствии с некоторым распределением. В примере ниже используется хэш-функция POLYHASH(ω), которая принимает строку битов ω в качестве входных данных и выводит полином с n коэффициентами, такими, что ровно k из этих коэффициентов имеют абсолютное значение больше нуля и меньше целочисленной границы b (см. выше).
Ключевой особенностью алгоритмов подписи RLWE является использование техники, известной как выборка отклонения . [13] [12] В этой технике, если бесконечная норма полинома подписи превышает фиксированную границу β, этот полином будет отброшен, и процесс подписания начнется снова. Этот процесс будет повторяться до тех пор, пока бесконечная норма полинома подписи не станет меньше или равна границе. Выборка отклонения гарантирует, что выходная подпись не будет коррелировать с секретными значениями ключа подписчика.
В следующем примере граница β будет равна (b - k), где b — диапазон равномерной выборки, описанной выше, а k — число ненулевых коэффициентов, разрешенных в «принятом» полиноме [10].
Согласно GLYPH и как отмечено выше, максимальная степень многочленов будет n-1 и, следовательно, иметь n коэффициентов. [10] Типичные значения для n составляют 512 и 1024. [10] Коэффициенты этих многочленов будут из поля F q , где q — нечетное простое число, сравнимое с 1 mod 4. Для n=1024 GLYPH устанавливает q = 59393, b=16383 и k — количество ненулевых коэффициентов в выходных данных Polyhash, равное 16. [14] Количество ненулевых коэффициентов k, создаваемых хеш-функцией, равно 32 для обоих случаев. [10] Безопасность схемы подписи тесно связана с относительными размерами n, q, b и k. Подробности установки этих параметров можно найти в ссылках 5 и 6 ниже. [13] [10] [14]
Как отмечено выше, полином Φ(x), который определяет кольцо используемых полиномов, будет x n + 1. Наконец, a(x) будет случайно выбранным и фиксированным полиномом с коэффициентами из набора { -(q-1)/2 до (q-1)/2 }. Полином a(x) должен быть выбран способом " Nothing Up My Sleeve ", например, односторонним хешированием выходных данных генератора случайных чисел с истинным шумом (TRNG) или с использованием цифрового расширения известных математических констант, таких как pi или e. Все подписывающие и проверяющие подписи будут знать n, q, b, k, Φ(x), a(x) и β = bk.
Субъект, желающий подписывать сообщения, генерирует свой открытый ключ, выполняя следующие шаги:
Полиномы s(x) и e(x) служат в качестве закрытого ключа, а t(x) — соответствующий открытый ключ. Безопасность этой схемы подписи основана на следующей проблеме. Для заданного полинома t(x) найдите малые полиномы f 1 (x) и f 2 (x) такие, что: a(x)·f 1 (x) + f 2 (x) = t(x)
Если эту проблему трудно решить, то схему подписи будет трудно подделать. [См. статью Википедии « Кольцевое обучение с ошибками» или «Идеальная решетчатая криптография» для получения более подробной информации о теоретической сложности этой проблемы]
Следуя GLYPH [14] , чтобы подписать сообщение m, выраженное в виде битовой строки, подписывающий субъект делает следующее:
Следуя GLYPH [14] , для проверки сообщения m, выраженного в виде битовой строки, проверяющий субъект должен обладать открытым ключом подписавшего (t(x)), подписью (c(x), z 1 (x), z 2 (x)) и сообщением m. Проверяющий выполняет следующие действия:
Обратите внимание, что:
а(х)·z 1 (х) + z 2 (х) - t(х)с(х) = а(х)·[s(х)·c(х) + y 1 (х)] + z 2 (х) - [а(х)·s(х) + е(х)]с(х)
= а(х)·y1 ( х) + z2 ( х) - е(х)·с(х)
= а(х) у1 (х) + е(х)·с(х) + y2 ( х) - е(х)·с(х)
= a(x)y 1 (x) + y 2 (x) = w(x) (как определено выше)
Этот краткий вывод показывает, что процесс проверки будет иметь c'(x) = c(x), если подпись не была подделана.
Схема подписи GLYPH, описанная в этом документе, тесно связана с работой Любашевского, Гунесю и Попплмена 2011 и 2012 годов. Существует ряд других вариаций их работы. К ним относятся:
Другой подход к подписям на основе решеток над кольцами — это вариант запатентованного семейства NTRU криптографии на основе решеток. Основным примером этого подхода является подпись, известная как схема подписи бимодальной решетки (BLISS). Она была разработана Дюкасом, Дурмасом, Лепойнтом и Любашевским и описана в их статье «Решеточные подписи и бимодальные гауссовы». [17] См. схему подписи BLISS
{{cite web}}
: CS1 maint: бот: исходный статус URL неизвестен ( ссылка )