Схема Боне-Франклина

Схема Боне-Франклина — это система шифрования на основе идентичности , предложенная Дэном Боне и Мэтью К. Франклином в 2001 году. [1] В этой статье рассматривается версия протокола под названием BasicIdent . Это применение пар ( пар Вейля ) над эллиптическими кривыми и конечными полями .

Группы и параметры

Поскольку схема основана на парном подходе , все вычисления выполняются в двух группах : Г 1 {\displaystyle \textstyle G_{1}} Г 2 {\displaystyle \textstyle G_ {2}}

Для пусть будет простым числом, и рассмотрим эллиптическую кривую над . Обратите внимание, что эта кривая не является особой, поскольку равна только для случая , который исключается дополнительным ограничением. Г 1 {\displaystyle \textstyle G_{1}} п {\displaystyle \textstyle p} п 2 мод 3 {\displaystyle \textstyle p\equiv 2\mod 3} Э : у 2 = х 3 + 1 {\displaystyle \textstyle E:y^{2}=x^{3}+1} З / п З {\displaystyle \textstyle \mathbb {Z} /p\mathbb {Z} } 4 а 3 + 27 б 2 = 27 = 3 3 {\displaystyle \textstyle 4a^{3}+27b^{2}=27=3^{3}} 0 {\displaystyle \textstyle 0} п = 3 {\displaystyle \textstyle p=3}

Пусть будет простым множителем (который является порядком ) и найдем точку порядка . — это множество точек, порожденных : д > 3 {\displaystyle \textstyle q>3} п + 1 {\displaystyle \textstyle p+1} Э {\displaystyle \textstyle E} П Э {\displaystyle \textstyle P\in E} д {\displaystyle \textstyle д} Г 1 {\displaystyle \textstyle G_{1}} П {\displaystyle \textstyle П} { н П н { 0 , , д 1 } } {\displaystyle \textstyle \left\{nP\|n\in \left\{0,\ldots ,q-1\right\}\right\}}

Г 2 {\displaystyle \textstyle G_ {2}} является подгруппой порядка . Нам не нужно явно строить эту группу (это делается с помощью спаривания) и, следовательно, не нужно искать генератор. д {\displaystyle \textstyle д} Г Ф ( п 2 ) {\displaystyle \textstyle GF\left(p^{2}\right)^{*}}

Г 1 {\displaystyle \textstyle G_{1}} считается аддитивной группой , являясь подгруппой аддитивной группы точек , в то время как считается мультипликативной группой , являясь подгруппой мультипликативной группы конечного поля . Э {\displaystyle \textstyle E} Г 2 {\displaystyle \textstyle G_ {2}} Г Ф ( п 2 ) {\displaystyle \textstyle GF(p^{2})^{*}}

Описание протокола

Настраивать

Генератор открытого ключа (PKG) выбирает:

  1. публичные группы (с генератором ) и как указано выше, с размером в зависимости от параметра безопасности , Г 1 {\displaystyle \textstyle G_{1}} П {\displaystyle \textstyle П} Г 2 {\displaystyle \textstyle G_ {2}} д {\displaystyle \textstyle д} к {\displaystyle \textstyle к}
  2. соответствующее сопряжение , е {\displaystyle \textstyle е}
  3. случайный закрытый мастер-ключ , К м = с З д {\displaystyle \textstyle K_{m}=s\in \mathbb {Z} _{q}^{*}}
  4. открытый ключ , К п ты б = с П {\displaystyle \textstyle K_{pub}=sP}
  5. публичная хэш-функция , ЧАС 1 : { 0 , 1 } Г 1 {\displaystyle \textstyle H_{1}:\left\{0,1\right\}^{*}\rightarrow G_{1}^{*}}
  6. публичная хэш-функция для некоторых фиксированных и ЧАС 2 : Г 2 { 0 , 1 } н {\displaystyle \textstyle H_{2}:G_{2}\rightarrow \left\{0,1\right\}^{n}} н {\displaystyle \textstyle н}
  7. пространство сообщений и пространство шифров М = { 0 , 1 } н , С = Г 1 × { 0 , 1 } н {\displaystyle \textstyle {\mathcal {M}}=\left\{0,1\right\}^{n},{\mathcal {C}}=G_{1}^{*}\times \left\{0,1\right\}^{n}}

Извлечение

Чтобы создать открытый ключ для , PKG вычисляет я Д { 0 , 1 } {\displaystyle \textstyle ID\in \left\{0,1\right\}^{*}}

  1. В я Д = ЧАС 1 ( я Д ) {\displaystyle \textstyle Q_{ID}=H_{1}\left(ID\right)} и
  2. закрытый ключ , который предоставляется пользователю. г я Д = с В я Д {\displaystyle \textstyle d_{ID}=sQ_{ID}}

