Криптосистема Боне — Го — Ниссима: различия между версиями
[непроверенная версия] | [непроверенная версия] |
Oleg4280 (обсуждение | вклад) {{Криптосистемы с открытым ключом}} |
Bbbbuka (обсуждение | вклад) источники, пунктуация, орфография, стилевые правки, оформление |
||
Строка 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> |
# Пусть <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-ДНФ формула , а у Боба есть набор переменных . Обе стороны на входе содержат параметр безопасности .
- Боб выполняет следующие действия:
- Он исполняет алгоритм Генерация_Ключа(), чтобы вычислить и отправляет Алисе.
- Он вычисляет и отправляет Шифр() для .
- Алиса выполняет следующие действия:
- Она выполняет арифметизацию заменяя «» на «», «» на «» и «» на «».Отметим, что это полином степени 2.
- Алиса вычисляет шифрование для случайно выбранного используя гомоморфные свойства системы шифрования. Результат отправляется Бобу.
- Если Боб получает шифрование 0, он выводит 0; в противном случае, он выводит 1.[5]
Вспомогательные данные о группах
Краткое рассмотрение основных групп, лежащих в основе данной системы шифрования.
Билинейные группы
Конструкция использует некоторые конечные группы составного порядка, которые поддерживают билинейное отображение. Используются следующие обозначения:
- и - две циклические группы конечного порядка .
- — генератор .
- — билинейное отображение . Другими словами, для всех и мы имеем . Мы также требуем выполнение условия : является генератором
Мы говорим, что — билинейная группа, если существует группа и билинейное отображение, определённое выше.
Построение билинейных групп заданого порядка
Пусть > 3 — заданное число, которое не делится на 3. Построим билинейную группу порядка следующим образом:
- Найдем наименьшее натуральное число , такое что — простое число и .
- Рассмотрим группу точек на эллиптической кривой опреленную над . Поскольку кривая имеет точек в . Поэтому группа точек на кривой имеет подруппу порядка , которую обозначим через .
- Пусть подгруппа в порядка . Модифицированный алгоритм спаривания Вейля (Спаривание Вейля является билинейным, кососимметричным, невырожденным отображением[6][4][7][8]) на кривой выдает билинейное отображение , удовлетворяющее заданным условиям.
Алгоритм, основанный на задаче Бёрнсайда
Определим алгоритм , который при заданном параметре безопасности выводит кортеж , где и группы порядка и — билинейное отображение. На входе известен параметр , алгоритм работает следующим образом:
- Сгенерируем два случайных — битовых числа и и положим .
- Создадим билинейную группу порядка , как описанно в разделе выше. Пусть — генератор , а — билинейное отображение.
На выходе получим .
Гомоморфные свойства
Система является аддитивно гомоморфной. Пусть — открытый ключ. Пусть — шифротексты сообщений соответственно. Любой может создать равномерно распределенное шифрование вычисляя произведение для случайного чила в диапазоне .
Более важно то, что любой может умножить два зашифрованных сообщения один раз, используя билинейное отображение. Определим и . Тогда порядка , а порядка . Кроме того, для некоторого (неизвестного) параметра , напишем . Предположим, что нам известны два шифротекста . Чтобы построить шифрование произведения , выберем случайное число и положим . Получаем , где — распределено равномерно в , как и необходимо.
Таким образом, является равномерно распределенным шифрованием , но только в группе , а не в (поэтому допускается только одно умножение).[5]
Примечание
- ↑ 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.
- ↑ 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.
- ↑ 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.
- ↑ 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.
- ↑ 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.
- ↑ О.Н. Василенко. О вычислении спариваний Вейля и Тейта // Тр. по дискр. матем.. — М.: ФИЗМАТЛИТ, 2007. — Т. 10. — С. 18—46.
- ↑ Antoine Joux. A One Round Protocol for Tripartite Diffie–Hellman. — 2006-12-30. — Т. 17. — С. 385–393. — doi:10.1007/10722028_23.
- ↑ 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.