Review of Lattice-based Public key Cryptography(Russian)
ВВ.С. Усатюк (аспирант)
ОБЗОР СИСТЕМ АССИМЕТРИЧНОГО ШИФРОВАНИЯ НА ОСНОВЕ ЗАДАЧ ТЕОРИИ РЕШЕТОК КРИПТОСТОЙКИХ К КВАНТОВЫМ ВЫЧИСЛИТЕЛЬНЫМ МАШИНАМ
Братск, Братский государственный университет Системы ассиметричного шифрования лежат в основе множества сис-тем шифрования (PGP, S/MIME), сетевых протоколов (SSL, SSH, TLS и их производных), а также протоколах электронной цифровой подписи и в ча-стности системах организации сетевой инфраструктуры (от сертификатов для удостоверения права на домен, реализующего привязку IP к доменному имени до транзакционных центров банков-экваеров). Широко используемые на сегодняшний день ассиметричные системы шифрования основаны на двух типах задач теории чисел: задачах факторизации целых чисел (основаны на алгоритме RSA: схе-ма Эль-Гамаля; криптосистема Рабина и прочие); задачах дискретного логарифмирования (семейства алгоритмов Диф-фи-Хелмана и их производные на других числовых полях: ECC - крип-тография на основе эллиптических кривых; ГОСТ 34.10-94; ГОСТ 34.10-2001). Обращение этих задач, считалось неосуществимым за разумное время по причине отсутствия полиномиальных алгоритмов по времени выполне-ния. Начиная со второй половины 90-х годов 20 В. начинается период «квантовой революции» в теории алгоритмов. В 1995 г. Питер Шор продемонстрировал полиномиальные алгоритмы обращения описанных выше задач на квантовых компьютерах [1], тем са-мым определив период существования перечисленных систем до возникно-вения квантовых вычислителей достаточной размерности. Эксперимент Чжуана в 2001 г. продемонстрировал выполнение алгоритма факторизации ора для числа 15 на 7-кубитном гибридном квантовом компьютере, по-строенного из -молекул, состоящих из пяти атомов фтора и двух атомов углерода, с записью информации посредством радиосигналов и считывани-ем методами ядерного магнитного резонанса. В 1996 г. Гровер продемонстрировал общий метод поиска в базе дан-ных со сложностью )( NO , позволяющий реализовывать расшифровку симметричных алгоритмов шифрования эквивалентную двукратному у-меньшению ключа шифра [2]. На практике работа алгоритма была провере-на на 2-х кубитном квантовом компьютере, состоящем из полумиллитра смеси изотопа карбона-13 помеченного хлороформом, находящегося в аце-тоне-D6[3]. В 1997 г. был представлен алгоритм Брассарда-Хойера-Таппа, осно-ванный на алгоритме Гровера реализующий поиск коллизии хеш-функции со сложностью )( rNO , где N-мощность пространства перебора, а r - число прообразов хеш-функции на один образ [4]. Таким образом, все типы используемых на практике ассиметричных систем шифрования, а так же ключевая стадия шифрования - хеширования переставили быть сложными для обращения. Появление этих результатов обусловило значительный рост интереса специалистов и финансирования данной тематике исследований, что позволило физикам и ряду утверждать возможность появления квантового компьютера необходимой размерности в ближайшие 15-20 лет. Возникла необходимость поиска криптостойких к квантовым компьютерам задач для постквантовой эпохи шифрования. В 1996 г. венгерский математик-исследователь IBM Миклос Айтаи в своей работе [5] показал, что [6]: возможно, построить одностороннюю функцию на основе SVP-задачи, по базису решетки, найти кратчайший ненулевой вектор (shortest vec-tor problem, SVP); более поздние исследователи улучшили результат до односторонней функции с секретом (trapdoor function) – вариантом од-осторонней функции, быстро обращаемой (по сравнению со скоро-стью получения образа функции) при наличии дополнительных сведе-ний; переформулированная в вероятностный вариант задачи о рюкзаке, SVP-задача не имеет вероятностного полиномиального алгоритма ре-шения, т.е. не разрешима за полиномиальное время на квантовых вы-числителях; среди всего класса NP-задач, SVP-задача является самой сложной, т.е. является NP-полной задачей. Результаты Айтая, а так же неудачные попытки реализации кванто-вых алгоритмов решения задач теории решеток, по аналогии с предложен-ным Шнором в 1987 г. эффективным мультиблочным редукционным до-полнением [7] к полиномиальному алгоритму L или LLL [8], Ленстры, Ленстры и Ловаса позволяющим приближенно решать SVP и сводимых к ним задачи с произвольно заданной точностью сделали эти задачи наиболее вероятными претендентами на реализацию криптостойких к квантовым машинам систем шифрования. Перед тем, как перейдем к дальнейшему из-ложению введем ряд ключевых понятий. Решетка – дискретная аддитивная подгруппа, заданная на множестве n R , т. е. решетку L можно представить как множество векторов заданных целочисленными линейно независимыми базисными векторами nn RbbB },...,{ , определенными по модулю некоторого целого числа n Zx , }:{ nni i ZxBxZbL (рис. 1). У решетки может быть множество базисов, ZaL ni i , (рис. 2). На рисунках 3, 4 показаны фундаментальные паралле-лепипеды образованные базисами. Площади (объемы в многомерном слу-чае) фундаментальных параллелепипедов образованных всевозможными базисами одной решетки L , )det( L будут равны. Т.е. L det инвариант решет-ки. Под кратчайшим вектором решетки будем понимать вектор с координа-ами xyxL xLxyxLyx minmin)( (рис. 5). Тогда многомерным обобщением этого понятия будет )( L i - ограниченное минимальным r, для которого раз-мерность решетки внутри шара радиуса r больше либо равна k (рис. 6). Рис. 1. Решетка с базисом Bbb },{ Рис. 2. Решетка с базисом
Baa },{ Рис. 3, 4. Фундаментальные параллелепипеды, образованные базисами Рис. 5. Кратчайший вектор Рис. 6. Кратчайший базис решетки L в R Таким образом, познакомившись с основными определениями теории решеток, перечислим задачи, применяемых при построении и оценке слож-ности в рассматриваемых нами системах шифрования: .
По базису решетки, найти кратчайший ненулевой вектор (shortest vector problem, SVP), (рис. 7); 2.
По базису решетки mxn ZL и вещественному , найти ненулевой вектор )(:}0{\ LbLZb ppn (shortest vector problem, p SVP ), (рис. 8); Рис. 7. Пример SVP-задачи в R Рис. 8. Пример SVP -задачи в R По базису решетки, заданному вектору j , найти ближайший вектор b к вектору j (Closes Vector Problem, CVP), (рис. 9); 4. По базису решетки mxn ZL , вещественному и заданному векто-ру n LRj , найти ненулевой вектор )(: LbjLZb ppn (Closes Vector Problem, p CVP ); Рис. 9. Пример CVP -задачи в R Рис. 10. Пример SIVP -задачи в R Пусть дана n-мерная решетка L. Найти линейно независимые векто-ра
Lbb n ,..., , для которых )(max Lb nppiin , где )( L np , это длины n-оответствующих кратчайших векторов в решетке с p-нормой (Shortest Independent Vector Problem, ),( nSIVP p ) , (рис. 10); 6. Пусть дана n-мерная решетка L. Найти вектор )(:}0{\ LuLu pp , где )( L p , это длина кратчайшего вектора в решетке с p-нормой и u - кратчайший - уникальный вектор, т.е. )()(: LwLLw ppp uzw для некоторых z (Unique Shortest Vector Problem, ),(uSVP p n ), (рис. 11); 7. Пусть дан базис B, q-нарной(модулярной) m-мерной решетки mxnq L , т.е. решетка L, для которой принадлежность вектора к решетки L определяется: },mod{)( nmT ZsZqsBBL . На решетке равномер-но распределен шум e (обычно c моментом ожидания равным 0 и дисперсией q ), q задан некоторым многочленом, nq Zs - не-который исходный вектор без шума, известно значение )( esB . Найти исходную точку в решетке (исключить шум) по некото-рому множеству известных )( ii esB . Задача обучения с ошибка-ми(Learning with Errors, LWE) является обобщением задачи обуче-ния контроля целостности (четности) данных с шумами, (Рис. 12). Рис. 11. Пример uSVP-задачи Рис. 12. Пример LWE-задачи Все криптографические системы теории решеток можно условно раз-делить на два типа: имеющие строго доказанную криптостойкость, но неэффективные-по времени выполнения алгоритма шифрования/дешифрования и/или характеризующиеся быстрым ростом публичного и приват-ного ключей от ключевых параметров шифрования, например раз-мерности решетки; К таким системам шифрования относятся крип-тографии на основе: SVP, uSVP, SIVP – задач; эффективные по времени шифрования/дешифрования и затратам на хранения открытого и приватного ключей, не обладающих строго доказанной криптостойкостью. К таким системам принято относить системы, основанные на некоторых частных в параметрическом смысле случаях задач теории решеток или же основанных на ре-шетках с цикличностью образующего их базиса. К таковым, отно-сят NTRU (Draft standard IEEE 1363.1) шифрование [9]. NTRU система шифрования основанная на задаче NTRU-свертки мо-дулярных решеток (NTRU Convolution modular lattice, NTRU CML), которая является частным случаем CVP-задачи. Основой шифрования является опе-рация свертки на кольце модулярных многочленов (с целыми коэффициен-тами). Под сверткой многочленов в данном случае понимают, их умноже-нием, с заданным правилом свертки i x , где consti . Например, x : xxxxxxx . Под модулярным многочленом kxxZ n mod)1/(][ , понимают много-член, ...)( bxbxbxP nnk коэффициенты которого являются остатком от деления, коэффициентов исходного многочлена ...)( bxbxbxP nn на k и принадлежащие некоторому промежутку: cbc i . Обратным мно-гочленом )( xP k по модулю k , является многочлена )( xP k : )(mod1)( kPxP kk . Тогда процесс шифрования будет заключаться в выборе простого n - показателя степени для правила свертки, малого и большого взаимно про-стых модулей qp , . Выборе многочленом Rxgxf )(),( c «малыми коэффи-иентами». Вычисление обратных многочленов: qxfxF q mod)()( и pxfxF p mod)()( .Публичным ключом является многочлен qFxgxh q mod)()( . Приватным ключом многочлен )( xf . Шифрование: Выберем «малый» многочлен )( xr .Зашифрованный текст представляет собой модулярный многочлен pxm mod)( . Зашифрован-ное сообщение )(mod qmhrpe . Расшифровка: Вычислить ))(mod()()( qxfxexa , коэффициенты мно-гочлена qAaA i . Тогда исходное сообщение paFxm p mod)( . При переходе к эквивалентному представлению многочлена в вектор-ной форме, задаче свертки модулярного многочлена взаимно-однозначно соответствует задача свертки модулярной решетки[10]. На сегодняшний день именно эта система получила наибольшее применение среди всех сис-тем шифрования на основе теории решеток. Причиной этого является высо-кая производительность алгоритма, в сочетании с малым размером публич-ного и приватного ключей (таб. 1). Основным недостатком NTRU шифро-вания является отсутствие теоретического обоснования криптостойкости, представленная в таб. 1 оценка является экспериментальной, основанной на самом быстром варианте алгоритма редукции решеток – блочном алгоритме Коркина-Золотарева(block Korkin-Zolotarev, BKZ-LLL). Одной из наиболее исследованных систем шифрования на основе за-дач теории решеток является версия шифрования Айтая-Дворка(Ajtai-Dwork) лишенная ошибок расшифровки сообщения, предложенная Голд-штейном, Голдвассером и Халеви (GGH) [11] - GGH AD , основанная на uSVP-задаче. Приватный ключ, представляет собой простое число ]2,[ KKh , где K - некоторое большое число. Публичный ключ – набор из )(log KOm чисел Kaa m , которые достаточно близки к числам, кратным h K ( )0,K cchna in , плюс номер одного из этих чисел i a , которое близко к ечетному числу кратному h K . Тогда шифрование, будет заключаться в за-мене нулевого бита сообщения суммой случайного подмножества }{ i a , еди-ничного бита сообщения суммой случайного подмножества }{ i a + i a . Рас-шифровка будет получена в результате деления числа соответствующего биту на число h K . Если получится мало (меньше некоторой константы) – получим нулевой бит. Много – 1 бит. Основным недостатком системы шифрования GGH AD , является быстрый рост размеров публичного и приват-ных ключей в зависимости от размерности базиса решетки (Таб. 1), что за-трудняет практическое применение этой системы. Ассиметричное шифрование Реджева ( Regev ) основано на LWE-задаче со строгим доказательством криптостойкости и сочетает в себе отно-сительно высокую скорость шифрования/дешифрования, а также сравни-тельно компактные публичный и приватные ключи (Таб. 1). Приватным ключом является исходный вектор s , публичным esBp . Для шифрова-ния бита b , выбирается некоторый вектор e , шифротекст это пара: eBu и nqT Zqbepc . Дешифровка бита заключается в вычисле-нии b usc T , исходный бит b , если b находится ближе к 0, нежели чем к q , иначе b . В июне 2009 года исследователь IBM Крейг Джентри [12] продемон-стрировал реализацию гомоморфного шифрования на идеальных решетках для операций сложения и умножения ( mrf Gentry ). Гомоморфное шифрование подразумевает гомоморфизм относительно некоторой операции между ис-ходными данными и зашифрованной информацией. Такой тип шифрования позволяет реализовывать обработку зашифрованных данных (поиск по по-лям) без необходимости их полной расшифровки, что обеспечивает конфи-денциальность информации хранимой на удаленных серверах, в том числе при обмене данными по незащищенному каналу Internet. Гипотеза о воз-ожности гомоморфного шифрования была предложена Рональдом Риве-стом четверть века назад, но после тщетных попыток реализации, он пред-положил принципиальную невозможность построения таковых систем.
Идеальная решетка – это решетка со свойствами идеала на некотором кольце чисел, т.е. результат сложения и умножения векторов в такой ре-шетке, так же принадлежит ей самой. Это позволяет использовать свойства кольца, вместо свойств аддитивной подгруппы. В работе [12] предлагается на основе полиномиального кольца )(/)( xfxZR и унитарных (приведен-ных) многочленов xxf )( , степени nf )deg( с идеалом )( xaJ : })(:)(mod)()({ Rxbxfxbxa использовать в качестве базисов решетки коэф-фициенты при степенях, полученные в результате деления многочленов. Тогда аддитивная операция примет следующий вид: jvm , где k m }1,0{ - k битное сообщение, v -случайный кратчайший вектор решетки, Jj - случайный вектор из публичного ключа. Мультипликативная операция примет вид: ( Jjjvvvmvmmmjvmjvm ,)2(2)2)(2( . Параметрами шифрования будут: кольцо R; базис I B «небольшой» идеальной решетки I ; радиусы шифрования – окружность (сфера) радиуса enc r в фундаментальном параллелепипеде, образованном базисом открытого ключа; радиус расшифровки – окружность (сфера) радиуса dec r в фундамен-тальном параллелепипеде образованном базисом закрытого ключа. Откры-тым ключом будет базис pk B с векторами, многократно превышающими кратчайшие, закрытым ключом будет sk B с векторами равными или близки-ми к базису «большой» идеальной решетки J : RJI . Сложение определенно: skpk BmmBccc )(,mod . Умножение: skpk
BmmBccc ,mod , где sk B - фундаментальный па-раллелепипед, построенный на базисных векторах скрытого ключа. Операция шифрования: . mod),()( pkenc BmcrBImm . перация расшифровки: Isk
BBcm mod)mod( . Условие: sk Bmm )( и sk Bmm )( - условия корректности расшиф-ровки. Алгоритм шифрования основан на SIVP-задаче. Но для достижения достаточной криптостойкости требует повышение степени многочленов, что приводит к экспоненциальному росту операций умножения(сложность каждой для алгоритмов Каратцубы и Шенхаге-Штрассена, n и nnn logloglog соответственно) и как результат соответствующему росту публичного и приватного ключей. Сам Джентри оценил необходимый рост производительности ЭВМ в триллион раз (через 40 лет при условии работы закона Мура), для того чтобы применение этой системы шифрования стало возможным на практике. Таблица 1
Сравнение систем ассиметричного шифрования [13]
Сложность параметра Система шифрования Криптостойкость Размер публичного ключа Размер приватного ключа Шифрования, дешифрования
GGH AD uSVPnO )( )log( NNO )( NO )( log c nO , с<3 Regev )(~ nO -SVP )log( NNO )log(
NNO )(~ nO mrf Gentry k -SIVP )(~ kO )(~ kO )(~ kO NTRU n сек., NN , qn NknN p log2 4log)( , )( nO , где n - размерность решетки, N-объем базиса решетки в битах, k - уровень защищенности в битах относительно симметричного алгоритма шифрования, p -малый модуль, q - большой модуль. Таким образом, необходимость устранения существующего противо-речия между «криптостойкими теоретическими» и «эффективными эмпи-рическими» системами ассиметричного шифрования на основе задач теории решеток, открывает перспективное направление фундаментальных и при-кладных математических исследований в области постквантовой крипто-графии. писок литературы.
1. Shor P.W. Polynomial-time algorithms for prime factorization and dis-crete logarithms on a quantum computer. SIAM J. Com., 26:5, 1997, p. 1484-1509. 2. Grover L. K. A fast quantum mechanical algorithm for database search, Proceedings of the 28th ACM STOC, 1996, p. 212–219. 3. Chuang I. L, N. Gershenfeld, Kubinec M. Experimental Implementation of Fast Quantum Searching, Physical Review Letters, 1998, 80:15, p. 3408–3411. 4. Brassard G., Hoyer P., Tapp A., Quantum cryptanalysis of hash and claw-free functions, ACM SIGACT, 28:2, 1997, p. 14–19. 5. Ajtai M. Generating Hard Instances of Lattice Problem. Proc. of 28 th ACM Symp. on Theory of Comp. Philadelphia: ACM Press, 1996, p. 99-108. 6. Шокуров А.В., Кузюрин Н.Н., Фомин С.А. Курс лекций «Решетки, алгоритмы и современная криптография» [Электронный ресурс] - 2008. -127 стр. - Режим доступа: http://discopal.ispras.ru/ru.lectures-lattice-based-cryptography.htm. 7. Schnorr C. P. A hierarchy of polynomial time lattice basis reduction al-gorithms. Theoretical Computer Science, 1987, 53(2-3), p.201-224. 8. Lenstra A.K., Lenstra H. W., Lovasz L. Factoring polynomials with ra-tional coefficients. Math. Ann., 1982, 261(4), p. 515-534. 9. Hoffstein J., Pipher J., Silverman J. H. NTRU: A ring-based public key cryptosystem. In
ANTS-III