Шифрование

Учитывая , что , шифротекст получается следующим образом: м М {\displaystyle \textstyle м\in {\mathcal {M}}} с {\displaystyle \textstyle с}

  1. В я Д = ЧАС 1 ( я Д ) Г 1 {\displaystyle \textstyle Q_{ID}=H_{1}\left(ID\right)\in G_{1}^{*}} ,
  2. выбрать случайный , г З д {\displaystyle \textstyle r\in \mathbb {Z} _{q}^{*}}
  3. вычислить и г я Д = е ( В я Д , К п ты б ) Г 2 {\displaystyle \textstyle g_{ID}=e\left(Q_{ID},K_{pub}\right)\in G_{2}}
  4. набор . с = ( г П , м ЧАС 2 ( г я Д г ) ) {\displaystyle \textstyle c=\left(rP,m\oplus H_{2}\left(g_{ID}^{r}\right)\right)}

Обратите внимание, что это открытый ключ PKG, поэтому он не зависит от идентификатора получателя. К п ты б {\displaystyle \textstyle K_{паб}}

Расшифровка

Учитывая , что открытый текст может быть получен с помощью закрытого ключа: с = ( ты , в ) С {\displaystyle \textstyle c=\left(u,v\right)\in {\mathcal {C}}}

м = в ЧАС 2 ( е ( г я Д , ты ) ) {\displaystyle \textstyle m=v\oplus H_{2}\left(e\left(d_{ID},u\right)\right)}

Корректность

Первичный шаг как в шифровании, так и в дешифровании — это использование сопряжения и генерация маски (например, симметричного ключа), которая выполняется с помощью операции xor с открытым текстом. Поэтому для проверки правильности протокола необходимо убедиться, что честный отправитель и получатель в конечном итоге получают одинаковые значения. ЧАС 2 {\displaystyle \textstyle H_{2}}

Шифрующая сущность использует , а для расшифровки применяется . Из свойств пар следует, что: ЧАС 2 ( г я Д г ) {\displaystyle \textstyle H_{2}\left(g_{ID}^{r}\right)} ЧАС 2 ( е ( г я Д , ты ) ) {\displaystyle \textstyle H_{2}\left(e\left(d_{ID},u\right)\right)}

ЧАС 2 ( е ( г я Д , ты ) ) = ЧАС 2 ( е ( с В я Д , г П ) ) = ЧАС 2 ( е ( В я Д , П ) г с ) = ЧАС 2 ( е ( В я Д , с П ) г ) = ЧАС 2 ( е ( В я Д , К п ты б ) г ) = ЧАС 2 ( г я Д г ) {\displaystyle {\begin{align}H_{2}\left(e\left(d_{ID},u\right)\right)&=H_{2}\left(e\left(sQ_{ID},rP\right)\right)\\&=H_{2}\left(e\left(Q_{ID},P\right)^{rs}\right)\\&=H_{2}\left(e\left(Q_{ID},sP\right)^{r}\right)\\&=H_{2}\left(e\left(Q_{ID},K_{pub}\right)^{r}\right)\\&=H_{2}\left(g_{ID}^{r}\right)\\\end{align}}}

Безопасность

Безопасность схемы зависит от сложности билинейной задачи Диффи-Хеллмана (BDH) для используемых групп. Было доказано, что в модели случайного оракула протокол семантически безопасен при предположении BDH.

Улучшения

BasicIdent не выбран ciphertext secure . Однако существует универсальный метод преобразования, предложенный Фудзисаки и Окамото [2] , который позволяет преобразовать схему, имеющую это свойство, называемое FullIdent .

Ссылки

  1. ^ Дэн Бонех, Мэтью К. Франклин, «Шифрование на основе идентификации с использованием спаривания Вейля», Достижения в криптологии – Труды CRYPTO 2001 (2001)
  2. ^ Эйитиро Фудзисаки, Тацуаки Окамото, «Безопасная интеграция асимметричных и симметричных схем шифрования», Advances in Cryptology – Proceedings of CRYPTO 99 (1999). Полная версия появилась в J. Cryptol. (2013) 26: 80–101
  • Семинар «Криптография и безопасность в банковском деле»/«Альтернативная криптология», Рурский университет в Бохуме [ постоянная неработающая ссылка ]
  • Библиотека P(airing) B(ased) C(cryptography), разработанная Беном Линном и др.
Взято с "https://en.wikipedia.org/w/index.php?title=Boneh–Franklin_scheme&oldid=1206886894"