УДК 003.26.09
doi:10.15217/issn1684-8853.2016.3.79
ШИФРОВАНИЕ ПРИ ПОМОЩИ СПАРИВАНИЯ
А. Ю. Абрамов^,1, аспирант
Е. С. Востокова6'1, аспирант
аСанкт-Петербургский государственный университет аэрокосмического приборостроения,
Санкт-Петербург, РФ
бСанкт-Петербургский государственный университет, Санкт-Петербург, РФ
Постановка проблемы: исследование математических задач, лежащих в основе современных криптосистем с открытым ключом, привело к значительному увеличению длин ключей и, как следствие, повышению вычислительной сложности операций шифрования и расшифрования. Цель: создание криптосистем, основанных на новых математических задачах, вычислительная эффективность процедур шифрования и расшифрования, а также криптографическая стойкость которых были бы выше, чем у существующих систем. Результаты: доказана возможность создания криптосистем на основе билинейного спаривания и приведены примеры таких систем, построенных на задачах факторизации боль-ших чисел и дискретного логарифмирования. Сущность данного подхода состоит в увеличении скорости шифрования и расшифрования сообщений с использованием спаривания в локальных полях и в надежности полученных систем. Криптоанализ систем показал, что обе системы устойчивы к прямым атакам, а именно к поиску простых сомножителей для разложения (факторизации) при использовании достаточно больших ключей, длиной не менее 2048. Практическая значимость: разработанные криптографические системы могут быть использованы в приложениях, для защиты программного обеспечения и в системах электронной подписи.
Ключевые слова — криптография с открытым ключом, билинейное спаривание, числа Вифериха.
Введение
После появления работы Диффи и Хеллмана, в которой были сформулированы основные принципы криптографии с открытым ключом, начался поиск так называемых «функций с закрытыми дверями», при помощи которых можно было бы строить асимметричные криптосистемы. Пусть С — некоторое функциональное преобразование, ставящее в соответствие сообщению т из множества допустимых сообщений шифротекст и = С(т), тогда если не существует обратной функции к С (т. е., имея и, невозможно восстановить т), то такая функция С называется односторонней. Однако понятно, что использовать такую функцию для шифрования невозможно, так как даже легальный пользователь не сможет восстановить исходное сообщение по шифротексту. Допустим, что С-1 существует, но для его нахождения требуется знать дополнительный параметр к. Функция, обладающая таким свойством, называется функцией с закрытыми дверями, и с ее использованием становится возможным строить криптосистемы с открытым ключом. Легальный пользователь, используя секретный ключ к, может вычислить т=С-1(и, к) и таким образом восстановить исходное сообщение, а нелегальный
1 Научный руководитель — профессор, доктор
технических наук, проректор по науке, директор Ин-
ститута информационных систем и защиты информа-
ции, заведующий кафедрой безопасности информаци-
онных систем Санкт-Петербургского государственно-
го университета аэрокосмического приборостроения Е. А. Крук.
должен найти неизвестный ему ключ k. Таким образом, появилась задача поиска функции с закрытыми дверями, которая бы обеспечивала наиболее вычислительно «простое» шифрование и расшифрование информации и наибольшую криптографическую стойкость при заданном размере ключа.
На данный момент сформулировано два основных подхода к построению таких функций: один основан на задачах из области теории чисел (криптосистемы RSA [1], El-Gamal [2], Koblitz [3], Miller [4]), а другой — на задаче декодирования кода, исправляющего ошибки (McEliece [5], Krouk [6]).
Появление каждой системы асимметричной криптографии приводило к развитию техник решения той «сложной» задачи, которая лежала в ее основе. В результате появились новые алгоритмы факторизации чисел и поиска дискретного логарифма: р- и %-методы Полларда, общий метод решения числового поля, новые алгоритмы декодирования линейных кодов [7-9]. Однако ни про задачу дискретного логарифмирования, ни про задачу факторизации не доказано, что они принадлежат классу NP-полных задач, т. е. тех задач, которые принято считать вычислительно трудными. Кроме того, существуют алгоритмы решения этих задач для квантовых компьютеров, имеющие полиномиальную сложность.
Совокупность вышеозначенных соображений приводит к необходимости продолжать поиск новых трудноразрешимых задач в области теории чисел, на основе которых можно строить системы шифрования.
Общие принципы спаривания
В данной статье рассматривается математический аппарат билинейного спаривания и описывается подход, позволяющий использовать его для построения систем асимметричного шифрования. В последнее десятилетие этот подход применяли для построения протоколов аутенти-фикациии обмена ключами, цифровой подписи с использованием пользовательской информации [10-14] и др. Для построения криптосистемы на спаривании в общем случае требуется построить две группы и шифрующее отображение из пары элементов одной группы в элемент другой. Тогда элементами одной группы являются сообщения, другой — шифротексты, а закрытым ключом является обратное преобразование. Опишем предложенный подход более формально. Пусть заданы две группы в1 и в2, имеющие простой порядок и имеется отображение
е: х G1 ^ 02.
Будем обозначать элементы в1как Р, Q и считать, что аР = Р+-Р + ... + Р. Тогда отображениям,
а
которые могут быть эффективно использованы для построения криптосистем, присущи следующие свойства:
1) билинейность: УР, О е С^, У а,
Ь е Ъ* е(аР, ЬО) = е(Р, Q)ab■,
2) невырожденность: Р Ф 0 ^ е(Р, Р) Ф1;
3) вычислимость — должен существовать эффективный алгоритм вычисления е.
Известны примеры отображений, которые удовлетворяют вышеперечисленным свойствам, — спаривания Вейля и Тейта, и на их основе построены криптосистемы, перечисленные выше. Очевидно, что для взлома такой системы злоумышленнику придется решать задачу нахождения дискретного логарифма, когда Q = аР и требуется найти а при известных Р и Q. При определенном выборе групп в1, в2 для решения этой задачи может не оказаться известных алгоритмов, которые были бы быстрее полного перебора. Понятно, что решить задачу дискретного логарифма в не сложнее, чем в в2. Пусть
тогда
e(P, Q) = e(P, aP) = e(P, P)a
P' = e(P, P), Q' = e(P, Q)
и а может быть найдено в группе в2 как А сама задача Диффи — Хеллмана в группе решается вычислительно просто. Она заключается в различении двух наборов
<Р, аР, ЬР, С = сР> и <Р, аР, ЬР, С = аЬР>
при неизвестных a, b. Действительно, если вычислить
v-, = <aP, bP>, v2 = <P, C>
и окажется, что и1 = и2, то заданный набор принадлежит типу <Р, аР, ЬР, аЬР>:
е(аР, ЬР) = е(Р, Р)аЬ = е(Р, аЬР) = е(Р, С).
Таким образом, если известно отображение е, то решение данной задачи требует меньшей сложности.
Настоящая статья описывает новый подход, состоящий в использовании спаривания для построения криптосистем асимметричного шифрования. Это становится возможным благодаря применению аппарата чисел Вифериха.
Билинейное спаривание и числа Вифериха
Опишем необходимую для построения криптосистем теоретическую информацию об аппарате спариваний и числах Вифериха. Пусть р — простое нечетное число, N — полугруппа натуральных чисел по сложению, а Z(p) — полугруппа целых взаимно простых с р чисел по умножению. Рассмотрим функцию, обратную к функции Артина — Хассе:
l(a) =— log a
p-1
:Z( p).
Тогда из свойств логарифма следует, что
l(ab) = — log(ab)p-1 = — log ap-1 — — log bp-1 = P p p
= l(a) — l(b), a, b e Z(p). (1)
Определение. Пусть p — простое число. Число a, взаимно простое с p, будем называть числом Вифериха, если выполнено условие
aP-1 = 1 mod p2. (2)
В противном случае число a будем называть антивифериховым, т. е. выполняется
ap-1 ф 1 mod p2. (3)
Лемма 1. Если a = b mod p2, то l(a) = l(b) mod p. Доказательство: Пусть a = b + p2k, тогда
l(a) = l (b
— p2k) = — log ((b + p2k
Г )=
= — log p
L,(b—p2k )p)
-1
>
—p—)-= b-1 = l(b) mod p.
КОДИРОВАНИЕ И ПЕРЕДАЧА ИНФОРМАЦИИ
Определение. Будем называть спариванием отображение следующего вида:
<, >p: Z( p)
N+ ^ Z / pZ, < a, n > p = l(a)n mod p.
Лемма 2. Спаривание < , >p билинейно и невырождено по первому аргументу для антивифери-ховых чисел.
Доказательство:
1. Линейность по первому аргументу следует из равенства (1). Линейность по второму аргументу очевидна.
2. Невырожденность. Проверим сначала, что если a не является числом Вифериха, то
l(a) Ф 0 mod p.
Действительно:
l(a) = -—log ap~1 = -—log
.P"1
.P"1
-1
^aP"1
1 + -
Л
-1
Л
-1
+ ...
a
p
p-1 -1
— 0 modp,
(4)
(5)
поэтому разрешимо сравнение
l(a)n = 1 mod p, откуда следует, что
< a, n >p = 1.
Лемма 3. Если a — b modp2, то < a, n >p =< b, n >p .
Доказательство: Из леммы 1 следует, что l(a) — l(b) mod p. Тогда равенство (5) получается непосредственно из определения.
Лемма 4. Пусть p, qv q2, ..., qr — различные простые числа. Тогда найдется целое число с, которое будет антивифериховым для числа p и ви-фериховым для q1, q2, . , qr.
Доказательство: Построим сначала антиви-ферихово число a для простого p. Если a является таковым, то процесс построения окончен, иначе возьмем a' = a + p. Тогда ap-1 — 1 mod p2 и
(a'f-1 - 1 = (a + pp1 - 1 —
— (ap-1 - 1) + (p - 1)ap-2p — -ap-2p Ф 0 mod p2,
и значит a' будет антивифериховым для p.
Построим теперь, исходя из числа a', число с, которое будет вифериховым для q1, q2, ..., qr и останется антивифериховым для p.
Шаг 1. Если a' является вифериховым для q1, то с = a', и переходим к следующему шагу. В противном случае рассмотрим
с = a' + p2q,x
и будем искать x такое, чтобы
cp-1 — 1 mod q1
Для этого получим относительно x сравнение первой степени по модулю q1:
cl1 -1 -1 — (a')11 -1 -1 + (q - 1)(a')q1 -2 p2q1x —
— {a'f1 -1 -1 - (a')q1 - 2 p2q1x mod q2. Отсюда получаем сравнение для x:
(aTl- (a')S1 -1 - V
p x — -
41
iod 41,
решая которое получаем искомое число с1.
Заметим, что c1 — a' mod p2, поэтому оно останется антивифериховым для p.
Шаг 2. Если с1 будет вифериховым для q2, то переходим к следующему шагу и далее. В противном случае рассмотрим
c2=c1+p2q12q2x.
Здесь c2 — c1 mod p2 и c2 — c1 mod q2, следовательно, c2 будет антивифериховым для p и вифериховым для q1. Чтобы с2 стало вифериховым для q2, решаем сравнение
c22-1 - 1 — (-1 - 1) + (42 - 1)cf2-2p\h2X —
l2.
— (-1 -1) + cf "2p2i2i2X mod -2 Отсюда получаем сравнение для x:
c 2 -1
bx —
-1
mod 2 ,
42
, 42-2 2 2
где Ь = с22 р — взаимно простое с q2 число.
Решая последнее сравнение, получим с2. Продолжая процесс, получим искомое число с, удовлетворяющее условию леммы.
Из формулы (1) и определения спаривания можно получить
Поскольу
< a, n > = l(a)n —
ap-1 -1
-1
n mod p.
— 0 mod p, то это сравнение
имеет единственное решение, равное n. Докажем теперь еще одно свойство, которое используется в построении криптосистемы и является ключевым в расшифровании информации.
Лемма 5. Если a — b mod p2, то l(a) — l(b) mod p.
Доказательство: По условию, b = a + p2c, следовательно:
l(b) — bp-1 -1 — (a + p2c)p-1 -1 — ap-1 -1 — p p p
— l(a)mod p.
2
На основании представленных доказательств построены две новые криптографические системы с открытым ключом, использующие билинейное спаривание и числа Вифериха.
Примеры криптосистем на спаривании
Криптосистема 1. В этом случае в качестве групп и в2 рассматриваем, соответственно, группы Z(p) х N и Z/pZ.
1. Генерация ключей. Пусть р, q < р — простые числа и т = pq. Возьмем число а еZ, удовлетворяющее условию
p1
-1
Ф 0 mod p. P
Найдем натуральное число n, решая сравнение
,P-1
-1
n = 1 mod p. p
Закрытый ключ: (p, q, n).
Открытый ключ: (a, m).
2. Шифрование. Пусть число M — информационное сообщение, и M <\[m. Тогда шифротекст r может быть получен следующим образом:
r = aMmod m2.
3. Расшифрование. Чтобы восстановить сообщение M, требуется вычислить
,p-1
M = -
-1
n mod p.
4. Корректность. Из того, как осуществляется шифрование, и того, что p|m, следует, что r = aM mod p2. Тогда по лемме 3 и равенству (5) получаем
<r, n>p = <aM, n>p = M<a, n>p = M.
При расшифровании мы решаем задачу во второй группе с уже известными нам из закрытого ключа числами n и p, в то время как злоумышленнику они неизвестны. Найти число n без знания p не представляется возможным, а поиск числа p является трудноразрешимой задачей факторизации. Однако, зная p, получить n можно довольно просто путем решения соответствующего сравнения.
Криптосистема 2. Здесь в роли групп G1 и G2 выступают те же самые группы, что и в предыдущем примере, а именно Z(p) х N+ и Z/pZ.
1. Генерация ключей. Зафиксируем некоторое число m и выберем произвольное s: 2 < s < m. Выберем N = pq1.qs-1, a — число Вифериха для всех qi и антивиферихово для p, т. е.
ap-1 ф 1mod p2, aqi -1 = 1mod q?.
ap-1 -1
Обозначим b = и найдем n как реше-
ние сравнения p
b(1 + pb + p2b2 + ... + ps-1bs-1)n ф 1 modp2.
Открытый ключ: (m, N, a).
Закрытый ключ: (n, p, q1, ..., qs-1).
2. Шифрование. Пусть число M — информационное сообщение, и M < N. Тогда шифротекст r может быть получен следующим образом:
r ф aM mod Nm.
3. Расшифрование. Пусть c =
rp-1 -1
-, тогда
c(1 + pc + ... + ps-1cs-1) ф M mod ps.
Помимо задачи факторизации числа N возникает вопрос о количестве простых чисел в его разложении, т. е. необходимо после каждой итерации алгоритма факторизации проверять каждое число в полученном разложении на простоту. Также появляется дополнительная трудность в выборе из полученного набора простых чисел того числа, для которого a является антивифери-ховым.
Заключение
В данной работе предложен подход, позволяющий строить асимметричные системы шифрования при помощи операции спаривания на билинейных группах. Вычислительно сложной задачей в таких системах является задача дискретного логарифмирования — это несложно увидеть, опираясь на то, как осуществляется шифрование и дешифрование в системах, описанных выше. Пусть задан шифротекст r, полученный в результате шифрования информации M в системах 1 и 2:
r = aM mod m2 либо r = aM mod Nm.
Тогда атакой первого рода на эти системы будет являться поиск M как решение задачи дискретного логарифма:
M = logar .
Как следствие есть основания полагать, что при выборе тех групп, между которыми определена операция спаривания таким образом, что в группе G2 не будет существовать эффективных алгоритмов для нахождения дискретного логарифма, окажется, что такие криптосистемы в смысле размера ключей будут эффективнее, чем RSA или ElGamal. Поиск таких групп представляет значительный интерес для исследования.
Литература
1. Rivest R., Shamir A., Adleman L. A Method for Obtaining Digital Signatures and Public-Key Cryptosystems // Communications of the ACM. 1978. N 21(2). P. 120-126.
2. ElGamal T. A Public-Key Cryptosystem and a Signature Scheme Based on Discrete Logarithms // IEEE Transactions on Information Theory. 1985. N 31(4). P. 469-472.
3. Koblitz N. Elliptic Curve Cryptosystems//Mathemat-ics of Computation. 1987. Vol. 48. N 177. P. 203-209.
4. Miller V. Use of Elliptic Curves in Cryptography // Advances in Cryptology — CRYPTO'85. 1985. N 85. P. 417-426.
5. McEliece R. J. A Public-Key Cryptosystem Based on Algebraic Coding Theory // DSN Progress Report. 1978. N 114. P. 42-44.
6. Krouk E. A New Public Key Cryptosystem//Proc. of Sixth Joint Swedish-Russian International Workshop on Information Theory, Moelle, Sweden. 1993. P. 285-286.
7. Barg A., Krouk E. A. and van Tilborg H. C. A. On the
Complexity of Minimum Distance Decoding of Long Linear Codes // IEEE Transactions on Information Theory. 1999. N 45. P. 1392-1405.
8. Finiasz M., Sendrier N. Security Bounds for the Design of Code-based Cryptosystems // Cryptology ePrint Archive. IACR. 2009. P. 414.
9. Becker A., Joux A., May A., Meurer A. Decoding Random Binary Linear Codes in 2n/20: How 1 + 1 = 0 Improves Information Set Decoding // Advances in Cryptology — Eurocrypt 2012. Lecture Notes in Computer Science. Springer-Verlag, 2012.
10. Yuan Q., Li S. A New Efficient ID-based Authenticated Key Agreement Protocol // Cryptology ePrint Archive. Report. 2005. P. 309.
11. Shim K. Effient ID-based Authenticated Key Agreement Protocol Based on the Weil Pairing // Electronics Letters. 2003. N 39(8). P. 653-654.
12. Chen L., Kudla C. Identity Based Authenticated Key Agreement Protocols from Pairings // Cryptology ePrint Archive. 2002. P. 184.
13. Boneh D. and Franklin M. Identity-based Encryption from the Weil Pairing // Lecture Notes in Computer Science. 2001. N 2139. P. 213-229.
14. Hess F. Efficient Identity Based Signature Schemes Based on Pairings // Proc. of 9th Annual Intern. Workshop of SAC 2002, Newfoundland, Canada, Aug. 15-16. 2003. N 2595. P. 310-324.
UDC 003.26.09
doi:10.15217/issn1684-8853.2016.3.79 Encryption by Paring
Abramov A. Y.a, Post-Graduate Student, hexxyg@gmail.com
E. S. Vostokovab, Post-Graduate Student, lizk.vostokova@gmail.com
aSaint-Petersburg State University of Aerospace Instrumentation, 67, B. Morskaia St., 190000, Saint-Petersburg, Russian Federation
bSaint-Petersburg State University, 7/9, Universitetskaya Nab., 199034, Saint-Petersburg, Russian Federation
Introduction: Studying the mathematical problems which underlie modern public-key cryptosystems has led to a significant increase in the lengths of the keys and, consequently, to an increase in the computational complexity of encryption and decryption. Purpose: The goal is to create cryptosystems based on new mathematical challenges which would have more computationally efficient encryption and decryption, and cryptographic resistance higher than that of the existing systems. Results: We proved that it is possible to create cryptosystems based on bilinear pairing, and gave examples of such systems based on large integer factorization and on discrete logarithms. The essence of this approach is to increase the speed of encryption and decryption of messages using pairing in local fields, with a high reliability of the obtained systems. Cryptanalysis of the proposed systems showed that the complexity of compromising either of them is equivalent to the complexity of compromising RSA cryptosystem as these systems are based on the same computationally hard problem. Practical relevance: The developed cryptographic systems can be used in applications for protecting software or in electronic signature systems.
Keywords — Public-Key Cryptography, Bilinear Pairing, Wieferich Prime.
References
1. Rivest R., Shamir A., Adleman L. A Method for Obtaining Digital Signatures and Public-Key Cryptosystems. Communications of the ACM, 1978, no. 21(2), pp. 120-126.
2. ElGamal T. A Public-Key Cryptosystem and a Signature Scheme Based on Discrete Logarithms. IEEE Transactions on Information Theory, 1985, no. 31(4), pp. 469-472.
3. Koblitz N. Elliptic Curve Cryptosystems. Mathematics of Computation, 1987, vol. 48, no. 177, pp. 203-209.
4. Miller V. Use of Elliptic Curves in Cryptography. Advances in Cryptology. CRYPTO, 1985, no. 85, pp. 417-426.
5. McEliece R. J. A Public-Key Cryptosystem Based On Algebraic Coding Theory. DSN Progress Report, 1978, no. 114, pp. 42-44.
6. Krouk E. A New Public Key Cryptosystem. Proc. of Sixth Joint Swedish-Russian Inter. Workshop on Information Theory, Moelle, Sweden, 1993, pp. 285-286.
7. Barg A., Krouk E. A. and van Tilborg H. C. A. On the Complexity of Minimum Distance Decoding of Long Linear Codes. IEEE Transactions on Information Theory, 1999, no. 45, pp. 1392-1405.
8. Finiasz M., Sendrier N. Security Bounds for the Design of Code-based Cryptosystems. Cryptology ePrint Archive. IACR, 2009, p. 414.
9. Becker A., Joux A., May A., Meurer A. Decoding Random Binary Linear Codes in 2n/20: How 1+1=0 Improves Information Set Decoding. Advances in Cryptology — Eurocrypt 2012. Lecture Notes in Computer Science, Springer-Verlag, 2012.
10. Yuan Q., Li S. A New Efficient ID-based Authenticated Key Agreement Protocol. Cryptology ePrint Archive. Report, 2005, p. 309.
11. Shim K. Effient ID-based Authenticated Key Agreement Protocol Based on the Weil Pairing. Electronics Letters, 2003, no. 39(8), pp. 653-654.
12. Chen L., Kudla C. Identity Based Authenticated Key Agreement Protocols from Pairings. Cryptology ePrint Archive, 2002, p. 184.
13. Boneh D. and Franklin M. Identity-based Encryption from the Weil Pairing. Lecture Notes in Computer Science, 2001, no. 2139, pp. 213-229.
14. Hess F. Efficient Identity Based Signature Schemes Based on Pairings. Proc. of 9th Annual Intern. Workshop of SAC 2002, 2003, no. 2595, pp. 310-324.
ПАМЯТКА ДЛЯ АВТОРОВ
Поступающие в редакцию статьи проходят обязательное рецензирование.
При наличии положительной рецензии статья рассматривается редакционной коллегией. Принятая в печать статья направляется автору для согласования редакторских правок. После согласования автор представляет в редакцию окончательный вариант текста статьи.
Процедуры согласования текста статьи могут осуществляться как непосредственно в редакции, так и по е-таП (ius.spb@gmail.com).
При отклонении статьи редакция представляет автору мотивированное заключение и рецензию, при необходимости доработать статью — рецензию. Рукописи не возвращаются.
Редакция журнала напоминает, что ответственность за достоверность и точность рекламных материалов несут рекламодатели.