Криптосистема Боне — Го — Ниссима: различия между версиями

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
[непроверенная версия][непроверенная версия]
Содержимое удалено Содержимое добавлено
{{Криптосистемы с открытым ключом}}
источники, пунктуация, орфография, стилевые правки, оформление
Строка 1: Строка 1:
'''Криптосистема Боне-Го-Ниссима''' — частично [[Гомоморфное шифрование|гомоморфная]] [[криптосистема]], являющаяся модификацией [[Криптосистема Пэйе|криптосистемы Пэйе,]] разработанная [[Бонех, Дэн|Дэном Бонех]] совместно с Ю Чжин Го и Коби Ниссимом в 2005 году. Основанная на конечных группах составного порядка, которые поддерживают билинейное отображение, система позволяет оценить квадратичные многовариантные полиномы на шифротекстах.
'''Криптосистема Боне-Го-Ниссима''' — частично [[Гомоморфное шифрование|гомоморфная]] [[криптосистема]], являющаяся модификацией [[Криптосистема Пэйе|криптосистемы Пэйе]]<ref>{{Статья|автор=Pascal Paillier|ответственный=Jacques Stern|год=1999|doi=10.1007/3-540-48910-x_16|isbn=9783540489108|язык=en|страницы=223–238|заглавие=Public-Key Cryptosystems Based on Composite Degree Residuosity Classes|ссылка=https://link.springer.com/chapter/10.1007/3-540-48910-X_16|издательство=Springer Berlin Heidelberg|издание=Advances in Cryptology — EUROCRYPT ’99}}</ref> и [[криптосистемы Окамото-Учиямы]]<ref>{{Статья|автор=Tatsuaki Okamoto, Shigenori Uchiyama|ответственный=Kaisa Nyberg|год=1998|doi=10.1007/bfb0054135|isbn=9783540697954|язык=en|страницы=308–318|заглавие=A new public-key cryptosystem as secure as factoring|ссылка=https://link.springer.com/chapter/10.1007/BFb0054135|издательство=Springer Berlin Heidelberg|издание=Advances in Cryptology — EUROCRYPT'98}}</ref>[[Криптосистема Пэйе|,]] разработанная [[Бонех, Дэн|Дэном Бонех]]<ref>{{Статья|автор=Mihir Bellare, Juan A. Garay, Tal Rabin|ответственный=Kaisa Nyberg|год=1998|doi=10.1007/bfb0054130|isbn=9783540697954|язык=en|страницы=236–250|заглавие=Fast batch verification for modular exponentiation and digital signatures|ссылка=https://link.springer.com/chapter/10.1007/BFb0054130|издательство=Springer Berlin Heidelberg|издание=Advances in Cryptology — EUROCRYPT'98}}</ref> совместно с [[Ю Чжин Го]] и [[Коби Ниссимом]]<ref name=":0">{{Статья|автор=Dan Boneh, Matt Franklin|ответственный=Joe Kilian|год=2001|doi=10.1007/3-540-44647-8_13|isbn=9783540446477|язык=en|страницы=213–229|заглавие=Identity-Based Encryption from the Weil Pairing|ссылка=https://link.springer.com/chapter/10.1007/3-540-44647-8_13|издательство=Springer Berlin Heidelberg|издание=Advances in Cryptology — CRYPTO 2001}}</ref> в 2005 году. Основанная на конечных группах составного порядка, которые поддерживают билинейное отображение, система позволяет оценить квадратичные многовариантные [[Полином|полиномы]] на [[Шифротекст|шифротекстах]] (например, 2-[[Дизъюнктивная нормальная форма|ДНФ]]).


Благодаря использованию конструкции [[Криптосистема Пэйе|криптосистемы Пэйе]] и билинейного отбражения, получена система с аддиитивным гомоморфизмом, которая поддерживает произвольные добавления и одно умножение (за которым следуют произвольные добавления) для зашифрованных данных.<ref>{{Книга|год=2005|isbn=9783540305767, 3540305769, 3540245731, 9783540245735|страниц=1 online resource (xii, 619 pages)|место=Berlin|издательство=Springer|заглавие=Theory of cryptography : Second Theory of Cryptography Conference, TCC 2005, Cambridge, MA, USA, February 10-12, 2005 : proceedings|ссылка=https://www.worldcat.org/oclc/262680723}}</ref>
Благодаря использованию конструкции [[Криптосистема Пэйе|криптосистемы Пэйе]] и билинейного отбражения, получена система с аддиитивным [[Гомоморфизм|гомоморфизмом]], которая поддерживает произвольные добавления и одно умножение (за которым следуют произвольные добавления) для зашифрованных данных.<ref name=":1">{{Книга|год=2005|isbn=9783540305767, 3540305769, 3540245731, 9783540245735|страниц=1 online resource (xii, 619 pages)|место=Berlin|издательство=Springer|заглавие=Theory of cryptography : Second Theory of Cryptography Conference, TCC 2005, Cambridge, MA, USA, February 10-12, 2005 : proceedings|ссылка=https://www.worldcat.org/oclc/262680723}}</ref>


== Генерация ключей ==
== Генерация ключей ==
'''''Генерация_Ключа('''''<math>\tau</math>''''')'':''' Учитывая параметр безопасности <math>\tau\in\mathbb{Z}^+</math>, вычисляем <math>\Im(\tau)</math>, чтобы получить кортеж <math>(\boldsymbol{q}_1,\boldsymbol{q}_2,\mathbb{G},\mathbb{G}_1,\boldsymbol{f})</math>. Пусть <math>\boldsymbol{n}=\boldsymbol{q}_1\boldsymbol{q}_2</math>. Выберем два случайных генератора <math>\boldsymbol{g},\boldsymbol{u}\xleftarrow{R}\mathbb{G}</math> и определим <math>\boldsymbol{h}</math>, как <math>\boldsymbol{h}=\boldsymbol{u}^\boldsymbol{q_2}</math>. Тогда <math>\boldsymbol{h}</math> это случайный генератор подгруппы <math>\mathbb{G}</math> порядка <math>\boldsymbol{q_1}</math>. Открытый ключ : <math>\mathcal{O}\mathcal{K}=(\boldsymbol{n},\mathbb{G},\mathbb{G_1},\boldsymbol{f},\boldsymbol{g},\boldsymbol{h})</math>. Закрытый ключ : <math>\mathcal{S}\mathcal{K}=\boldsymbol{q_1}</math>''.''
'''''Генерация_Ключа('''''<math>\tau</math>''''')'':''' Учитывая параметр безопасности <math>\tau\in\mathbb{Z}^+</math>, вычисляем <math>\Im(\tau)</math>, чтобы получить кортеж <math>(\boldsymbol{q}_1,\boldsymbol{q}_2,\mathbb{G},\mathbb{G}_1,\boldsymbol{f})</math>. Пусть <math>\boldsymbol{n}=\boldsymbol{q}_1\boldsymbol{q}_2</math>. Выберем два случайных генератора <math>\boldsymbol{g},\boldsymbol{u}\xleftarrow{R}\mathbb{G}</math> и определим <math>\boldsymbol{h}</math>, как <math>\boldsymbol{h}=\boldsymbol{u}^\boldsymbol{q_2}</math>. Тогда <math>\boldsymbol{h}</math> это случайный генератор подгруппы <math>\mathbb{G}</math> порядка <math>\boldsymbol{q_1}</math>. Открытый ключ : <math>\mathcal{O}\mathcal{K}=(\boldsymbol{n},\mathbb{G},\mathbb{G_1},\boldsymbol{f},\boldsymbol{g},\boldsymbol{h})</math>. Закрытый ключ : <math>\mathcal{S}\mathcal{K}=\boldsymbol{q_1}</math>''.''<ref name=":1" />


== Работа в режиме шифрования ==
== Работа в режиме шифрования ==
Строка 25: Строка 25:


== Пример ==
== Пример ==
Частично гомоморфная система позволяет оценить 2-ДНФ ([[Дизъюнктивная нормальная форма]] второго порядка).
Частично гомоморфная система позволяет оценить 2-[[Дизъюнктивная нормальная форма|ДНФ]] ([[Дизъюнктивная нормальная форма]] второго порядка).


На входе: У Алисы есть 2-ДНФ формула <math>\phi(x_1,...,x_n)=\lor_{i=1}^k(l_{i,1}\land l_{i,2})</math>, а у Боба есть набор переменных <math>\boldsymbol{a=a_1,...,a_n\in\{0,1\}^n}</math> . Обе стороны на входе содержат параметр безопасности <math>\tau</math>.
На входе: У Алисы есть 2-ДНФ формула <math>\phi(x_1,...,x_n)=\lor_{i=1}^k(l_{i,1}\land l_{i,2})</math>, а у Боба есть набор переменных <math>\boldsymbol{a=a_1,...,a_n\in\{0,1\}^n}</math> . Обе стороны на входе содержат параметр безопасности <math>\tau</math>.
Строка 35: Строка 35:
## Она выполняет арифметизацию <math>\Phi(\phi)</math> заменяя «<math>\lor</math>» на «<math>+</math>», «<math>\land</math>» на «<math>*</math>» и «<math>\bar{x_j}</math>» на «<math>(1-x_j)</math>».Отметим, что <math>\Phi</math> это полином степени 2.
## Она выполняет арифметизацию <math>\Phi(\phi)</math> заменяя «<math>\lor</math>» на «<math>+</math>», «<math>\land</math>» на «<math>*</math>» и «<math>\bar{x_j}</math>» на «<math>(1-x_j)</math>».Отметим, что <math>\Phi</math> это полином степени 2.
## Алиса вычисляет шифрование <math>\boldsymbol{r}*\Phi(\boldsymbol{a})</math> для случайно выбранного <math>\boldsymbol{r}</math> используя гомоморфные свойства системы шифрования. Результат отправляется Бобу.
## Алиса вычисляет шифрование <math>\boldsymbol{r}*\Phi(\boldsymbol{a})</math> для случайно выбранного <math>\boldsymbol{r}</math> используя гомоморфные свойства системы шифрования. Результат отправляется Бобу.
# Если Боб получает шифрование 0, он выводит 0; в противном случае, он выводит 1.
# Если Боб получает шифрование 0, он выводит 0; в противном случае, он выводит 1.<ref name=":1" />


== Вспомогательные данные о группах ==
== Вспомогательные данные о группах ==
Строка 54: Строка 54:
# Найдем наименьшее натуральное число <math>\ell\in\mathbb{Z}</math> , такое что <math>\boldsymbol{p}=\ell\boldsymbol{n}-1</math> — простое число и <math>p=2\bmod 3</math>.
# Найдем наименьшее натуральное число <math>\ell\in\mathbb{Z}</math> , такое что <math>\boldsymbol{p}=\ell\boldsymbol{n}-1</math> — простое число и <math>p=2\bmod 3</math>.
# Рассмотрим группу точек на эллиптической кривой <math>y^2=x^3+1</math> опреленную над <math>\mathbb{F}_\boldsymbol{p}</math>. Поскольку <math>p=2\bmod 3</math> кривая имеет <math>\boldsymbol{p}+1=\ell\boldsymbol{n}</math> точек в <math>\mathbb{F}_\boldsymbol{p}</math>. Поэтому группа точек на кривой имеет подруппу порядка <math>\boldsymbol{n}</math>, которую обозначим через <math>\mathbb{G}</math>.
# Рассмотрим группу точек на эллиптической кривой <math>y^2=x^3+1</math> опреленную над <math>\mathbb{F}_\boldsymbol{p}</math>. Поскольку <math>p=2\bmod 3</math> кривая имеет <math>\boldsymbol{p}+1=\ell\boldsymbol{n}</math> точек в <math>\mathbb{F}_\boldsymbol{p}</math>. Поэтому группа точек на кривой имеет подруппу порядка <math>\boldsymbol{n}</math>, которую обозначим через <math>\mathbb{G}</math>.
# Пусть <math>\mathbb{G}_1</math> подгруппа в <math>\mathbb{F}^*_{\boldsymbol{p}^2}</math>порядка <math>\boldsymbol{n}</math>. Модифицированный алгоритм [[Weil pairing|спаривания Вейля]] (Спаривание Вейля является билинейным, кососимметричным, невырож­денным отображением<ref>{{Книга|автор=О.Н. Василенко|заглавие=Тр. по дискр. матем.|место=М.|издательство=ФИЗМАТЛИТ|год=2007|страницы=18—46|том=10|часть=О вычислении спариваний Вейля и Тейта|ссылка часть=http://www.mathnet.ru/links/93af4ee340dac4ae684edb179771df23/tdm159.pdf}}</ref>) на кривой [22, 19, 3, 23] выдает билинейное отображение <math>\boldsymbol{f}:\mathbb{G}\times\mathbb{\mathbb{G}}\rightarrow\mathbb{G}_1</math>, удовлетворяющее заданным условиям.
# Пусть <math>\mathbb{G}_1</math> подгруппа в <math>\mathbb{F}^*_{\boldsymbol{p}^2}</math>порядка <math>\boldsymbol{n}</math>. Модифицированный алгоритм [[Weil pairing|спаривания Вейля]] (Спаривание Вейля является билинейным, кососимметричным, невырож­денным отображением<ref>{{Книга|автор=О.Н. Василенко|заглавие=Тр. по дискр. матем.|место=М.|издательство=ФИЗМАТЛИТ|год=2007|страницы=18—46|том=10|часть=О вычислении спариваний Вейля и Тейта|ссылка часть=http://www.mathnet.ru/links/93af4ee340dac4ae684edb179771df23/tdm159.pdf}}</ref><ref name=":0" /><ref>{{Статья|автор=Antoine Joux|год=2006-12-30|doi=10.1007/10722028_23|страницы=385–393|заглавие=A One Round Protocol for Tripartite Diffie–Hellman|ссылка=https://www.researchgate.net/publication/226904597_A_One_Round_Protocol_for_Tripartite_Diffie-Hellman|том=17}}</ref><ref>{{Статья|автор=Victor Miller|год=2004-09-01|doi=10.1007/s00145-004-0315-8|страницы=235–261|издание=J. Cryptology|заглавие=The Weil Pairing, and Its Efficient Calculation|ссылка=https://www.researchgate.net/publication/220478991_The_Weil_Pairing_and_Its_Efficient_Calculation|том=17}}</ref>) на кривой выдает билинейное отображение <math>\boldsymbol{f}:\mathbb{G}\times\mathbb{\mathbb{G}}\rightarrow\mathbb{G}_1</math>, удовлетворяющее заданным условиям.


=== Алгоритм, основанный на [[Задача Бёрнсайда|задаче Бёрнсайда]] ===
=== Алгоритм, основанный на [[Задача Бёрнсайда|задаче Бёрнсайда]] ===
Строка 69: Строка 69:
Более важно то, что любой может умножить два зашифрованных сообщения один раз, используя билинейное отображение. Определим <math>\boldsymbol{g_1}=\boldsymbol{f}(\boldsymbol{g},\boldsymbol{g})</math> и <math>\boldsymbol{h_1}=\boldsymbol{f}(\boldsymbol{g},\boldsymbol{h})</math> . Тогда <math>\boldsymbol{g_1}</math> порядка <math>\boldsymbol{n}</math>, а <math>\boldsymbol{h_1}</math> порядка <math>\boldsymbol{q_1}</math>. Кроме того, для некоторого (неизвестного) параметра <math>\alpha\in\mathbb{Z}</math>, напишем <math>\boldsymbol{h}=\boldsymbol{g}^{\alpha\boldsymbol{q_2}}</math> . Предположим, что нам известны два шифротекста <math>\boldsymbol{C_1}=\boldsymbol{g}^\boldsymbol{m_1}\boldsymbol{h}^\boldsymbol{r_1}\in\mathbb{G}</math> <math>\boldsymbol{C_2}=\boldsymbol{g}^\boldsymbol{m_2}\boldsymbol{h}^\boldsymbol{r_2}\in\mathbb{G}</math>. Чтобы построить шифрование произведения <math>\boldsymbol{m_1}*\boldsymbol{m_2}\bmod \boldsymbol{n}</math>, выберем случайное число <math>\boldsymbol{r}\in\mathbb{Z_n}</math> и положим <math>\boldsymbol{C}=\boldsymbol{f}(\boldsymbol{C_1},\boldsymbol{C_2})\boldsymbol{h_1^r}\in\mathbb{G}_1</math>. Получаем <math>\boldsymbol{C=f(C_1,C_2)h_1^r=f(g^{m_1}h^{r_1},g^{m_2}h^{r_2})h_1^r=g^{m_1m_2}h^{m_1r_2+r_2m_1+\alpha q_2r_1r_2+r}=g_1^{m_1m_2}h_1^{\tilde{r}}}\in\mathbb{G}_1</math>, где<math>\boldsymbol{\tilde{r}=m_1r_2+r_2m_1+\alpha q_2r_1r_2+r}</math> — распределено равномерно в <math>\mathbb{Z_n}</math>, как и необходимо.
Более важно то, что любой может умножить два зашифрованных сообщения один раз, используя билинейное отображение. Определим <math>\boldsymbol{g_1}=\boldsymbol{f}(\boldsymbol{g},\boldsymbol{g})</math> и <math>\boldsymbol{h_1}=\boldsymbol{f}(\boldsymbol{g},\boldsymbol{h})</math> . Тогда <math>\boldsymbol{g_1}</math> порядка <math>\boldsymbol{n}</math>, а <math>\boldsymbol{h_1}</math> порядка <math>\boldsymbol{q_1}</math>. Кроме того, для некоторого (неизвестного) параметра <math>\alpha\in\mathbb{Z}</math>, напишем <math>\boldsymbol{h}=\boldsymbol{g}^{\alpha\boldsymbol{q_2}}</math> . Предположим, что нам известны два шифротекста <math>\boldsymbol{C_1}=\boldsymbol{g}^\boldsymbol{m_1}\boldsymbol{h}^\boldsymbol{r_1}\in\mathbb{G}</math> <math>\boldsymbol{C_2}=\boldsymbol{g}^\boldsymbol{m_2}\boldsymbol{h}^\boldsymbol{r_2}\in\mathbb{G}</math>. Чтобы построить шифрование произведения <math>\boldsymbol{m_1}*\boldsymbol{m_2}\bmod \boldsymbol{n}</math>, выберем случайное число <math>\boldsymbol{r}\in\mathbb{Z_n}</math> и положим <math>\boldsymbol{C}=\boldsymbol{f}(\boldsymbol{C_1},\boldsymbol{C_2})\boldsymbol{h_1^r}\in\mathbb{G}_1</math>. Получаем <math>\boldsymbol{C=f(C_1,C_2)h_1^r=f(g^{m_1}h^{r_1},g^{m_2}h^{r_2})h_1^r=g^{m_1m_2}h^{m_1r_2+r_2m_1+\alpha q_2r_1r_2+r}=g_1^{m_1m_2}h_1^{\tilde{r}}}\in\mathbb{G}_1</math>, где<math>\boldsymbol{\tilde{r}=m_1r_2+r_2m_1+\alpha q_2r_1r_2+r}</math> — распределено равномерно в <math>\mathbb{Z_n}</math>, как и необходимо.


Таким образом, <math>\boldsymbol{C}</math> является равномерно распределенным шифрованием <math>\boldsymbol{m_1}*\boldsymbol{m_2}\bmod \boldsymbol{n}</math>, но только в группе <math>\mathbb{G}_1</math>, а не в <math>\mathbb{G}</math> (поэтому допускается только одно умножение).
Таким образом, <math>\boldsymbol{C}</math> является равномерно распределенным шифрованием <math>\boldsymbol{m_1}*\boldsymbol{m_2}\bmod \boldsymbol{n}</math>, но только в группе <math>\mathbb{G}_1</math>, а не в <math>\mathbb{G}</math> (поэтому допускается только одно умножение).<ref name=":1" />


== Примечание ==
== Примечание ==

Версия от 16:09, 9 ноября 2019

Криптосистема Боне-Го-Ниссима — частично гомоморфная криптосистема, являющаяся модификацией криптосистемы Пэйе[1] и криптосистемы Окамото-Учиямы[2], разработанная Дэном Бонех[3] совместно с Ю Чжин Го и Коби Ниссимом[4] в 2005 году. Основанная на конечных группах составного порядка, которые поддерживают билинейное отображение, система позволяет оценить квадратичные многовариантные полиномы на шифротекстах (например, 2-ДНФ).

Благодаря использованию конструкции криптосистемы Пэйе и билинейного отбражения, получена система с аддиитивным гомоморфизмом, которая поддерживает произвольные добавления и одно умножение (за которым следуют произвольные добавления) для зашифрованных данных.[5]

Генерация ключей

Генерация_Ключа(): Учитывая параметр безопасности , вычисляем , чтобы получить кортеж . Пусть . Выберем два случайных генератора и определим , как . Тогда это случайный генератор подгруппы порядка . Открытый ключ : . Закрытый ключ : .[5]

Работа в режиме шифрования

Шифрование

Шифр(): Мы предполагаем, что пространство сообщений состоит из целых чисел в наборе {0,1}. Чтобы зашифровать сообщение с помощью открытого ключа выбераем случайный параметр и вычисляем

.

Полученный результат и есть шифротекст.

Расшифрование

Расшифр(): Чтобы расшифровать шифротекст используя закрытый ключ , рассмотрим следующее выражение

.

Пусть . Чтобы восстановить достаточно вычислить дискретный логарифм по основанию .

Следует отметить, что дешифрование в этой системе занимает полиномиальное время в размере пространства сообщений.

Пример

Частично гомоморфная система позволяет оценить 2-ДНФ (Дизъюнктивная нормальная форма второго порядка).

На входе: У Алисы есть 2-ДНФ формула , а у Боба есть набор переменных . Обе стороны на входе содержат параметр безопасности .

  1. Боб выполняет следующие действия:
    1. Он исполняет алгоритм Генерация_Ключа(), чтобы вычислить и отправляет Алисе.
    2. Он вычисляет и отправляет Шифр() для .
  2. Алиса выполняет следующие действия:
    1. Она выполняет арифметизацию заменяя «» на «», «» на «» и «» на «».Отметим, что это полином степени 2.
    2. Алиса вычисляет шифрование для случайно выбранного используя гомоморфные свойства системы шифрования. Результат отправляется Бобу.
  3. Если Боб получает шифрование 0, он выводит 0; в противном случае, он выводит 1.[5]

Вспомогательные данные о группах

Краткое рассмотрение основных групп, лежащих в основе данной системы шифрования.

Билинейные группы

Конструкция использует некоторые конечные группы составного порядка, которые поддерживают билинейное отображение. Используются следующие обозначения:

  1. и - две циклические группы конечного порядка .
  2.  — генератор .
  3.  — билинейное отображение . Другими словами, для всех и мы имеем . Мы также требуем выполнение условия : является генератором

Мы говорим, что  — билинейная группа, если существует группа и билинейное отображение, определённое выше.

Построение билинейных групп заданого порядка

Пусть > 3 — заданное число, которое не делится на 3. Построим билинейную группу порядка следующим образом:

  1. Найдем наименьшее натуральное число , такое что  — простое число и .
  2. Рассмотрим группу точек на эллиптической кривой опреленную над . Поскольку кривая имеет точек в . Поэтому группа точек на кривой имеет подруппу порядка , которую обозначим через .
  3. Пусть подгруппа в порядка . Модифицированный алгоритм спаривания Вейля (Спаривание Вейля является билинейным, кососимметричным, невырож­денным отображением[6][4][7][8]) на кривой выдает билинейное отображение , удовлетворяющее заданным условиям.

Алгоритм, основанный на задаче Бёрнсайда

Определим алгоритм , который при заданном параметре безопасности выводит кортеж , где и группы порядка и  — билинейное отображение. На входе известен параметр , алгоритм работает следующим образом:

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

На выходе получим .

Гомоморфные свойства

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

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

Таким образом, является равномерно распределенным шифрованием , но только в группе , а не в (поэтому допускается только одно умножение).[5]

Примечание

  1. Pascal Paillier. Public-Key Cryptosystems Based on Composite Degree Residuosity Classes (англ.) // Advances in Cryptology — EUROCRYPT ’99 / Jacques Stern. — Springer Berlin Heidelberg, 1999. — P. 223–238. — ISBN 9783540489108. — doi:10.1007/3-540-48910-x_16.
  2. Tatsuaki Okamoto, Shigenori Uchiyama. A new public-key cryptosystem as secure as factoring (англ.) // Advances in Cryptology — EUROCRYPT'98 / Kaisa Nyberg. — Springer Berlin Heidelberg, 1998. — P. 308–318. — ISBN 9783540697954. — doi:10.1007/bfb0054135.
  3. Mihir Bellare, Juan A. Garay, Tal Rabin. Fast batch verification for modular exponentiation and digital signatures (англ.) // Advances in Cryptology — EUROCRYPT'98 / Kaisa Nyberg. — Springer Berlin Heidelberg, 1998. — P. 236–250. — ISBN 9783540697954. — doi:10.1007/bfb0054130.
  4. 1 2 Dan Boneh, Matt Franklin. Identity-Based Encryption from the Weil Pairing (англ.) // Advances in Cryptology — CRYPTO 2001 / Joe Kilian. — Springer Berlin Heidelberg, 2001. — P. 213–229. — ISBN 9783540446477. — doi:10.1007/3-540-44647-8_13.
  5. 1 2 3 4 Theory of cryptography : Second Theory of Cryptography Conference, TCC 2005, Cambridge, MA, USA, February 10-12, 2005 : proceedings. — Berlin: Springer, 2005. — 1 online resource (xii, 619 pages) с. — ISBN 9783540305767, 3540305769, 3540245731, 9783540245735.
  6. О.Н. Василенко. О вычислении спариваний Вейля и Тейта // Тр. по дискр. матем.. — М.: ФИЗМАТЛИТ, 2007. — Т. 10. — С. 18—46.
  7. Antoine Joux. A One Round Protocol for Tripartite Diffie–Hellman. — 2006-12-30. — Т. 17. — С. 385–393. — doi:10.1007/10722028_23.
  8. Victor Miller. The Weil Pairing, and Its Efficient Calculation // J. Cryptology. — 2004-09-01. — Т. 17. — С. 235–261. — doi:10.1007/s00145-004-0315-8.

Литература

  • С.М. Владимиров, Э.М. Габидулин, А. И. Колыбельников, А.С. Кшевецкий. Криптографические методы защиты информации. — 2-е изд. — МФТИ, 2016. — С. 225—257. — 266 с. — ISBN 978-5-7417-0615-2.