SlideShare une entreprise Scribd logo
暗認本読書会13 advanced
準同型暗号, DDH, ZKPおかわり
2021/12/23
https://anninbon.connpass.com/
光成滋生
• 楕円曲線
• 演算
• ECDLPとECDH
• 楕円ElGamal暗号
• 楕円Lifted-ElGamal暗号
• 準同型暗号
• 安全性とDDH
• ZKP
• Σプロトコル
• 𝐷𝑒𝑐 𝑐 = 0の場合
• Fiat-Shamir heuristic
目次
• このスライドで使う共通の記号
• 𝐸 : 楕円曲線, 𝑃 : 𝐸上の点
• 𝐺 = {0, 𝑃, 2𝑃, … , 𝑝 − 1 𝑃}とする(𝑝𝑃 = 0)
• トーラス上を巻きつきながら進み𝑝倍すると𝑂に戻る
• 計算が容易なもの
楕円曲線の性質の復習
スカラー倍
𝑎
𝑃
𝑎𝑃 加算
𝑎𝑃
𝑏𝑃
𝑎 + 𝑏 𝑃
• 楕円離散対数問題ECDLP(Discrete Logarithm Problem)
• 与えられた𝑃, 𝑄 ∈ 𝐺に対して𝑄 = 𝑎𝑃となる𝑎を求める
• 𝑎 = log𝑃 𝑄と表す
• ECDHP(Diffie Hellman Problem)
• 与えられた𝑃, 𝑎𝑃, 𝑏𝑃に対して𝑎𝑏𝑃を求める
• 楕円曲線暗号はECDLPやECDHPが困難なことを仮定
楕円曲線暗号で使う計算困難な問題
DLP
𝑃
𝑎𝑃
𝑎
× DHP
𝑎𝑃
𝑏𝑃
𝑎𝑏𝑃
×
• 鍵生成
• 𝑠 : 秘密鍵, 𝑄 = 𝑠𝑃 : 公開鍵
• 暗号化
• 平文は楕円曲線の点𝑀 ∈ 𝐺
乱数𝑟をとり𝐸𝑛𝑐 𝑀 = (𝑀 + 𝑟𝑄, 𝑟𝑃) とする
• 復号
• 暗号文𝐶 = (𝐴, 𝐵)に対して𝐷𝑒𝑐 𝐶 = 𝐴 − 𝑠𝐵とする
• 正当性
• 暗号化して復号したら元に戻ること
• 𝐷𝑒𝑐 𝐸𝑛𝑐 𝑀 = 𝐷𝑒𝑐 𝑀 + 𝑟𝑄, 𝑟𝑃 = (𝑀 + 𝑟𝑄) − 𝑠 𝑟𝑃 = 𝑀
• 注意
• 暗号文が整数でなく楕円曲線の点なのに注意(使いづらい)
楕円ElGamal暗号
• 攻撃者は公開鍵と暗号文を知っている
• 𝑃, 𝑄 = 𝑠𝑃, 𝐸𝑛𝑐 𝑀 = (𝑀 + 𝑟𝑄, 𝑟𝑃)
• 𝑃と𝑄 = 𝑠𝑃と𝑟𝑃から𝑟𝑄 = 𝑟𝑠𝑃を求められると𝑀が分かる
• 「𝑃, 𝑠𝑃, 𝑟𝑃から𝑟𝑠𝑃」これはECDHP
楕円ElGamal暗号の安全性
• 平文を楕円曲線ではなく整数𝑚とする
𝑀の代わりに𝑚𝑃を使う
• 鍵生成(前ページと同じ)
• 𝑠 : 秘密鍵, 𝑄 = 𝑠𝑃 : 公開鍵
• 暗号化
• 平文𝑚に対し, 乱数𝑟をとって𝐸𝑛𝑐 𝑚; 𝑟 = (𝑚𝑃 + 𝑟𝑄, 𝑟𝑃)とする
• 𝑟を省略して𝐸𝑛𝑐(𝑚)とも書く
• 復号
• 暗号文𝐶 = (𝐴, 𝐵)に対して𝑑𝑒𝑐 𝐶 = 𝐴 − 𝑠𝐵とする
• 𝑑𝑒𝑐 𝐸𝑛𝑐 𝑚 = 𝑚𝑃 + 𝑟𝑄 − 𝑠 𝑟𝑃 = 𝑚𝑃なので復号ではない
𝐷𝑒𝑐 𝐶 = log𝑃 𝑑𝑒𝑐 𝐶 とすると
• 𝐷𝑒𝑐 𝐸𝑛𝑐 𝑚 = log𝑝 𝑚𝑃 = 𝑚となり戻る
楕円Lifted-ElGamal暗号
• 𝐷𝑒𝑐 𝐶 = log𝑃(𝑑𝑒𝑐 𝐶 )っておかしくね?
• 𝑚𝑃から𝑚を求めるのにDLPを使ってる
• DLPが難しいんじゃなかったのか
• 答え
• Yes.
• だから楕円Lifted ElGamal暗号は
「𝑚が大きくない」範囲しか使えない
• 𝑚 ≤ 232程度なら実用的に使える程度に求められる
• 数十MBのテーブルを使うが
• その代わりに面白い性質が成り立つ
疑問
• 再掲載
• 鍵生成 𝑠 : 秘密鍵, 𝑄 = 𝑠𝑃 : 公開鍵
• 暗号化 𝐸𝑛𝑐 𝑚; 𝑟 = (𝑚𝑃 + 𝑟𝑄, 𝑟𝑃) ; 𝑟は乱数
• 復号𝐷𝑒𝑐( 𝐴, 𝐵 = log𝑝 𝐴 − 𝑠𝐵
• 2個の暗号文𝐸𝑛𝑐 𝑚1; 𝑟1 , 𝐸𝑛𝑐(𝑚2; 𝑟2)を考える
• それらの要素ごとの足し算をやってみる
• 𝐸𝑛𝑐 𝑚1; 𝑟1 + 𝐸𝑛𝑐 𝑚2; 𝑟2
= 𝑚1𝑃 + 𝑟1𝑄, 𝑟1𝑃 + 𝑚2𝑃 + 𝑟2𝑄, 𝑟2𝑃
= 𝑚1𝑃 + 𝑚2𝑃 + 𝑟1𝑄 + 𝑟2𝑄, 𝑟1𝑃 + 𝑟2𝑃
= 𝑚1 + 𝑚2 𝑃 + 𝑟1 + 𝑟2 𝑄, 𝑟1 + 𝑟2 𝑃
= 𝐸𝑛𝑐(𝑚1 + 𝑚2; 𝑟1 + 𝑟2)
• 暗号文同士を足したら平文同士を足した結果の暗号文!
• 加法準同型暗号
Lifted ElGamal暗号は加法準同型暗号
• 攻撃者と挑戦者アリスのゲームIND(istinguishability)
• 攻撃者が2個の平文𝑚1, 𝑚2を選びアリスに渡す
• アリスはどちらかの平文を選び、その暗号文𝑐を攻撃者に渡す
• 攻撃者は暗号文𝑐がどちらの平文を暗号化したものか当てる
• 当てたら攻撃者の勝ち(攻撃成功)
• 攻撃者に非常に有利なゲーム
• 攻撃の種類
• 選択平文攻撃CPA
• 自分が選んだ平文の暗号文を取得できる(PKEはいつでも可能)
• 選択暗号文攻撃CCA(Chosen Ciphertext Attack)
• 自分が選んだ暗号文(≠ターゲット暗号文)の平文を取得できる
公開鍵暗号PKEに求められる安全性要件
• CCA1 ; ゲーム開始前に情報収集可
• CCA2 ; ゲーム開始後に情報収集可(適応的CCA)
• CCA1/2に対してアリスが勝つならIND-CCA1/2安全
• 準同型暗号はIND-CCA2安全にはなり得ない
• 攻撃者は𝑐に対して𝑐′ = 𝑐 + 𝐸𝑛𝑐(0)の答えを教えてもらえる
• 準同型演算するために「評価鍵」が必要なHEもある
IND-CCA1とIND-CCA2
• Lifted ElGamal暗号
• 𝑑𝑒𝑐 𝑐 = 0か否か当てられてはいけない(IND-CPA)
• 𝐸𝑛𝑐 0; 𝑟 = 𝑟𝑄, 𝑟𝑃
• 𝐸𝑛𝑐 𝑚; 𝑟 = (𝑚𝑃 + 𝑟𝑄, 𝑟𝑃)
• 暗号文の一つ目の成分を𝑇 = 𝑚𝑃 + 𝑟𝑄とすると
• 「𝑃, 𝑠𝑃, 𝑟𝑃, 𝑇」givenで𝑇 = 𝑟𝑠𝑃か否か判れば
𝑑𝑒𝑐 𝑐 = 0か≠ 0か判別できる→安全でない
• DDH(Decisional DH)
• 「𝑃, 𝑎𝑃, 𝑏𝑃, 𝑇」givenのとき「𝑇 = 𝑎𝑏𝑃か否か」を判定せよ
• 従来のDHはCDH(Computational DH)という
• DDHが困難ならLifted ElGamal暗号はIND-CPA安全
Lifted ElGamal暗号で考えてみると
• 準同型暗号で投票しよう
• 賛成(1)か反対(0)の暗号文を集計サーバに送る
• 集計してから復号
• 攻撃者が𝐸𝑛𝑐(10)を
送ったら?
• 要件
• 暗号文𝑐が𝐷𝑒𝑐 𝑐 ∈ {0,1}であることは知りたい
• でも、どちらかは知りたくない/知られないようにしたい
• 「確認する人Cに暗号文𝑐を渡して正しく復号していること」
𝐷𝑒𝑐 𝑐 = 𝑚を確認したい
• 𝐷𝑒𝑐 𝑐 − 𝐸𝑛𝑐 𝑚 = 0だから𝐷𝑒𝑐 𝑐 = 0だけ分かれば十分
ゼロ知識証明ZKP
• 公開情報𝑋に対応する秘密の知識𝑊であることを
𝑋, 𝑊 ∈ 𝑅と表す(Rはrelation)
• 例 : 𝑄 = 𝑥𝑃のとき𝑋 = (𝑃, 𝑄), 𝑊 = 𝑥, Rは𝐷𝐿𝑃𝑃
Σプロトコル
judge
𝐴
証明者P : 𝑊を知っている
検証者V
乱数ℎ
𝐵
受理 or 拒絶
𝑋の共有
• 完全性
• 証明者Pが 𝑋, 𝑊 ∈ 𝑅となる𝑊を知っていたら検証者Vは受理
• 健全性
• 𝐴, ℎ, 𝐵 , (𝐴, ℎ′, 𝐵′) (ℎ ≠ ℎ′)が受理されれば 𝑋, 𝑊 ∈ 𝑅となる𝑊
を計算できる
• (special honest-verifier) ゼロ知識性
• 𝑊を知らずに𝑋に対して受理する(𝐴, ℎ, 𝐵)を本物そっくりにシ
ミュレートする𝑀がある
• (𝐴, ℎ, 𝐵)の情報は𝑊が無くても得られるものと同じと考える
Σプロトコルの要件
• 公開鍵𝑋 = (𝑄, 𝑃), 𝑄 = 𝑠𝑃, 暗号文𝐶 = 𝑆, 𝑇 = (𝑟𝑄, 𝑟′𝑃)
• 𝐷𝑒𝑐 𝐶 = 0であるためには𝑟𝑄 − 𝑠𝑟′
𝑃 = 0つまり𝑟 = 𝑟′
• (秘密鍵𝑠を持つ)証明者P : 𝑟は未知だが𝑟 = 𝑟′は分かる
• P→V : 乱数𝑡をとり𝐴 = (𝑡𝑇, 𝑡𝑃)を送る
• V→P : 乱数ℎを送る
• P→V : 𝑏 = 𝑡 − ℎ𝑠を送りVはℎ(𝑆, 𝑄) + 𝑏(𝑇, 𝑃) = 𝐴なら受理
• 完全性
• 正しければ𝑙ℎ𝑠 = ℎ𝑟𝑠𝑃, ℎ𝑠𝑃 + (𝑏𝑟𝑃, 𝑏𝑃) = (𝑡𝑟𝑃, 𝑡𝑃)
• 健全性
• 𝐴, ℎ, 𝑏 , (𝐴, ℎ′, 𝑏′)を受理(ℎ ≠ ℎ′)すれば𝐶 = (𝑟𝑠′𝑃, 𝑟𝑃)に対して
ℎ 𝑟𝑠′𝑃, 𝑠𝑃 + 𝑏 𝑟𝑃, 𝑃 = 𝐴 = ℎ′ 𝑟𝑠′𝑃, 𝑠𝑃 + 𝑏′(𝑟𝑃, 𝑃)より
ℎ𝑟𝑠′ + 𝑏𝑟 = ℎ′𝑟𝑠′ + 𝑏′𝑟, ℎ𝑠 + 𝑏 = ℎ′𝑠 + 𝑏′より𝑠 = 𝑠′
𝐷𝑒𝑐 𝐶 = 0のΣプロトコル
• 乱数ℎ, 𝑏をとり𝑡 = 𝑏 + ℎ𝑠, 𝐴 = (𝑡𝑟𝑃, 𝑡𝑃)とすると
(𝐴, ℎ, 𝑏)は受理される
• ℎ 𝑟𝑄, 𝑄 + 𝑏 𝑟𝑃, 𝑃 = ℎ𝑟𝑠 + 𝑏𝑟 𝑃, ℎ𝑠 + 𝑏 𝑃 = (𝑡𝑟𝑃, 𝑡𝑃)
シミュレータ
• Σプロトコルで検証者が乱数ℎを送る代わりに
パラメータのハッシュ値を利用する
• 証明者がℎを制御できないなら検証者が乱数を送らなくてもよ
いのではという理屈
• ハッシュ関数が理想形であるランダムオラクルモデルを仮定
• 証明者Pが証明𝜋を送るだけでよくなる
• 対話証明の非対話化
Fiat-Shamir heuristic
• 再掲 : 公開情報𝑋 = (𝑄, 𝑃), 𝑄 = 𝑠𝑃, 暗号文𝐶 = (𝑆, 𝑇)
• P→V : 乱数𝑡をとり𝐴 = (𝑡𝑇, 𝑡𝑃)を送る
• V→P : 乱数ℎを送る
• P→V : 𝑏 = 𝑡 − ℎ𝑠を送りVはℎ(𝑆, 𝑄) + 𝑏(𝑇, 𝑃) = 𝐴なら受理
• FS変換
• 証明者 : 乱数𝑡を𝐴 = (𝑡𝑇, 𝑡𝑃), ℎ = 𝐻(𝑋, 𝐶, 𝐴)とする
𝑏 = 𝑡 − ℎ𝑠として𝜋 = (ℎ, 𝑏)を検証者に送る
• 検証者 : 𝐴′ = ℎ(𝑆, 𝑄) + 𝑏(𝑇, 𝑃), 𝐻 𝑋, 𝐶, 𝐴′ = ℎなら受理
• 𝐶 = (𝑟𝑠′
𝑃, 𝑟𝑃)に対して𝜋 = (ℎ, 𝑏)を受理したら
𝐴′ = (ℎ𝑟𝑠′𝑃 + 𝑏𝑟𝑃, ℎ𝑠𝑃 + 𝑏𝑃). 𝑡 = 𝑏 + ℎ𝑠とすると
ℎ𝑟𝑠′ + 𝑏𝑟 = 𝑡 + ℎ 𝑠′ − 𝑠 𝑟なので
𝐻 𝑋, 𝐶, 𝑡 + ℎ 𝑠′ − 𝑠 𝑇, 𝑡𝑃 = ℎ → 𝑠′ = 𝑠
𝐷𝑒𝑐 𝑐 = 0のZKP
19 / 19

Contenu connexe

Tendances

自作ペアリング/BLS署名ライブラリの紹介
自作ペアリング/BLS署名ライブラリの紹介自作ペアリング/BLS署名ライブラリの紹介
自作ペアリング/BLS署名ライブラリの紹介
MITSUNARI Shigeo
 
暗認本読書会4
暗認本読書会4暗認本読書会4
暗認本読書会4
MITSUNARI Shigeo
 
Lifted-ElGamal暗号を用いた任意関数演算の二者間秘密計算プロトコルのmaliciousモデルにおける効率化
Lifted-ElGamal暗号を用いた任意関数演算の二者間秘密計算プロトコルのmaliciousモデルにおける効率化Lifted-ElGamal暗号を用いた任意関数演算の二者間秘密計算プロトコルのmaliciousモデルにおける効率化
Lifted-ElGamal暗号を用いた任意関数演算の二者間秘密計算プロトコルのmaliciousモデルにおける効率化
MITSUNARI Shigeo
 
高速な暗号実装のためにしてきたこと
高速な暗号実装のためにしてきたこと高速な暗号実装のためにしてきたこと
高速な暗号実装のためにしてきたこと
MITSUNARI Shigeo
 
暗認本読書会10
暗認本読書会10暗認本読書会10
暗認本読書会10
MITSUNARI Shigeo
 
暗号文のままで計算しよう - 準同型暗号入門 -
暗号文のままで計算しよう - 準同型暗号入門 -暗号文のままで計算しよう - 準同型暗号入門 -
暗号文のままで計算しよう - 準同型暗号入門 -
MITSUNARI Shigeo
 
『データ解析におけるプライバシー保護』勉強会 秘密計算
『データ解析におけるプライバシー保護』勉強会 秘密計算『データ解析におけるプライバシー保護』勉強会 秘密計算
『データ解析におけるプライバシー保護』勉強会 秘密計算
MITSUNARI Shigeo
 
技術勉強会(楕円曲線暗号)資料
技術勉強会(楕円曲線暗号)資料技術勉強会(楕円曲線暗号)資料
技術勉強会(楕円曲線暗号)資料
Tetsuyuki Oishi
 
線形代数の視覚的理解のためのノート
線形代数の視覚的理解のためのノート線形代数の視覚的理解のためのノート
線形代数の視覚的理解のためのノート
Kenji Hiranabe
 
楕円曲線入門 トーラスと楕円曲線のつながり
楕円曲線入門トーラスと楕円曲線のつながり楕円曲線入門トーラスと楕円曲線のつながり
楕円曲線入門 トーラスと楕円曲線のつながり
MITSUNARI Shigeo
 
プログラミングコンテストでのデータ構造
プログラミングコンテストでのデータ構造プログラミングコンテストでのデータ構造
プログラミングコンテストでのデータ構造Takuya Akiba
 
zk-SNARKsの仕組みについて
zk-SNARKsの仕組みについてzk-SNARKsの仕組みについて
zk-SNARKsの仕組みについて
ts21
 
暗号化したまま計算できる暗号技術とOSS開発による広がり
暗号化したまま計算できる暗号技術とOSS開発による広がり暗号化したまま計算できる暗号技術とOSS開発による広がり
暗号化したまま計算できる暗号技術とOSS開発による広がり
MITSUNARI Shigeo
 
数学カフェ 確率・統計・機械学習回 「速習 確率・統計」
数学カフェ 確率・統計・機械学習回 「速習 確率・統計」数学カフェ 確率・統計・機械学習回 「速習 確率・統計」
数学カフェ 確率・統計・機械学習回 「速習 確率・統計」
Ken'ichi Matsui
 
二部グラフの最小点被覆と最大安定集合と最小辺被覆の求め方
二部グラフの最小点被覆と最大安定集合と最小辺被覆の求め方二部グラフの最小点被覆と最大安定集合と最小辺被覆の求め方
二部グラフの最小点被覆と最大安定集合と最小辺被覆の求め方
Kensuke Otsuki
 
レベル2準同型暗号の平文バイナリ制約を与えるコンパクトな非対話ゼロ知識証明
レベル2準同型暗号の平文バイナリ制約を与えるコンパクトな非対話ゼロ知識証明レベル2準同型暗号の平文バイナリ制約を与えるコンパクトな非対話ゼロ知識証明
レベル2準同型暗号の平文バイナリ制約を与えるコンパクトな非対話ゼロ知識証明
MITSUNARI Shigeo
 
FHE in Action
FHE in ActionFHE in Action
FHE in Action
文杰 陆
 
範囲証明つき準同型暗号とその対話的プロトコル
範囲証明つき準同型暗号とその対話的プロトコル範囲証明つき準同型暗号とその対話的プロトコル
範囲証明つき準同型暗号とその対話的プロトコル
MITSUNARI Shigeo
 
AtCoder Beginner Contest 015 解説
AtCoder Beginner Contest 015 解説AtCoder Beginner Contest 015 解説
AtCoder Beginner Contest 015 解説
AtCoder Inc.
 

Tendances (20)

自作ペアリング/BLS署名ライブラリの紹介
自作ペアリング/BLS署名ライブラリの紹介自作ペアリング/BLS署名ライブラリの紹介
自作ペアリング/BLS署名ライブラリの紹介
 
暗認本読書会4
暗認本読書会4暗認本読書会4
暗認本読書会4
 
Lifted-ElGamal暗号を用いた任意関数演算の二者間秘密計算プロトコルのmaliciousモデルにおける効率化
Lifted-ElGamal暗号を用いた任意関数演算の二者間秘密計算プロトコルのmaliciousモデルにおける効率化Lifted-ElGamal暗号を用いた任意関数演算の二者間秘密計算プロトコルのmaliciousモデルにおける効率化
Lifted-ElGamal暗号を用いた任意関数演算の二者間秘密計算プロトコルのmaliciousモデルにおける効率化
 
高速な暗号実装のためにしてきたこと
高速な暗号実装のためにしてきたこと高速な暗号実装のためにしてきたこと
高速な暗号実装のためにしてきたこと
 
暗認本読書会10
暗認本読書会10暗認本読書会10
暗認本読書会10
 
暗号文のままで計算しよう - 準同型暗号入門 -
暗号文のままで計算しよう - 準同型暗号入門 -暗号文のままで計算しよう - 準同型暗号入門 -
暗号文のままで計算しよう - 準同型暗号入門 -
 
『データ解析におけるプライバシー保護』勉強会 秘密計算
『データ解析におけるプライバシー保護』勉強会 秘密計算『データ解析におけるプライバシー保護』勉強会 秘密計算
『データ解析におけるプライバシー保護』勉強会 秘密計算
 
技術勉強会(楕円曲線暗号)資料
技術勉強会(楕円曲線暗号)資料技術勉強会(楕円曲線暗号)資料
技術勉強会(楕円曲線暗号)資料
 
線形代数の視覚的理解のためのノート
線形代数の視覚的理解のためのノート線形代数の視覚的理解のためのノート
線形代数の視覚的理解のためのノート
 
楕円曲線入門 トーラスと楕円曲線のつながり
楕円曲線入門トーラスと楕円曲線のつながり楕円曲線入門トーラスと楕円曲線のつながり
楕円曲線入門 トーラスと楕円曲線のつながり
 
プログラミングコンテストでのデータ構造
プログラミングコンテストでのデータ構造プログラミングコンテストでのデータ構造
プログラミングコンテストでのデータ構造
 
zk-SNARKsの仕組みについて
zk-SNARKsの仕組みについてzk-SNARKsの仕組みについて
zk-SNARKsの仕組みについて
 
暗号化したまま計算できる暗号技術とOSS開発による広がり
暗号化したまま計算できる暗号技術とOSS開発による広がり暗号化したまま計算できる暗号技術とOSS開発による広がり
暗号化したまま計算できる暗号技術とOSS開発による広がり
 
数学カフェ 確率・統計・機械学習回 「速習 確率・統計」
数学カフェ 確率・統計・機械学習回 「速習 確率・統計」数学カフェ 確率・統計・機械学習回 「速習 確率・統計」
数学カフェ 確率・統計・機械学習回 「速習 確率・統計」
 
二部グラフの最小点被覆と最大安定集合と最小辺被覆の求め方
二部グラフの最小点被覆と最大安定集合と最小辺被覆の求め方二部グラフの最小点被覆と最大安定集合と最小辺被覆の求め方
二部グラフの最小点被覆と最大安定集合と最小辺被覆の求め方
 
レベル2準同型暗号の平文バイナリ制約を与えるコンパクトな非対話ゼロ知識証明
レベル2準同型暗号の平文バイナリ制約を与えるコンパクトな非対話ゼロ知識証明レベル2準同型暗号の平文バイナリ制約を与えるコンパクトな非対話ゼロ知識証明
レベル2準同型暗号の平文バイナリ制約を与えるコンパクトな非対話ゼロ知識証明
 
FHE in Action
FHE in ActionFHE in Action
FHE in Action
 
Binary indexed tree
Binary indexed treeBinary indexed tree
Binary indexed tree
 
範囲証明つき準同型暗号とその対話的プロトコル
範囲証明つき準同型暗号とその対話的プロトコル範囲証明つき準同型暗号とその対話的プロトコル
範囲証明つき準同型暗号とその対話的プロトコル
 
AtCoder Beginner Contest 015 解説
AtCoder Beginner Contest 015 解説AtCoder Beginner Contest 015 解説
AtCoder Beginner Contest 015 解説
 

Similaire à 暗認本読書会13 advanced

暗号技術の実装と数学
暗号技術の実装と数学暗号技術の実装と数学
暗号技術の実装と数学
MITSUNARI Shigeo
 
ブロックチェーン系プロジェクトで着目される暗号技術
ブロックチェーン系プロジェクトで着目される暗号技術ブロックチェーン系プロジェクトで着目される暗号技術
ブロックチェーン系プロジェクトで着目される暗号技術
MITSUNARI Shigeo
 
Introduction to Locally Testable Codes and Related Topics (in Japanese)
Introduction to Locally Testable Codes and Related Topics (in Japanese)Introduction to Locally Testable Codes and Related Topics (in Japanese)
Introduction to Locally Testable Codes and Related Topics (in Japanese)
Nobutaka Shimizu
 
プログラミングコンテストでの乱択アルゴリズム
プログラミングコンテストでの乱択アルゴリズムプログラミングコンテストでの乱択アルゴリズム
プログラミングコンテストでの乱択アルゴリズムTakuya Akiba
 
University CodeSprint 4 - Magic value
University CodeSprint 4 - Magic valueUniversity CodeSprint 4 - Magic value
University CodeSprint 4 - Magic value
satanic
 
Computing for Isogeny Kernel Problem by Groebner Basis
Computing for Isogeny Kernel Problem by Groebner BasisComputing for Isogeny Kernel Problem by Groebner Basis
Computing for Isogeny Kernel Problem by Groebner Basis
Yasu Math
 
第15回 配信講義 計算科学技術特論B(2022)
第15回 配信講義 計算科学技術特論B(2022)第15回 配信講義 計算科学技術特論B(2022)
第15回 配信講義 計算科学技術特論B(2022)
RCCSRENKEI
 
Seccamp2020L1
Seccamp2020L1Seccamp2020L1
Seccamp2020L1
ChihiroSasaki3
 
PRML復々習レーン#3 3.1.3-3.1.5
PRML復々習レーン#3 3.1.3-3.1.5PRML復々習レーン#3 3.1.3-3.1.5
PRML復々習レーン#3 3.1.3-3.1.5
sleepy_yoshi
 
A Fast and Space-Efficient Algorithm for Calculating Deficient Numbers (a.k.a...
A Fast and Space-Efficient Algorithm for Calculating Deficient Numbers (a.k.a...A Fast and Space-Efficient Algorithm for Calculating Deficient Numbers (a.k.a...
A Fast and Space-Efficient Algorithm for Calculating Deficient Numbers (a.k.a...
Cryolite
 
A Fast and Space-Efficient Algorithm for Calculating Deficient Numbers (a.k.a...
A Fast and Space-Efficient Algorithm for Calculating Deficient Numbers (a.k.a...A Fast and Space-Efficient Algorithm for Calculating Deficient Numbers (a.k.a...
A Fast and Space-Efficient Algorithm for Calculating Deficient Numbers (a.k.a...
Cryolite
 
パターン認識と機械学習 13章 系列データ
パターン認識と機械学習 13章 系列データパターン認識と機械学習 13章 系列データ
パターン認識と機械学習 13章 系列データ
emonosuke
 
超複素数
超複素数超複素数
超複素数
Horiguchi Shuhei
 
情報オリンピック夏合宿発表
情報オリンピック夏合宿発表情報オリンピック夏合宿発表
情報オリンピック夏合宿発表
Kazuma Mikami
 
AtCoder Beginner Contest 008 解説
AtCoder Beginner Contest 008 解説AtCoder Beginner Contest 008 解説
AtCoder Beginner Contest 008 解説
AtCoder Inc.
 
ニューラル論文を読む前に
ニューラル論文を読む前にニューラル論文を読む前に
ニューラル論文を読む前に
Hayahide Yamagishi
 
[DL輪読会]Parallel WaveNet: Fast High-Fidelity Speech Synthesis
[DL輪読会]Parallel WaveNet: Fast High-Fidelity Speech Synthesis[DL輪読会]Parallel WaveNet: Fast High-Fidelity Speech Synthesis
[DL輪読会]Parallel WaveNet: Fast High-Fidelity Speech Synthesis
Deep Learning JP
 
Sized Linear Algebra Package のチュートリアル
Sized Linear Algebra Package のチュートリアルSized Linear Algebra Package のチュートリアル
Sized Linear Algebra Package のチュートリアル
Akinori Abe
 
自然言語処理のための機械学習入門1章
自然言語処理のための機械学習入門1章自然言語処理のための機械学習入門1章
自然言語処理のための機械学習入門1章
Hiroki Mizukami
 

Similaire à 暗認本読書会13 advanced (20)

暗号技術の実装と数学
暗号技術の実装と数学暗号技術の実装と数学
暗号技術の実装と数学
 
ブロックチェーン系プロジェクトで着目される暗号技術
ブロックチェーン系プロジェクトで着目される暗号技術ブロックチェーン系プロジェクトで着目される暗号技術
ブロックチェーン系プロジェクトで着目される暗号技術
 
Introduction to Locally Testable Codes and Related Topics (in Japanese)
Introduction to Locally Testable Codes and Related Topics (in Japanese)Introduction to Locally Testable Codes and Related Topics (in Japanese)
Introduction to Locally Testable Codes and Related Topics (in Japanese)
 
プログラミングコンテストでの乱択アルゴリズム
プログラミングコンテストでの乱択アルゴリズムプログラミングコンテストでの乱択アルゴリズム
プログラミングコンテストでの乱択アルゴリズム
 
University CodeSprint 4 - Magic value
University CodeSprint 4 - Magic valueUniversity CodeSprint 4 - Magic value
University CodeSprint 4 - Magic value
 
Computing for Isogeny Kernel Problem by Groebner Basis
Computing for Isogeny Kernel Problem by Groebner BasisComputing for Isogeny Kernel Problem by Groebner Basis
Computing for Isogeny Kernel Problem by Groebner Basis
 
第15回 配信講義 計算科学技術特論B(2022)
第15回 配信講義 計算科学技術特論B(2022)第15回 配信講義 計算科学技術特論B(2022)
第15回 配信講義 計算科学技術特論B(2022)
 
Seccamp2020L1
Seccamp2020L1Seccamp2020L1
Seccamp2020L1
 
PRML復々習レーン#3 3.1.3-3.1.5
PRML復々習レーン#3 3.1.3-3.1.5PRML復々習レーン#3 3.1.3-3.1.5
PRML復々習レーン#3 3.1.3-3.1.5
 
A Fast and Space-Efficient Algorithm for Calculating Deficient Numbers (a.k.a...
A Fast and Space-Efficient Algorithm for Calculating Deficient Numbers (a.k.a...A Fast and Space-Efficient Algorithm for Calculating Deficient Numbers (a.k.a...
A Fast and Space-Efficient Algorithm for Calculating Deficient Numbers (a.k.a...
 
A Fast and Space-Efficient Algorithm for Calculating Deficient Numbers (a.k.a...
A Fast and Space-Efficient Algorithm for Calculating Deficient Numbers (a.k.a...A Fast and Space-Efficient Algorithm for Calculating Deficient Numbers (a.k.a...
A Fast and Space-Efficient Algorithm for Calculating Deficient Numbers (a.k.a...
 
パターン認識と機械学習 13章 系列データ
パターン認識と機械学習 13章 系列データパターン認識と機械学習 13章 系列データ
パターン認識と機械学習 13章 系列データ
 
超複素数
超複素数超複素数
超複素数
 
情報オリンピック夏合宿発表
情報オリンピック夏合宿発表情報オリンピック夏合宿発表
情報オリンピック夏合宿発表
 
AtCoder Beginner Contest 008 解説
AtCoder Beginner Contest 008 解説AtCoder Beginner Contest 008 解説
AtCoder Beginner Contest 008 解説
 
ニューラル論文を読む前に
ニューラル論文を読む前にニューラル論文を読む前に
ニューラル論文を読む前に
 
[DL輪読会]Parallel WaveNet: Fast High-Fidelity Speech Synthesis
[DL輪読会]Parallel WaveNet: Fast High-Fidelity Speech Synthesis[DL輪読会]Parallel WaveNet: Fast High-Fidelity Speech Synthesis
[DL輪読会]Parallel WaveNet: Fast High-Fidelity Speech Synthesis
 
6 Info Theory
6 Info Theory6 Info Theory
6 Info Theory
 
Sized Linear Algebra Package のチュートリアル
Sized Linear Algebra Package のチュートリアルSized Linear Algebra Package のチュートリアル
Sized Linear Algebra Package のチュートリアル
 
自然言語処理のための機械学習入門1章
自然言語処理のための機械学習入門1章自然言語処理のための機械学習入門1章
自然言語処理のための機械学習入門1章
 

Plus de MITSUNARI Shigeo

暗認本読書会9
暗認本読書会9暗認本読書会9
暗認本読書会9
MITSUNARI Shigeo
 
Intel AVX-512/富岳SVE用SIMDコード生成ライブラリsimdgen
Intel AVX-512/富岳SVE用SIMDコード生成ライブラリsimdgenIntel AVX-512/富岳SVE用SIMDコード生成ライブラリsimdgen
Intel AVX-512/富岳SVE用SIMDコード生成ライブラリsimdgen
MITSUNARI Shigeo
 
暗認本読書会8
暗認本読書会8暗認本読書会8
暗認本読書会8
MITSUNARI Shigeo
 
暗認本読書会7
暗認本読書会7暗認本読書会7
暗認本読書会7
MITSUNARI Shigeo
 
暗認本読書会5
暗認本読書会5暗認本読書会5
暗認本読書会5
MITSUNARI Shigeo
 
深層学習フレームワークにおけるIntel CPU/富岳向け最適化法
深層学習フレームワークにおけるIntel CPU/富岳向け最適化法深層学習フレームワークにおけるIntel CPU/富岳向け最適化法
深層学習フレームワークにおけるIntel CPU/富岳向け最適化法
MITSUNARI Shigeo
 
私とOSSの25年
私とOSSの25年私とOSSの25年
私とOSSの25年
MITSUNARI Shigeo
 
WebAssembly向け多倍長演算の実装
WebAssembly向け多倍長演算の実装WebAssembly向け多倍長演算の実装
WebAssembly向け多倍長演算の実装
MITSUNARI Shigeo
 
HPC Phys-20201203
HPC Phys-20201203HPC Phys-20201203
HPC Phys-20201203
MITSUNARI Shigeo
 
LazyFP vulnerabilityの紹介
LazyFP vulnerabilityの紹介LazyFP vulnerabilityの紹介
LazyFP vulnerabilityの紹介
MITSUNARI Shigeo
 
Intro to SVE 富岳のA64FXを触ってみた
Intro to SVE 富岳のA64FXを触ってみたIntro to SVE 富岳のA64FXを触ってみた
Intro to SVE 富岳のA64FXを触ってみた
MITSUNARI Shigeo
 
ゆるバグ
ゆるバグゆるバグ
ゆるバグ
MITSUNARI Shigeo
 
集約署名
集約署名集約署名
集約署名
MITSUNARI Shigeo
 
A compact zero knowledge proof to restrict message space in homomorphic encry...
A compact zero knowledge proof to restrict message space in homomorphic encry...A compact zero knowledge proof to restrict message space in homomorphic encry...
A compact zero knowledge proof to restrict message space in homomorphic encry...
MITSUNARI Shigeo
 
Spectre/Meltdownとその派生
Spectre/Meltdownとその派生Spectre/Meltdownとその派生
Spectre/Meltdownとその派生
MITSUNARI Shigeo
 
Practical Two-level Homomorphic Encryption in Prime-order Bilinear Groups
Practical Two-level Homomorphic Encryption in Prime-order Bilinear GroupsPractical Two-level Homomorphic Encryption in Prime-order Bilinear Groups
Practical Two-level Homomorphic Encryption in Prime-order Bilinear Groups
MITSUNARI Shigeo
 

Plus de MITSUNARI Shigeo (16)

暗認本読書会9
暗認本読書会9暗認本読書会9
暗認本読書会9
 
Intel AVX-512/富岳SVE用SIMDコード生成ライブラリsimdgen
Intel AVX-512/富岳SVE用SIMDコード生成ライブラリsimdgenIntel AVX-512/富岳SVE用SIMDコード生成ライブラリsimdgen
Intel AVX-512/富岳SVE用SIMDコード生成ライブラリsimdgen
 
暗認本読書会8
暗認本読書会8暗認本読書会8
暗認本読書会8
 
暗認本読書会7
暗認本読書会7暗認本読書会7
暗認本読書会7
 
暗認本読書会5
暗認本読書会5暗認本読書会5
暗認本読書会5
 
深層学習フレームワークにおけるIntel CPU/富岳向け最適化法
深層学習フレームワークにおけるIntel CPU/富岳向け最適化法深層学習フレームワークにおけるIntel CPU/富岳向け最適化法
深層学習フレームワークにおけるIntel CPU/富岳向け最適化法
 
私とOSSの25年
私とOSSの25年私とOSSの25年
私とOSSの25年
 
WebAssembly向け多倍長演算の実装
WebAssembly向け多倍長演算の実装WebAssembly向け多倍長演算の実装
WebAssembly向け多倍長演算の実装
 
HPC Phys-20201203
HPC Phys-20201203HPC Phys-20201203
HPC Phys-20201203
 
LazyFP vulnerabilityの紹介
LazyFP vulnerabilityの紹介LazyFP vulnerabilityの紹介
LazyFP vulnerabilityの紹介
 
Intro to SVE 富岳のA64FXを触ってみた
Intro to SVE 富岳のA64FXを触ってみたIntro to SVE 富岳のA64FXを触ってみた
Intro to SVE 富岳のA64FXを触ってみた
 
ゆるバグ
ゆるバグゆるバグ
ゆるバグ
 
集約署名
集約署名集約署名
集約署名
 
A compact zero knowledge proof to restrict message space in homomorphic encry...
A compact zero knowledge proof to restrict message space in homomorphic encry...A compact zero knowledge proof to restrict message space in homomorphic encry...
A compact zero knowledge proof to restrict message space in homomorphic encry...
 
Spectre/Meltdownとその派生
Spectre/Meltdownとその派生Spectre/Meltdownとその派生
Spectre/Meltdownとその派生
 
Practical Two-level Homomorphic Encryption in Prime-order Bilinear Groups
Practical Two-level Homomorphic Encryption in Prime-order Bilinear GroupsPractical Two-level Homomorphic Encryption in Prime-order Bilinear Groups
Practical Two-level Homomorphic Encryption in Prime-order Bilinear Groups
 

Dernier

生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
Osaka University
 
無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.
無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.
無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.
Yuki Miyazaki
 
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMMハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
osamut
 
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
嶋 是一 (Yoshikazu SHIMA)
 
Humanoid Virtual Athletics Challenge2024 技術講習会 スライド
Humanoid Virtual Athletics Challenge2024 技術講習会 スライドHumanoid Virtual Athletics Challenge2024 技術講習会 スライド
Humanoid Virtual Athletics Challenge2024 技術講習会 スライド
tazaki1
 
ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識
ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識
ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識
sugiuralab
 
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobodyロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
azuma satoshi
 
【JSAI2024】LLMエージェントの人間との対話における反芻的返答の親近感向上効果_v1.1.pdf
【JSAI2024】LLMエージェントの人間との対話における反芻的返答の親近感向上効果_v1.1.pdf【JSAI2024】LLMエージェントの人間との対話における反芻的返答の親近感向上効果_v1.1.pdf
【JSAI2024】LLMエージェントの人間との対話における反芻的返答の親近感向上効果_v1.1.pdf
ARISE analytics
 
協働AIがもたらす業務効率革命 -日本企業が押さえるべきポイント-Collaborative AI Revolutionizing Busines...
協働AIがもたらす業務効率革命 -日本企業が押さえるべきポイント-Collaborative AI Revolutionizing Busines...協働AIがもたらす業務効率革命 -日本企業が押さえるべきポイント-Collaborative AI Revolutionizing Busines...
協働AIがもたらす業務効率革命 -日本企業が押さえるべきポイント-Collaborative AI Revolutionizing Busines...
Osaka University
 

Dernier (9)

生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
 
無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.
無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.
無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.
 
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMMハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
 
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
 
Humanoid Virtual Athletics Challenge2024 技術講習会 スライド
Humanoid Virtual Athletics Challenge2024 技術講習会 スライドHumanoid Virtual Athletics Challenge2024 技術講習会 スライド
Humanoid Virtual Athletics Challenge2024 技術講習会 スライド
 
ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識
ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識
ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識
 
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobodyロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
 
【JSAI2024】LLMエージェントの人間との対話における反芻的返答の親近感向上効果_v1.1.pdf
【JSAI2024】LLMエージェントの人間との対話における反芻的返答の親近感向上効果_v1.1.pdf【JSAI2024】LLMエージェントの人間との対話における反芻的返答の親近感向上効果_v1.1.pdf
【JSAI2024】LLMエージェントの人間との対話における反芻的返答の親近感向上効果_v1.1.pdf
 
協働AIがもたらす業務効率革命 -日本企業が押さえるべきポイント-Collaborative AI Revolutionizing Busines...
協働AIがもたらす業務効率革命 -日本企業が押さえるべきポイント-Collaborative AI Revolutionizing Busines...協働AIがもたらす業務効率革命 -日本企業が押さえるべきポイント-Collaborative AI Revolutionizing Busines...
協働AIがもたらす業務効率革命 -日本企業が押さえるべきポイント-Collaborative AI Revolutionizing Busines...
 

暗認本読書会13 advanced

  • 1. 暗認本読書会13 advanced 準同型暗号, DDH, ZKPおかわり 2021/12/23 https://anninbon.connpass.com/ 光成滋生
  • 2. • 楕円曲線 • 演算 • ECDLPとECDH • 楕円ElGamal暗号 • 楕円Lifted-ElGamal暗号 • 準同型暗号 • 安全性とDDH • ZKP • Σプロトコル • 𝐷𝑒𝑐 𝑐 = 0の場合 • Fiat-Shamir heuristic 目次
  • 3. • このスライドで使う共通の記号 • 𝐸 : 楕円曲線, 𝑃 : 𝐸上の点 • 𝐺 = {0, 𝑃, 2𝑃, … , 𝑝 − 1 𝑃}とする(𝑝𝑃 = 0) • トーラス上を巻きつきながら進み𝑝倍すると𝑂に戻る • 計算が容易なもの 楕円曲線の性質の復習 スカラー倍 𝑎 𝑃 𝑎𝑃 加算 𝑎𝑃 𝑏𝑃 𝑎 + 𝑏 𝑃
  • 4. • 楕円離散対数問題ECDLP(Discrete Logarithm Problem) • 与えられた𝑃, 𝑄 ∈ 𝐺に対して𝑄 = 𝑎𝑃となる𝑎を求める • 𝑎 = log𝑃 𝑄と表す • ECDHP(Diffie Hellman Problem) • 与えられた𝑃, 𝑎𝑃, 𝑏𝑃に対して𝑎𝑏𝑃を求める • 楕円曲線暗号はECDLPやECDHPが困難なことを仮定 楕円曲線暗号で使う計算困難な問題 DLP 𝑃 𝑎𝑃 𝑎 × DHP 𝑎𝑃 𝑏𝑃 𝑎𝑏𝑃 ×
  • 5. • 鍵生成 • 𝑠 : 秘密鍵, 𝑄 = 𝑠𝑃 : 公開鍵 • 暗号化 • 平文は楕円曲線の点𝑀 ∈ 𝐺 乱数𝑟をとり𝐸𝑛𝑐 𝑀 = (𝑀 + 𝑟𝑄, 𝑟𝑃) とする • 復号 • 暗号文𝐶 = (𝐴, 𝐵)に対して𝐷𝑒𝑐 𝐶 = 𝐴 − 𝑠𝐵とする • 正当性 • 暗号化して復号したら元に戻ること • 𝐷𝑒𝑐 𝐸𝑛𝑐 𝑀 = 𝐷𝑒𝑐 𝑀 + 𝑟𝑄, 𝑟𝑃 = (𝑀 + 𝑟𝑄) − 𝑠 𝑟𝑃 = 𝑀 • 注意 • 暗号文が整数でなく楕円曲線の点なのに注意(使いづらい) 楕円ElGamal暗号
  • 6. • 攻撃者は公開鍵と暗号文を知っている • 𝑃, 𝑄 = 𝑠𝑃, 𝐸𝑛𝑐 𝑀 = (𝑀 + 𝑟𝑄, 𝑟𝑃) • 𝑃と𝑄 = 𝑠𝑃と𝑟𝑃から𝑟𝑄 = 𝑟𝑠𝑃を求められると𝑀が分かる • 「𝑃, 𝑠𝑃, 𝑟𝑃から𝑟𝑠𝑃」これはECDHP 楕円ElGamal暗号の安全性
  • 7. • 平文を楕円曲線ではなく整数𝑚とする 𝑀の代わりに𝑚𝑃を使う • 鍵生成(前ページと同じ) • 𝑠 : 秘密鍵, 𝑄 = 𝑠𝑃 : 公開鍵 • 暗号化 • 平文𝑚に対し, 乱数𝑟をとって𝐸𝑛𝑐 𝑚; 𝑟 = (𝑚𝑃 + 𝑟𝑄, 𝑟𝑃)とする • 𝑟を省略して𝐸𝑛𝑐(𝑚)とも書く • 復号 • 暗号文𝐶 = (𝐴, 𝐵)に対して𝑑𝑒𝑐 𝐶 = 𝐴 − 𝑠𝐵とする • 𝑑𝑒𝑐 𝐸𝑛𝑐 𝑚 = 𝑚𝑃 + 𝑟𝑄 − 𝑠 𝑟𝑃 = 𝑚𝑃なので復号ではない 𝐷𝑒𝑐 𝐶 = log𝑃 𝑑𝑒𝑐 𝐶 とすると • 𝐷𝑒𝑐 𝐸𝑛𝑐 𝑚 = log𝑝 𝑚𝑃 = 𝑚となり戻る 楕円Lifted-ElGamal暗号
  • 8. • 𝐷𝑒𝑐 𝐶 = log𝑃(𝑑𝑒𝑐 𝐶 )っておかしくね? • 𝑚𝑃から𝑚を求めるのにDLPを使ってる • DLPが難しいんじゃなかったのか • 答え • Yes. • だから楕円Lifted ElGamal暗号は 「𝑚が大きくない」範囲しか使えない • 𝑚 ≤ 232程度なら実用的に使える程度に求められる • 数十MBのテーブルを使うが • その代わりに面白い性質が成り立つ 疑問
  • 9. • 再掲載 • 鍵生成 𝑠 : 秘密鍵, 𝑄 = 𝑠𝑃 : 公開鍵 • 暗号化 𝐸𝑛𝑐 𝑚; 𝑟 = (𝑚𝑃 + 𝑟𝑄, 𝑟𝑃) ; 𝑟は乱数 • 復号𝐷𝑒𝑐( 𝐴, 𝐵 = log𝑝 𝐴 − 𝑠𝐵 • 2個の暗号文𝐸𝑛𝑐 𝑚1; 𝑟1 , 𝐸𝑛𝑐(𝑚2; 𝑟2)を考える • それらの要素ごとの足し算をやってみる • 𝐸𝑛𝑐 𝑚1; 𝑟1 + 𝐸𝑛𝑐 𝑚2; 𝑟2 = 𝑚1𝑃 + 𝑟1𝑄, 𝑟1𝑃 + 𝑚2𝑃 + 𝑟2𝑄, 𝑟2𝑃 = 𝑚1𝑃 + 𝑚2𝑃 + 𝑟1𝑄 + 𝑟2𝑄, 𝑟1𝑃 + 𝑟2𝑃 = 𝑚1 + 𝑚2 𝑃 + 𝑟1 + 𝑟2 𝑄, 𝑟1 + 𝑟2 𝑃 = 𝐸𝑛𝑐(𝑚1 + 𝑚2; 𝑟1 + 𝑟2) • 暗号文同士を足したら平文同士を足した結果の暗号文! • 加法準同型暗号 Lifted ElGamal暗号は加法準同型暗号
  • 10. • 攻撃者と挑戦者アリスのゲームIND(istinguishability) • 攻撃者が2個の平文𝑚1, 𝑚2を選びアリスに渡す • アリスはどちらかの平文を選び、その暗号文𝑐を攻撃者に渡す • 攻撃者は暗号文𝑐がどちらの平文を暗号化したものか当てる • 当てたら攻撃者の勝ち(攻撃成功) • 攻撃者に非常に有利なゲーム • 攻撃の種類 • 選択平文攻撃CPA • 自分が選んだ平文の暗号文を取得できる(PKEはいつでも可能) • 選択暗号文攻撃CCA(Chosen Ciphertext Attack) • 自分が選んだ暗号文(≠ターゲット暗号文)の平文を取得できる 公開鍵暗号PKEに求められる安全性要件
  • 11. • CCA1 ; ゲーム開始前に情報収集可 • CCA2 ; ゲーム開始後に情報収集可(適応的CCA) • CCA1/2に対してアリスが勝つならIND-CCA1/2安全 • 準同型暗号はIND-CCA2安全にはなり得ない • 攻撃者は𝑐に対して𝑐′ = 𝑐 + 𝐸𝑛𝑐(0)の答えを教えてもらえる • 準同型演算するために「評価鍵」が必要なHEもある IND-CCA1とIND-CCA2
  • 12. • Lifted ElGamal暗号 • 𝑑𝑒𝑐 𝑐 = 0か否か当てられてはいけない(IND-CPA) • 𝐸𝑛𝑐 0; 𝑟 = 𝑟𝑄, 𝑟𝑃 • 𝐸𝑛𝑐 𝑚; 𝑟 = (𝑚𝑃 + 𝑟𝑄, 𝑟𝑃) • 暗号文の一つ目の成分を𝑇 = 𝑚𝑃 + 𝑟𝑄とすると • 「𝑃, 𝑠𝑃, 𝑟𝑃, 𝑇」givenで𝑇 = 𝑟𝑠𝑃か否か判れば 𝑑𝑒𝑐 𝑐 = 0か≠ 0か判別できる→安全でない • DDH(Decisional DH) • 「𝑃, 𝑎𝑃, 𝑏𝑃, 𝑇」givenのとき「𝑇 = 𝑎𝑏𝑃か否か」を判定せよ • 従来のDHはCDH(Computational DH)という • DDHが困難ならLifted ElGamal暗号はIND-CPA安全 Lifted ElGamal暗号で考えてみると
  • 13. • 準同型暗号で投票しよう • 賛成(1)か反対(0)の暗号文を集計サーバに送る • 集計してから復号 • 攻撃者が𝐸𝑛𝑐(10)を 送ったら? • 要件 • 暗号文𝑐が𝐷𝑒𝑐 𝑐 ∈ {0,1}であることは知りたい • でも、どちらかは知りたくない/知られないようにしたい • 「確認する人Cに暗号文𝑐を渡して正しく復号していること」 𝐷𝑒𝑐 𝑐 = 𝑚を確認したい • 𝐷𝑒𝑐 𝑐 − 𝐸𝑛𝑐 𝑚 = 0だから𝐷𝑒𝑐 𝑐 = 0だけ分かれば十分 ゼロ知識証明ZKP
  • 14. • 公開情報𝑋に対応する秘密の知識𝑊であることを 𝑋, 𝑊 ∈ 𝑅と表す(Rはrelation) • 例 : 𝑄 = 𝑥𝑃のとき𝑋 = (𝑃, 𝑄), 𝑊 = 𝑥, Rは𝐷𝐿𝑃𝑃 Σプロトコル judge 𝐴 証明者P : 𝑊を知っている 検証者V 乱数ℎ 𝐵 受理 or 拒絶 𝑋の共有
  • 15. • 完全性 • 証明者Pが 𝑋, 𝑊 ∈ 𝑅となる𝑊を知っていたら検証者Vは受理 • 健全性 • 𝐴, ℎ, 𝐵 , (𝐴, ℎ′, 𝐵′) (ℎ ≠ ℎ′)が受理されれば 𝑋, 𝑊 ∈ 𝑅となる𝑊 を計算できる • (special honest-verifier) ゼロ知識性 • 𝑊を知らずに𝑋に対して受理する(𝐴, ℎ, 𝐵)を本物そっくりにシ ミュレートする𝑀がある • (𝐴, ℎ, 𝐵)の情報は𝑊が無くても得られるものと同じと考える Σプロトコルの要件
  • 16. • 公開鍵𝑋 = (𝑄, 𝑃), 𝑄 = 𝑠𝑃, 暗号文𝐶 = 𝑆, 𝑇 = (𝑟𝑄, 𝑟′𝑃) • 𝐷𝑒𝑐 𝐶 = 0であるためには𝑟𝑄 − 𝑠𝑟′ 𝑃 = 0つまり𝑟 = 𝑟′ • (秘密鍵𝑠を持つ)証明者P : 𝑟は未知だが𝑟 = 𝑟′は分かる • P→V : 乱数𝑡をとり𝐴 = (𝑡𝑇, 𝑡𝑃)を送る • V→P : 乱数ℎを送る • P→V : 𝑏 = 𝑡 − ℎ𝑠を送りVはℎ(𝑆, 𝑄) + 𝑏(𝑇, 𝑃) = 𝐴なら受理 • 完全性 • 正しければ𝑙ℎ𝑠 = ℎ𝑟𝑠𝑃, ℎ𝑠𝑃 + (𝑏𝑟𝑃, 𝑏𝑃) = (𝑡𝑟𝑃, 𝑡𝑃) • 健全性 • 𝐴, ℎ, 𝑏 , (𝐴, ℎ′, 𝑏′)を受理(ℎ ≠ ℎ′)すれば𝐶 = (𝑟𝑠′𝑃, 𝑟𝑃)に対して ℎ 𝑟𝑠′𝑃, 𝑠𝑃 + 𝑏 𝑟𝑃, 𝑃 = 𝐴 = ℎ′ 𝑟𝑠′𝑃, 𝑠𝑃 + 𝑏′(𝑟𝑃, 𝑃)より ℎ𝑟𝑠′ + 𝑏𝑟 = ℎ′𝑟𝑠′ + 𝑏′𝑟, ℎ𝑠 + 𝑏 = ℎ′𝑠 + 𝑏′より𝑠 = 𝑠′ 𝐷𝑒𝑐 𝐶 = 0のΣプロトコル
  • 17. • 乱数ℎ, 𝑏をとり𝑡 = 𝑏 + ℎ𝑠, 𝐴 = (𝑡𝑟𝑃, 𝑡𝑃)とすると (𝐴, ℎ, 𝑏)は受理される • ℎ 𝑟𝑄, 𝑄 + 𝑏 𝑟𝑃, 𝑃 = ℎ𝑟𝑠 + 𝑏𝑟 𝑃, ℎ𝑠 + 𝑏 𝑃 = (𝑡𝑟𝑃, 𝑡𝑃) シミュレータ
  • 18. • Σプロトコルで検証者が乱数ℎを送る代わりに パラメータのハッシュ値を利用する • 証明者がℎを制御できないなら検証者が乱数を送らなくてもよ いのではという理屈 • ハッシュ関数が理想形であるランダムオラクルモデルを仮定 • 証明者Pが証明𝜋を送るだけでよくなる • 対話証明の非対話化 Fiat-Shamir heuristic
  • 19. • 再掲 : 公開情報𝑋 = (𝑄, 𝑃), 𝑄 = 𝑠𝑃, 暗号文𝐶 = (𝑆, 𝑇) • P→V : 乱数𝑡をとり𝐴 = (𝑡𝑇, 𝑡𝑃)を送る • V→P : 乱数ℎを送る • P→V : 𝑏 = 𝑡 − ℎ𝑠を送りVはℎ(𝑆, 𝑄) + 𝑏(𝑇, 𝑃) = 𝐴なら受理 • FS変換 • 証明者 : 乱数𝑡を𝐴 = (𝑡𝑇, 𝑡𝑃), ℎ = 𝐻(𝑋, 𝐶, 𝐴)とする 𝑏 = 𝑡 − ℎ𝑠として𝜋 = (ℎ, 𝑏)を検証者に送る • 検証者 : 𝐴′ = ℎ(𝑆, 𝑄) + 𝑏(𝑇, 𝑃), 𝐻 𝑋, 𝐶, 𝐴′ = ℎなら受理 • 𝐶 = (𝑟𝑠′ 𝑃, 𝑟𝑃)に対して𝜋 = (ℎ, 𝑏)を受理したら 𝐴′ = (ℎ𝑟𝑠′𝑃 + 𝑏𝑟𝑃, ℎ𝑠𝑃 + 𝑏𝑃). 𝑡 = 𝑏 + ℎ𝑠とすると ℎ𝑟𝑠′ + 𝑏𝑟 = 𝑡 + ℎ 𝑠′ − 𝑠 𝑟なので 𝐻 𝑋, 𝐶, 𝑡 + ℎ 𝑠′ − 𝑠 𝑇, 𝑡𝑃 = ℎ → 𝑠′ = 𝑠 𝐷𝑒𝑐 𝑐 = 0のZKP 19 / 19