SlideShare uma empresa Scribd logo
1 de 22
Baixar para ler offline
秘密計算
佐久間淳『データ解析におけるプライバシー保護』
2017/3/10, 4/21, 5/26
光成滋生
• 『データ解析におけるプライバシー保護』
• 10章以降 ; 以降PPinDAと略
• 複数人(パーティ)が互いに自分の情報を隠したまま
複数入力のある関数の値を計算すること
• 2-partyの例)𝑓(𝑥, 𝑦) ; ある関数 Aが𝑥, Bが𝑦を持っている
A, Bが互いに𝑥, 𝑦を見せずに𝑓(𝑥, 𝑦)を求める
• 注意
• A, Bそれぞれが異なる関数の値
𝑓𝐴 𝑥, 𝑦 , 𝑓𝐵(𝑥, 𝑦)を得るタイプもある
• たとえばAとっての𝑓(𝑥, 𝑦)から𝑦の
推測可能性は気にしない(詳細は後述)
• 例えば𝑓 𝑥, 𝑦 = 𝑥 + 𝑦ならばれてしまう
マルチパーティ秘密計算(MPC)
秘密の計算
A
𝑥
B
𝑦
𝑓(𝑥, 𝑦)
2/ 22
• オンライン広告の事例
• A : メールアドレスごとのweb閲覧履歴を持つ会社
• B : メールアドレスごとの購買履歴を持つ会社
• 目的
• Aには購買履歴は教えない
• Bには閲覧履歴を教えない
• Bはどのページを見た人が何を購入したかの傾向を知りたい
• 注意
• ある商品を購入した人が一人ならBはその人の閲覧履歴が分か
ってしまう
• MPCの範疇外 ; これは差分プライバシーで守る範囲
• 日本の個人情報保護法は「匿名加工情報を個人が特定できる
別の情報に結びつけることを禁止」PPinDA p.155
具体例
3/ 22
• semi-honest model
• パーティのそれぞれは定められたプロトコルにきちんと従う
• 自分が取得した情報から最大限、他人の情報を取ろうとする
• malicious model
• なんでもあり
• プロトコルの途中で嘘をついたり途中で止めたりする
• semi-honestをmalicious対応させる一般的な手法がある
• 結託
• 3人以上のMPCでは複数人が互いの情報を共有し、残りの人の
情報を得ようとすることもある
MPCの攻撃者のモデル
4/ 22
• 正当性
• 正しく𝑓を計算すること
• 秘匿性
• 𝑓以外の情報が漏れないこと
• 情報が漏れていないとは
• Aが𝑓(𝑥, 𝑦)を得るときにBとやりとりしたとき
• Bの値𝑦を知らないシミュレータとAがやりとりしたとき
• この二つをAが区別できないとき情報が漏れていないという
• 区別できない
• 情報理論的識別不可能性
• 計算量的識別不可能性
正当性と秘匿性
5/ 22
• 差分プライバシー
• 背景知識と取得した結果から秘密の情報を推測させない
• 攻撃者が不正なことをすることは仮定しない
• 秘密計算
• 結果以外の情報を与えない
• 攻撃者が不正なことをすると仮定する(こともある)
差分プライバシーと秘密計算
6/ 22
• 公開鍵暗号の定式化
• セキュリティパラメータ𝑘 : 平文の空間が2 𝑘
• 鍵生成アルゴリズム
• 𝐺𝑒𝑛 1 𝑘 → 𝑝𝑘, 𝑠𝑘
• 𝑘を決めると公開鍵𝑝𝑘と秘密鍵𝑠𝑘のペアを生成する
• 暗号化アルゴリズム
• 𝐸𝑛𝑐 𝑥, 𝑝𝑘 → 𝑐
• 平文𝑥と公開鍵𝑝𝑘により暗号文𝑐を生成する
• 復号アルゴリズム
• 𝐷𝑒𝑐 𝑐, 𝑠𝑘 → 𝑥
• 暗号文𝑐と秘密鍵𝑠𝑘から平文𝑥を生成する
• 正当性
• 𝐷𝑒𝑐 𝐸𝑛𝑐 𝑥, 𝑝𝑘 , 𝑠𝑘 = 𝑥
11章秘密鍵暗号と公開鍵暗号
7/ 22
• 二つの平文𝑥1, 𝑥2に対してその暗号文𝐸𝑛𝑐(𝑥𝑖)を見ても
どちらがどちらか分からない
• より正確な定式化
• セキュリティパラメータ𝑘に対して任意の確率的多項式時間ア
ルゴリズム𝒜: 0,1 𝑙 𝑘 → {0,1}, 𝑥1, 𝑥2 ∈ 0,1 𝑘に対して
Pr 𝒜1 𝐸𝑛𝑐 𝑥1 = 1 − Pr 𝒜2 𝐸𝑛𝑐 𝑥2 = 1 < negl(𝑘)
• 𝒜𝑖は𝐸𝑛𝑐(𝑥𝑖)が与えられたときに平文が𝑥𝑖と判定したら1を返
すアルゴリズム
• DL ; find 𝑎 if 𝑃, 𝑎𝑃 of elliptic curve are given
• (C)DH ; find 𝑎𝑏𝑃 if 𝑃, 𝑎𝑃, 𝑏𝑃 are given
• DDH ; detect whether 𝑎𝑏𝑃 = 𝑐𝑃 or not if 𝑃, 𝑎𝑃, 𝑏𝑃, 𝑐𝑃
暗号文の計算量的識別不可能性(IND)
8/ 22
• 選択平文攻撃(CPA : Chosen Plaintext Attack)
• 攻撃者が暗号文を受けとる前後に、攻撃者が任意に選んだ平
文に対する暗号文を取得可能な状態を想定
• 選択暗号文攻撃(CCA : Chosen Ciphertext Attack)
• 攻撃者が暗号文𝑐を受け取る前に、攻撃者が任意に選んだ𝑐以
外の暗号文に対する平文を取得可能な状態を想定
• 適応的選択暗号文攻撃(CCA2)
• CCAと「暗号文𝑐を受け取る前後に」が違う
攻撃者のモデル
9/ 22
• IND-CPA
• CPAに対してINDである(区別できない)
• 公開鍵暗号はだれでも任意の平文の暗号文を作れるのでこれ
は必須
• (注意)教科書的RSAはIND-CPAではない
• IND-CCAならIND-CPAがいえる
• IND-CCA, IND-CCA2
• IND-CCA2が理想
• IND-CCA2なら暗号文の改竄ができないことが知られている
• 𝐸𝑛𝑐(1万円)を𝐸𝑛𝑐(10万円)に変えられない(頑強性)
• 詳細は『クラウドを支えるこれからの暗号技術』参照
公開鍵暗号の安全性
10/ 22
• 加法準同型暗号
• 𝐷𝑒𝑐 𝐸𝑛𝑐 𝑥1 ⊕ 𝐸𝑛𝑐 𝑥2 = 𝑥1 + 𝑥2
• 乗法準同型暗号
• 𝐷𝑒𝑐 𝐸𝑛𝑐 𝑥1 ⊗ 𝐸𝑛𝑐 𝑥2 = 𝑥1 𝑥2
• 完全準同型暗号
• 加法+乗法
• 安全性
• 𝐸𝑛𝑐(𝑥)から𝐸𝑛𝑐(2𝑥)または𝐸𝑛𝑐(𝑥2
)を作れる
• 頑強性を持たない
12章 準同型暗号による秘密計算
11/ 22
• 𝑛人の𝑖番目の人の心筋梗塞𝑥𝑖と喫煙習慣𝑦𝑖の情報
• 医療保険会社A : 𝑥𝑖 ∈ 0,1 (𝑖 = 1, … , 𝑛)
• 物販会社B : {𝑦𝑖 ∈ 0,1 }
• 互いに𝑥𝑖, 𝑦𝑖を送らずに分割表を作りたい
• A ; 𝑛1, 𝑛2を自分で計算可能
• B ; 𝑛 𝐴, 𝑛 𝑎を自分で計算可能
• これらの情報を互いに送信
• 𝑛1𝐴 = ∑𝑥𝑖 𝑦𝑖を計算できれば分割表を求められる
分割表計算の2-party秘密計算
喫煙習慣あり 喫煙習慣なし 合計
心筋梗塞あり 𝑛1𝐴 𝑛1𝑎 𝑛1
心筋梗塞なし 𝑛2𝐴 𝑛2𝑎 𝑛2
𝑛 𝐴 𝑛 𝑎 𝑛
12/ 22
• Aが{𝑥𝑖},Bが{𝑦𝑖}を保持するとき秘密計算プロトコルを
してAは𝑛1𝐴 = ∑𝑥𝑖 𝑦𝑖を得るがBは何も得られない
• 𝐸𝑛𝑐 ∑𝑥𝑖 𝑦𝑖 = ∑𝐸𝑛𝑐 𝑥𝑖 𝑦𝑖 = ∑𝑦𝑖 𝐸𝑛𝑐(𝑥𝑖)
• この計算をBが行う
• 2-partyプロトコル
• AはBに公開鍵𝑝𝑘を送信
• Aは𝑐𝑖 = 𝐸𝑛𝑐(𝑥𝑖)をBに送信
• Bは𝑐 = ∑𝑦𝑖 𝑐𝑖 ⊕ 𝐸𝑛𝑐(0)をAに送信
• Aは𝐷𝑒𝑐 𝑐 = ∑𝑥𝑖 𝑦𝑖を取得
• 注意
• 𝐸𝑛𝑐(0)を足すのはランダム化のため
• Aが𝑥 = (0, … , 1, … 0) ; 𝑖番目のみ1を送ると𝑦𝑖が分かってしまう
分割表の秘密計算
13/ 22
• A, Bが第三者Cに計算してもらう場合
• 𝐸𝑛𝑐 𝑛1𝐴 = 𝐸𝑛𝑐 ∑𝑥𝑖 𝑦𝑖 = ∑𝐸𝑛𝑐(𝑥𝑖) ⊗ 𝐸𝑛𝑐(𝑦𝑖)
• Aが𝐸𝑛𝑐(𝑥𝑖)を, Bが𝐸𝑛𝑐(𝑦𝑖)をCに送信して和を計算してもらい
Aに戻してもらう
• Aは復号して𝑛1𝐴を得る
• 注意
• Aは𝐸𝑛𝑐(𝑦𝑖)を復号できるのでBがCに送るときはAに見えない
ようにしないといけない
依頼計算型の分割表計算
14/ 22
• 事前条件
• Aliceは𝑥1, … , 𝑥 𝑛を持っている
• Bobは𝑖 = 1, … , 𝑛のどれか𝑖0を選ぶ
• OTの後
• AliceはBobが選んだ数字は分からない
• Bobは𝑥𝑖0
を得るがそれ以外の𝑥𝑖(𝑖 ≠ 𝑖0)の情報は得られない
紛失通信OT(Oblivious Transfer)
Alice
𝑥1, … , 𝑥 𝑛
Bob
𝑥𝑖0
𝑖0を選択
15/ 22
• 1-out-of 2 OT
• Aliceは𝑥0と𝑥1を持っている
• Bobは𝑏 ∈ {0,1}を選ぶ
楕円曲線で1-out-of 2 OT
Alice 𝑥0, 𝑥1 Bob
𝑏 ∈ {0,1}を選ぶ
𝐶:楕円曲線の点
𝐶
𝑘 : 乱数
𝑄 = ቊ
𝑘𝑃, 𝑏 = 0
𝐶 − 𝑘𝑃, 𝑏 = 1
𝑄𝑟 : 乱数
𝑍0 = 𝐻 𝑟𝑄, 0 ⊕ 𝑥0
𝑍1 = 𝐻 𝑟(𝐶 − 𝑄), 1 ⊕ 𝑥1 𝑍0, 𝑍1, 𝑟𝑃
𝑏 = 0 → 𝐻 𝑘𝑟𝑃, 0 ⊕ 𝑍0 = 𝑥0
𝑏 = 1 → 𝐻 𝑘𝑟𝑃, 1 ⊕ 𝑍1 = 𝑥1
16/ 22
• Bobは公開鍵暗号をセットアップ
• 正しさ
• 𝑏 = 0 → 𝑑0 = 𝑟0 𝐸𝑛𝑐 0 + 𝐸𝑛𝑐 𝑥0 = 𝐸𝑛𝑐(𝑥0)
• 𝑏 = 1 → 𝑑1 = 𝑟1 𝐸𝑛𝑐 1 − 𝐸𝑛𝑐 1 + 𝐸𝑛𝑐 𝑥1 = 𝐸𝑛𝑐(𝑥1)
加法準同型暗号で1-out-of-2 OT
𝑏 ∈ {0,1}を選び
𝑐 = 𝐸𝑛𝑐(𝑏)を送る
𝑐
Alice 𝑥0, 𝑥1
乱数𝑟0, 𝑟1を選ぶ
𝑑1 = 𝑟1 𝑐 − 𝐸𝑛𝑐 1 + 𝐸𝑛𝑐(𝑥1)
𝑑0 = 𝑟0 𝑐 + 𝐸𝑛𝑐 𝑥0
𝑑0, 𝑑1
𝑚 𝑏 ≔ 𝐷𝑒𝑐(𝑑 𝑏)
Bob
17/ 22
• 1-out-of-2 OTを使う
• Aliceは𝑋 = (𝑥𝑖𝑗), 𝑖, 𝑗 = 1,2の4個の情報を持つ
• 𝑌 = (𝑦𝑖𝑗)をランダムに選び𝑍 = 𝑋 ⊕ 𝑌とする
•
𝑥00 𝑥01
𝑥10 𝑥11
=
𝑦00 𝑦01
𝑦10 𝑦11
⊕
𝑧00 𝑧01
𝑧10 𝑧11
• Bobは0~4を2ビット(𝑏1 𝑏0)で表して選ぶ
1. { 𝑦00, 𝑦01 , 𝑦10, 𝑦11 }に対して𝑏0で1-out-of-2 OTを使う
2. { 𝑧00, 𝑧10 , 𝑧01, 𝑧11 }に対して𝑏1で1-out-of-2 OTを使う
3. Bobは𝑥 𝑏1 𝑏0
を復元する
1-out-of-22
OTの構成
18/ 22
• boolean回路の秘密計算を行う
• AliceとBobが秘密の入力を持つ
• 互いに共有せずに論理回路Cの評価結果を得る
• ANDの例
• Alice, Bobの入力が𝑥 𝐴, 𝑥 𝐵 ∈ {0,1}
• Aliceが秘匿回路を作成
• Bobが計算をして𝑦 = 𝑥 𝐴&𝑥 𝐵を得る
• 𝑥 𝐵 = 1なら𝑥 𝐴が分かるがそれは秘匿計算の範囲外
秘匿回路
19/ 22
• 秘密鍵暗号と1-out-of-2 OTを使う
• 入力𝑤 𝐴, 𝑤 𝐵,出力𝑤 𝐶,𝑏 ∈ {0,1}に対する乱数𝑘 𝑏
𝑤
を選ぶ
• 𝑐00 = 𝐸𝑛𝑐(𝑘0
𝑤 𝐴)
(𝐸𝑛𝑐(𝑘0
𝑤 𝐵)
(𝑘0
𝑤 𝐶
0 𝑘
), 0 𝑘
は0が𝑘ビット並んだもの
• 𝑐01 = 𝐸𝑛𝑐(𝑘0
𝑤 𝐴)
(𝐸𝑛𝑐(𝑘1
𝑤 𝐵)
(𝑘0
𝑤 𝐶
0 𝑘 )
• 𝑐10 = 𝐸𝑛𝑐(𝑘1
𝑤 𝐴)
(𝐸𝑛𝑐(𝑘0
𝑤 𝐵)
(𝑘0
𝑤 𝐶
0 𝑘
)
• 𝑐11 = 𝐸𝑛𝑐(𝑘1
𝑤 𝐴)
(𝐸𝑛𝑐(𝑘1
𝑤 𝐵)
(𝑘1
𝑤 𝐶
0 𝑘 )
• {𝑐00, 𝑐01, 𝑐10, 𝑐11}をシャッフルしたものが秘匿回路
• Aliceは𝑘 𝑥 𝐴
𝑤 𝐴
をBobに送る
• Bobは𝑥 𝐵に対して{𝑘0
𝑤 𝐵
, 𝑘1
𝑤 𝐵
}からOTで𝑘 𝑥 𝐵
𝑤 𝐵
を得る
• 𝑐𝑖𝑗をこれらで復号し下位が0 𝑘なものの𝑘 𝑥 𝐶
𝑤 𝐶
が求めるもの
回路の構成方法
20/ 22
• 素因数分解の困難性ベースの加法準同型暗号
• 鍵生成
• 𝑝, 𝑞 : 同じビットサイズのランダムな素数
• 𝑛 = 𝑝𝑞, 𝜆 = (𝑝 − 1)(𝑞 − 1), 𝑔 = 1 + 𝑛
• 秘密鍵は𝜆, 公開鍵は𝑛と𝑔
• 暗号化
• 𝐸𝑛𝑐 𝑚 = 𝑔 𝑚 𝑟 𝑛 mod 𝑛2
• 𝑟は𝑝でも𝑞でも割れない乱数
• 復号
• 𝐷𝑒𝑐 𝑐 = 𝐿(𝑐 𝜆 mod 𝑛2)/𝜆 mod 𝑛
• 𝐿 𝑥 = (𝑥 − 1)/𝑛 mod 𝑛
Pailler暗号
21/ 22
• 1 + 𝑛 𝑥 = 1 + 𝑥𝑛 +
𝑥 𝑥−1
2
𝑛2 + ⋯
• よって 1 + 𝑛 𝑥 = 1 + 𝑛𝑥 mod 𝑛2
• 𝑐 ≔ 𝐸𝑛𝑐 𝑚 = 𝑔 𝑚 𝑟 𝑛なので𝑐 𝜆 = 𝑔 𝑚𝜆 𝑟 𝑛𝜆
• 𝑎 𝑝−1
≡ 1 mod 𝑝より∃𝑠, 𝑡 𝑟 𝑝−1 𝑞−1
= 1 + 𝑝𝑠 = 1 + 𝑞𝑡
• 𝑝 ≠ 𝑞なので𝑠は𝑡で割れて𝑟 𝜆 = 𝑟 𝑝−1 𝑞−1 = 1 + 𝑝𝑞𝑠′ = 1 + 𝑛𝑠′
• よって𝑟 𝑛𝜆 = 1 mod 𝑛2
• 𝑐 𝜆
= 𝑔 𝑚𝜆
= 1 + 𝑛 𝑚𝜆
= 1 + 𝑛𝑚𝜆 mod 𝑛2
• 𝐿 𝑐 𝜆 =
1+𝑛𝑚𝜆−1
𝑛
= 𝑚𝜆より𝐷𝑒𝑐 𝑐 =
𝐿 𝑐 𝜆
𝜆
= 𝑚
• 加法性
• 𝐸𝑛𝑐 𝑚1 + 𝐸𝑛𝑐 𝑚2 ∶= 𝑐1 𝑐2 = 𝑔 𝑚1+𝑚2 𝑟1 𝑟2
𝑛 = 𝐸𝑛𝑐(𝑚1 + 𝑚2)
𝐷𝑒𝑐 𝐸𝑛𝑐 𝑚 = 𝑚の確認
22/ 22

Mais conteúdo relacionado

Mais procurados

Statistical Semantic入門 ~分布仮説からword2vecまで~
Statistical Semantic入門 ~分布仮説からword2vecまで~Statistical Semantic入門 ~分布仮説からword2vecまで~
Statistical Semantic入門 ~分布仮説からword2vecまで~Yuya Unno
 
充足可能性問題のいろいろ
充足可能性問題のいろいろ充足可能性問題のいろいろ
充足可能性問題のいろいろHiroshi Yamashita
 
DSIRNLP#1 ランキング学習ことはじめ
DSIRNLP#1 ランキング学習ことはじめDSIRNLP#1 ランキング学習ことはじめ
DSIRNLP#1 ランキング学習ことはじめsleepy_yoshi
 
「機械学習:技術的負債の高利子クレジットカード」のまとめ
「機械学習:技術的負債の高利子クレジットカード」のまとめ「機械学習:技術的負債の高利子クレジットカード」のまとめ
「機械学習:技術的負債の高利子クレジットカード」のまとめRecruit Technologies
 
大規模グラフアルゴリズムの最先端
大規模グラフアルゴリズムの最先端大規模グラフアルゴリズムの最先端
大規模グラフアルゴリズムの最先端Takuya Akiba
 
差分プライバシーとは何か? (定義 & 解釈編)
差分プライバシーとは何か? (定義 & 解釈編)差分プライバシーとは何か? (定義 & 解釈編)
差分プライバシーとは何か? (定義 & 解釈編)Kentaro Minami
 
Bitcoinを技術的に理解する
Bitcoinを技術的に理解するBitcoinを技術的に理解する
Bitcoinを技術的に理解するKenji Urushima
 
乱択データ構造の最新事情 -MinHash と HyperLogLog の最近の進歩-
乱択データ構造の最新事情 -MinHash と HyperLogLog の最近の進歩-乱択データ構造の最新事情 -MinHash と HyperLogLog の最近の進歩-
乱択データ構造の最新事情 -MinHash と HyperLogLog の最近の進歩-Takuya Akiba
 
ベータ分布の謎に迫る
ベータ分布の謎に迫るベータ分布の謎に迫る
ベータ分布の謎に迫るKen'ichi Matsui
 
Pythonによる黒魔術入門
Pythonによる黒魔術入門Pythonによる黒魔術入門
Pythonによる黒魔術入門大樹 小倉
 
暗号化したまま計算できる暗号技術とOSS開発による広がり
暗号化したまま計算できる暗号技術とOSS開発による広がり暗号化したまま計算できる暗号技術とOSS開発による広がり
暗号化したまま計算できる暗号技術とOSS開発による広がりMITSUNARI Shigeo
 
エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織Takafumi ONAKA
 
「内積が見えると統計学も見える」第5回 プログラマのための数学勉強会 発表資料
「内積が見えると統計学も見える」第5回 プログラマのための数学勉強会 発表資料 「内積が見えると統計学も見える」第5回 プログラマのための数学勉強会 発表資料
「内積が見えると統計学も見える」第5回 プログラマのための数学勉強会 発表資料 Ken'ichi Matsui
 
機械学習のためのベイズ最適化入門
機械学習のためのベイズ最適化入門機械学習のためのベイズ最適化入門
機械学習のためのベイズ最適化入門hoxo_m
 
Pythonではじめるロケーションデータ解析
Pythonではじめるロケーションデータ解析Pythonではじめるロケーションデータ解析
Pythonではじめるロケーションデータ解析Hiroaki Sengoku
 
組み込み関数(intrinsic)によるSIMD入門
組み込み関数(intrinsic)によるSIMD入門組み込み関数(intrinsic)によるSIMD入門
組み込み関数(intrinsic)によるSIMD入門Norishige Fukushima
 
機械学習モデルの判断根拠の説明
機械学習モデルの判断根拠の説明機械学習モデルの判断根拠の説明
機械学習モデルの判断根拠の説明Satoshi Hara
 

Mais procurados (20)

Statistical Semantic入門 ~分布仮説からword2vecまで~
Statistical Semantic入門 ~分布仮説からword2vecまで~Statistical Semantic入門 ~分布仮説からword2vecまで~
Statistical Semantic入門 ~分布仮説からword2vecまで~
 
充足可能性問題のいろいろ
充足可能性問題のいろいろ充足可能性問題のいろいろ
充足可能性問題のいろいろ
 
DSIRNLP#1 ランキング学習ことはじめ
DSIRNLP#1 ランキング学習ことはじめDSIRNLP#1 ランキング学習ことはじめ
DSIRNLP#1 ランキング学習ことはじめ
 
「機械学習:技術的負債の高利子クレジットカード」のまとめ
「機械学習:技術的負債の高利子クレジットカード」のまとめ「機械学習:技術的負債の高利子クレジットカード」のまとめ
「機械学習:技術的負債の高利子クレジットカード」のまとめ
 
大規模グラフアルゴリズムの最先端
大規模グラフアルゴリズムの最先端大規模グラフアルゴリズムの最先端
大規模グラフアルゴリズムの最先端
 
差分プライバシーとは何か? (定義 & 解釈編)
差分プライバシーとは何か? (定義 & 解釈編)差分プライバシーとは何か? (定義 & 解釈編)
差分プライバシーとは何か? (定義 & 解釈編)
 
Bitcoinを技術的に理解する
Bitcoinを技術的に理解するBitcoinを技術的に理解する
Bitcoinを技術的に理解する
 
乱択データ構造の最新事情 -MinHash と HyperLogLog の最近の進歩-
乱択データ構造の最新事情 -MinHash と HyperLogLog の最近の進歩-乱択データ構造の最新事情 -MinHash と HyperLogLog の最近の進歩-
乱択データ構造の最新事情 -MinHash と HyperLogLog の最近の進歩-
 
ベータ分布の謎に迫る
ベータ分布の謎に迫るベータ分布の謎に迫る
ベータ分布の謎に迫る
 
Pythonによる黒魔術入門
Pythonによる黒魔術入門Pythonによる黒魔術入門
Pythonによる黒魔術入門
 
暗号化したまま計算できる暗号技術とOSS開発による広がり
暗号化したまま計算できる暗号技術とOSS開発による広がり暗号化したまま計算できる暗号技術とOSS開発による広がり
暗号化したまま計算できる暗号技術とOSS開発による広がり
 
エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織
 
「内積が見えると統計学も見える」第5回 プログラマのための数学勉強会 発表資料
「内積が見えると統計学も見える」第5回 プログラマのための数学勉強会 発表資料 「内積が見えると統計学も見える」第5回 プログラマのための数学勉強会 発表資料
「内積が見えると統計学も見える」第5回 プログラマのための数学勉強会 発表資料
 
機械学習のためのベイズ最適化入門
機械学習のためのベイズ最適化入門機械学習のためのベイズ最適化入門
機械学習のためのベイズ最適化入門
 
Pythonではじめるロケーションデータ解析
Pythonではじめるロケーションデータ解析Pythonではじめるロケーションデータ解析
Pythonではじめるロケーションデータ解析
 
新しい暗号技術
新しい暗号技術新しい暗号技術
新しい暗号技術
 
組み込み関数(intrinsic)によるSIMD入門
組み込み関数(intrinsic)によるSIMD入門組み込み関数(intrinsic)によるSIMD入門
組み込み関数(intrinsic)によるSIMD入門
 
C++ マルチスレッド 入門
C++ マルチスレッド 入門C++ マルチスレッド 入門
C++ マルチスレッド 入門
 
深層強化学習と実装例
深層強化学習と実装例深層強化学習と実装例
深層強化学習と実装例
 
機械学習モデルの判断根拠の説明
機械学習モデルの判断根拠の説明機械学習モデルの判断根拠の説明
機械学習モデルの判断根拠の説明
 

Semelhante a 『データ解析におけるプライバシー保護』勉強会 秘密計算

ElGamal型暗号文に対する任意関数演算・再暗号化の二者間秘密計算プロトコルとその応用
ElGamal型暗号文に対する任意関数演算・再暗号化の二者間秘密計算プロトコルとその応用ElGamal型暗号文に対する任意関数演算・再暗号化の二者間秘密計算プロトコルとその応用
ElGamal型暗号文に対する任意関数演算・再暗号化の二者間秘密計算プロトコルとその応用MITSUNARI Shigeo
 
ブロックチェーン系プロジェクトで着目される暗号技術
ブロックチェーン系プロジェクトで着目される暗号技術ブロックチェーン系プロジェクトで着目される暗号技術
ブロックチェーン系プロジェクトで着目される暗号技術MITSUNARI Shigeo
 
楕円曲線入門 トーラスと楕円曲線のつながり
楕円曲線入門トーラスと楕円曲線のつながり楕円曲線入門トーラスと楕円曲線のつながり
楕円曲線入門 トーラスと楕円曲線のつながりMITSUNARI Shigeo
 
範囲証明つき準同型暗号とその対話的プロトコル
範囲証明つき準同型暗号とその対話的プロトコル範囲証明つき準同型暗号とその対話的プロトコル
範囲証明つき準同型暗号とその対話的プロトコルMITSUNARI Shigeo
 
3DESの件 〜俺、112bitになります〜
3DESの件 〜俺、112bitになります〜3DESの件 〜俺、112bitになります〜
3DESの件 〜俺、112bitになります〜enigma63
 
レベル2準同型暗号の平文バイナリ制約を与えるコンパクトな非対話ゼロ知識証明
レベル2準同型暗号の平文バイナリ制約を与えるコンパクトな非対話ゼロ知識証明レベル2準同型暗号の平文バイナリ制約を与えるコンパクトな非対話ゼロ知識証明
レベル2準同型暗号の平文バイナリ制約を与えるコンパクトな非対話ゼロ知識証明MITSUNARI Shigeo
 
暗認本読書会13 advanced
暗認本読書会13 advanced暗認本読書会13 advanced
暗認本読書会13 advancedMITSUNARI Shigeo
 
Misosou=Justice of Punctual+mazekoze+umatobi
Misosou=Justice of Punctual+mazekoze+umatobiMisosou=Justice of Punctual+mazekoze+umatobi
Misosou=Justice of Punctual+mazekoze+umatobiume doblock
 
ビットコインで使われている暗号の基礎を学ぶ
ビットコインで使われている暗号の基礎を学ぶビットコインで使われている暗号の基礎を学ぶ
ビットコインで使われている暗号の基礎を学ぶYuto Takei
 
ツイートID生成とツイッターリアルタイム検索システムの話
ツイートID生成とツイッターリアルタイム検索システムの話ツイートID生成とツイッターリアルタイム検索システムの話
ツイートID生成とツイッターリアルタイム検索システムの話Preferred Networks
 
[DL輪読会]GQNと関連研究,世界モデルとの関係について
[DL輪読会]GQNと関連研究,世界モデルとの関係について[DL輪読会]GQNと関連研究,世界モデルとの関係について
[DL輪読会]GQNと関連研究,世界モデルとの関係についてDeep Learning JP
 
[Basic 14] 暗号について / RSA 暗号 / 楕円曲線暗号
[Basic 14] 暗号について / RSA 暗号 / 楕円曲線暗号[Basic 14] 暗号について / RSA 暗号 / 楕円曲線暗号
[Basic 14] 暗号について / RSA 暗号 / 楕円曲線暗号Yuto Takei
 
バックドア耐性のあるパスワード暗号化の提案
バックドア耐性のあるパスワード暗号化の提案バックドア耐性のあるパスワード暗号化の提案
バックドア耐性のあるパスワード暗号化の提案MITSUNARI Shigeo
 
Deep Learning 勉強会 (Chapter 7-12)
Deep Learning 勉強会 (Chapter 7-12)Deep Learning 勉強会 (Chapter 7-12)
Deep Learning 勉強会 (Chapter 7-12)Ohsawa Goodfellow
 
DynamoDB MyNA・JPUG合同DB勉強会 in 東京
DynamoDB   MyNA・JPUG合同DB勉強会 in 東京DynamoDB   MyNA・JPUG合同DB勉強会 in 東京
DynamoDB MyNA・JPUG合同DB勉強会 in 東京Yuko Mori
 

Semelhante a 『データ解析におけるプライバシー保護』勉強会 秘密計算 (20)

ElGamal型暗号文に対する任意関数演算・再暗号化の二者間秘密計算プロトコルとその応用
ElGamal型暗号文に対する任意関数演算・再暗号化の二者間秘密計算プロトコルとその応用ElGamal型暗号文に対する任意関数演算・再暗号化の二者間秘密計算プロトコルとその応用
ElGamal型暗号文に対する任意関数演算・再暗号化の二者間秘密計算プロトコルとその応用
 
ブロックチェーン系プロジェクトで着目される暗号技術
ブロックチェーン系プロジェクトで着目される暗号技術ブロックチェーン系プロジェクトで着目される暗号技術
ブロックチェーン系プロジェクトで着目される暗号技術
 
楕円曲線入門 トーラスと楕円曲線のつながり
楕円曲線入門トーラスと楕円曲線のつながり楕円曲線入門トーラスと楕円曲線のつながり
楕円曲線入門 トーラスと楕円曲線のつながり
 
範囲証明つき準同型暗号とその対話的プロトコル
範囲証明つき準同型暗号とその対話的プロトコル範囲証明つき準同型暗号とその対話的プロトコル
範囲証明つき準同型暗号とその対話的プロトコル
 
3DESの件 〜俺、112bitになります〜
3DESの件 〜俺、112bitになります〜3DESの件 〜俺、112bitになります〜
3DESの件 〜俺、112bitになります〜
 
レベル2準同型暗号の平文バイナリ制約を与えるコンパクトな非対話ゼロ知識証明
レベル2準同型暗号の平文バイナリ制約を与えるコンパクトな非対話ゼロ知識証明レベル2準同型暗号の平文バイナリ制約を与えるコンパクトな非対話ゼロ知識証明
レベル2準同型暗号の平文バイナリ制約を与えるコンパクトな非対話ゼロ知識証明
 
暗認本読書会13 advanced
暗認本読書会13 advanced暗認本読書会13 advanced
暗認本読書会13 advanced
 
Misosou=Justice of Punctual+mazekoze+umatobi
Misosou=Justice of Punctual+mazekoze+umatobiMisosou=Justice of Punctual+mazekoze+umatobi
Misosou=Justice of Punctual+mazekoze+umatobi
 
楕円曲線と暗号
楕円曲線と暗号楕円曲線と暗号
楕円曲線と暗号
 
ビットコインで使われている暗号の基礎を学ぶ
ビットコインで使われている暗号の基礎を学ぶビットコインで使われている暗号の基礎を学ぶ
ビットコインで使われている暗号の基礎を学ぶ
 
ツイートID生成とツイッターリアルタイム検索システムの話
ツイートID生成とツイッターリアルタイム検索システムの話ツイートID生成とツイッターリアルタイム検索システムの話
ツイートID生成とツイッターリアルタイム検索システムの話
 
Introduction to programming
Introduction to programmingIntroduction to programming
Introduction to programming
 
[DL輪読会]GQNと関連研究,世界モデルとの関係について
[DL輪読会]GQNと関連研究,世界モデルとの関係について[DL輪読会]GQNと関連研究,世界モデルとの関係について
[DL輪読会]GQNと関連研究,世界モデルとの関係について
 
6 Info Theory
6 Info Theory6 Info Theory
6 Info Theory
 
[Basic 14] 暗号について / RSA 暗号 / 楕円曲線暗号
[Basic 14] 暗号について / RSA 暗号 / 楕円曲線暗号[Basic 14] 暗号について / RSA 暗号 / 楕円曲線暗号
[Basic 14] 暗号について / RSA 暗号 / 楕円曲線暗号
 
暗認本読書会12
暗認本読書会12暗認本読書会12
暗認本読書会12
 
バックドア耐性のあるパスワード暗号化の提案
バックドア耐性のあるパスワード暗号化の提案バックドア耐性のあるパスワード暗号化の提案
バックドア耐性のあるパスワード暗号化の提案
 
実用Brainf*ckプログラミング
実用Brainf*ckプログラミング実用Brainf*ckプログラミング
実用Brainf*ckプログラミング
 
Deep Learning 勉強会 (Chapter 7-12)
Deep Learning 勉強会 (Chapter 7-12)Deep Learning 勉強会 (Chapter 7-12)
Deep Learning 勉強会 (Chapter 7-12)
 
DynamoDB MyNA・JPUG合同DB勉強会 in 東京
DynamoDB   MyNA・JPUG合同DB勉強会 in 東京DynamoDB   MyNA・JPUG合同DB勉強会 in 東京
DynamoDB MyNA・JPUG合同DB勉強会 in 東京
 

Mais de MITSUNARI Shigeo

Intel AVX-512/富岳SVE用SIMDコード生成ライブラリsimdgen
Intel AVX-512/富岳SVE用SIMDコード生成ライブラリsimdgenIntel AVX-512/富岳SVE用SIMDコード生成ライブラリsimdgen
Intel AVX-512/富岳SVE用SIMDコード生成ライブラリsimdgenMITSUNARI Shigeo
 
深層学習フレームワークにおけるIntel CPU/富岳向け最適化法
深層学習フレームワークにおけるIntel CPU/富岳向け最適化法深層学習フレームワークにおけるIntel CPU/富岳向け最適化法
深層学習フレームワークにおけるIntel CPU/富岳向け最適化法MITSUNARI Shigeo
 
WebAssembly向け多倍長演算の実装
WebAssembly向け多倍長演算の実装WebAssembly向け多倍長演算の実装
WebAssembly向け多倍長演算の実装MITSUNARI Shigeo
 
Lifted-ElGamal暗号を用いた任意関数演算の二者間秘密計算プロトコルのmaliciousモデルにおける効率化
Lifted-ElGamal暗号を用いた任意関数演算の二者間秘密計算プロトコルのmaliciousモデルにおける効率化Lifted-ElGamal暗号を用いた任意関数演算の二者間秘密計算プロトコルのmaliciousモデルにおける効率化
Lifted-ElGamal暗号を用いた任意関数演算の二者間秘密計算プロトコルのmaliciousモデルにおける効率化MITSUNARI Shigeo
 
BLS署名の実装とその応用
BLS署名の実装とその応用BLS署名の実装とその応用
BLS署名の実装とその応用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
 
自作ペアリング/BLS署名ライブラリの紹介
自作ペアリング/BLS署名ライブラリの紹介自作ペアリング/BLS署名ライブラリの紹介
自作ペアリング/BLS署名ライブラリの紹介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
 

Mais de MITSUNARI Shigeo (20)

暗認本読書会11
暗認本読書会11暗認本読書会11
暗認本読書会11
 
暗認本読書会10
暗認本読書会10暗認本読書会10
暗認本読書会10
 
暗認本読書会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
 
暗認本読書会6
暗認本読書会6暗認本読書会6
暗認本読書会6
 
暗認本読書会5
暗認本読書会5暗認本読書会5
暗認本読書会5
 
暗認本読書会4
暗認本読書会4暗認本読書会4
暗認本読書会4
 
深層学習フレームワークにおけるIntel CPU/富岳向け最適化法
深層学習フレームワークにおけるIntel CPU/富岳向け最適化法深層学習フレームワークにおけるIntel CPU/富岳向け最適化法
深層学習フレームワークにおけるIntel CPU/富岳向け最適化法
 
私とOSSの25年
私とOSSの25年私とOSSの25年
私とOSSの25年
 
WebAssembly向け多倍長演算の実装
WebAssembly向け多倍長演算の実装WebAssembly向け多倍長演算の実装
WebAssembly向け多倍長演算の実装
 
Lifted-ElGamal暗号を用いた任意関数演算の二者間秘密計算プロトコルのmaliciousモデルにおける効率化
Lifted-ElGamal暗号を用いた任意関数演算の二者間秘密計算プロトコルのmaliciousモデルにおける効率化Lifted-ElGamal暗号を用いた任意関数演算の二者間秘密計算プロトコルのmaliciousモデルにおける効率化
Lifted-ElGamal暗号を用いた任意関数演算の二者間秘密計算プロトコルのmaliciousモデルにおける効率化
 
HPC Phys-20201203
HPC Phys-20201203HPC Phys-20201203
HPC Phys-20201203
 
BLS署名の実装とその応用
BLS署名の実装とその応用BLS署名の実装とその応用
BLS署名の実装とその応用
 
LazyFP vulnerabilityの紹介
LazyFP vulnerabilityの紹介LazyFP vulnerabilityの紹介
LazyFP vulnerabilityの紹介
 
Intro to SVE 富岳のA64FXを触ってみた
Intro to SVE 富岳のA64FXを触ってみたIntro to SVE 富岳のA64FXを触ってみた
Intro to SVE 富岳のA64FXを触ってみた
 
ゆるバグ
ゆるバグゆるバグ
ゆるバグ
 
自作ペアリング/BLS署名ライブラリの紹介
自作ペアリング/BLS署名ライブラリの紹介自作ペアリング/BLS署名ライブラリの紹介
自作ペアリング/BLS署名ライブラリの紹介
 
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...
 

Último

SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 

Último (10)

SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 

『データ解析におけるプライバシー保護』勉強会 秘密計算

  • 2. • 『データ解析におけるプライバシー保護』 • 10章以降 ; 以降PPinDAと略 • 複数人(パーティ)が互いに自分の情報を隠したまま 複数入力のある関数の値を計算すること • 2-partyの例)𝑓(𝑥, 𝑦) ; ある関数 Aが𝑥, Bが𝑦を持っている A, Bが互いに𝑥, 𝑦を見せずに𝑓(𝑥, 𝑦)を求める • 注意 • A, Bそれぞれが異なる関数の値 𝑓𝐴 𝑥, 𝑦 , 𝑓𝐵(𝑥, 𝑦)を得るタイプもある • たとえばAとっての𝑓(𝑥, 𝑦)から𝑦の 推測可能性は気にしない(詳細は後述) • 例えば𝑓 𝑥, 𝑦 = 𝑥 + 𝑦ならばれてしまう マルチパーティ秘密計算(MPC) 秘密の計算 A 𝑥 B 𝑦 𝑓(𝑥, 𝑦) 2/ 22
  • 3. • オンライン広告の事例 • A : メールアドレスごとのweb閲覧履歴を持つ会社 • B : メールアドレスごとの購買履歴を持つ会社 • 目的 • Aには購買履歴は教えない • Bには閲覧履歴を教えない • Bはどのページを見た人が何を購入したかの傾向を知りたい • 注意 • ある商品を購入した人が一人ならBはその人の閲覧履歴が分か ってしまう • MPCの範疇外 ; これは差分プライバシーで守る範囲 • 日本の個人情報保護法は「匿名加工情報を個人が特定できる 別の情報に結びつけることを禁止」PPinDA p.155 具体例 3/ 22
  • 4. • semi-honest model • パーティのそれぞれは定められたプロトコルにきちんと従う • 自分が取得した情報から最大限、他人の情報を取ろうとする • malicious model • なんでもあり • プロトコルの途中で嘘をついたり途中で止めたりする • semi-honestをmalicious対応させる一般的な手法がある • 結託 • 3人以上のMPCでは複数人が互いの情報を共有し、残りの人の 情報を得ようとすることもある MPCの攻撃者のモデル 4/ 22
  • 5. • 正当性 • 正しく𝑓を計算すること • 秘匿性 • 𝑓以外の情報が漏れないこと • 情報が漏れていないとは • Aが𝑓(𝑥, 𝑦)を得るときにBとやりとりしたとき • Bの値𝑦を知らないシミュレータとAがやりとりしたとき • この二つをAが区別できないとき情報が漏れていないという • 区別できない • 情報理論的識別不可能性 • 計算量的識別不可能性 正当性と秘匿性 5/ 22
  • 6. • 差分プライバシー • 背景知識と取得した結果から秘密の情報を推測させない • 攻撃者が不正なことをすることは仮定しない • 秘密計算 • 結果以外の情報を与えない • 攻撃者が不正なことをすると仮定する(こともある) 差分プライバシーと秘密計算 6/ 22
  • 7. • 公開鍵暗号の定式化 • セキュリティパラメータ𝑘 : 平文の空間が2 𝑘 • 鍵生成アルゴリズム • 𝐺𝑒𝑛 1 𝑘 → 𝑝𝑘, 𝑠𝑘 • 𝑘を決めると公開鍵𝑝𝑘と秘密鍵𝑠𝑘のペアを生成する • 暗号化アルゴリズム • 𝐸𝑛𝑐 𝑥, 𝑝𝑘 → 𝑐 • 平文𝑥と公開鍵𝑝𝑘により暗号文𝑐を生成する • 復号アルゴリズム • 𝐷𝑒𝑐 𝑐, 𝑠𝑘 → 𝑥 • 暗号文𝑐と秘密鍵𝑠𝑘から平文𝑥を生成する • 正当性 • 𝐷𝑒𝑐 𝐸𝑛𝑐 𝑥, 𝑝𝑘 , 𝑠𝑘 = 𝑥 11章秘密鍵暗号と公開鍵暗号 7/ 22
  • 8. • 二つの平文𝑥1, 𝑥2に対してその暗号文𝐸𝑛𝑐(𝑥𝑖)を見ても どちらがどちらか分からない • より正確な定式化 • セキュリティパラメータ𝑘に対して任意の確率的多項式時間ア ルゴリズム𝒜: 0,1 𝑙 𝑘 → {0,1}, 𝑥1, 𝑥2 ∈ 0,1 𝑘に対して Pr 𝒜1 𝐸𝑛𝑐 𝑥1 = 1 − Pr 𝒜2 𝐸𝑛𝑐 𝑥2 = 1 < negl(𝑘) • 𝒜𝑖は𝐸𝑛𝑐(𝑥𝑖)が与えられたときに平文が𝑥𝑖と判定したら1を返 すアルゴリズム • DL ; find 𝑎 if 𝑃, 𝑎𝑃 of elliptic curve are given • (C)DH ; find 𝑎𝑏𝑃 if 𝑃, 𝑎𝑃, 𝑏𝑃 are given • DDH ; detect whether 𝑎𝑏𝑃 = 𝑐𝑃 or not if 𝑃, 𝑎𝑃, 𝑏𝑃, 𝑐𝑃 暗号文の計算量的識別不可能性(IND) 8/ 22
  • 9. • 選択平文攻撃(CPA : Chosen Plaintext Attack) • 攻撃者が暗号文を受けとる前後に、攻撃者が任意に選んだ平 文に対する暗号文を取得可能な状態を想定 • 選択暗号文攻撃(CCA : Chosen Ciphertext Attack) • 攻撃者が暗号文𝑐を受け取る前に、攻撃者が任意に選んだ𝑐以 外の暗号文に対する平文を取得可能な状態を想定 • 適応的選択暗号文攻撃(CCA2) • CCAと「暗号文𝑐を受け取る前後に」が違う 攻撃者のモデル 9/ 22
  • 10. • IND-CPA • CPAに対してINDである(区別できない) • 公開鍵暗号はだれでも任意の平文の暗号文を作れるのでこれ は必須 • (注意)教科書的RSAはIND-CPAではない • IND-CCAならIND-CPAがいえる • IND-CCA, IND-CCA2 • IND-CCA2が理想 • IND-CCA2なら暗号文の改竄ができないことが知られている • 𝐸𝑛𝑐(1万円)を𝐸𝑛𝑐(10万円)に変えられない(頑強性) • 詳細は『クラウドを支えるこれからの暗号技術』参照 公開鍵暗号の安全性 10/ 22
  • 11. • 加法準同型暗号 • 𝐷𝑒𝑐 𝐸𝑛𝑐 𝑥1 ⊕ 𝐸𝑛𝑐 𝑥2 = 𝑥1 + 𝑥2 • 乗法準同型暗号 • 𝐷𝑒𝑐 𝐸𝑛𝑐 𝑥1 ⊗ 𝐸𝑛𝑐 𝑥2 = 𝑥1 𝑥2 • 完全準同型暗号 • 加法+乗法 • 安全性 • 𝐸𝑛𝑐(𝑥)から𝐸𝑛𝑐(2𝑥)または𝐸𝑛𝑐(𝑥2 )を作れる • 頑強性を持たない 12章 準同型暗号による秘密計算 11/ 22
  • 12. • 𝑛人の𝑖番目の人の心筋梗塞𝑥𝑖と喫煙習慣𝑦𝑖の情報 • 医療保険会社A : 𝑥𝑖 ∈ 0,1 (𝑖 = 1, … , 𝑛) • 物販会社B : {𝑦𝑖 ∈ 0,1 } • 互いに𝑥𝑖, 𝑦𝑖を送らずに分割表を作りたい • A ; 𝑛1, 𝑛2を自分で計算可能 • B ; 𝑛 𝐴, 𝑛 𝑎を自分で計算可能 • これらの情報を互いに送信 • 𝑛1𝐴 = ∑𝑥𝑖 𝑦𝑖を計算できれば分割表を求められる 分割表計算の2-party秘密計算 喫煙習慣あり 喫煙習慣なし 合計 心筋梗塞あり 𝑛1𝐴 𝑛1𝑎 𝑛1 心筋梗塞なし 𝑛2𝐴 𝑛2𝑎 𝑛2 𝑛 𝐴 𝑛 𝑎 𝑛 12/ 22
  • 13. • Aが{𝑥𝑖},Bが{𝑦𝑖}を保持するとき秘密計算プロトコルを してAは𝑛1𝐴 = ∑𝑥𝑖 𝑦𝑖を得るがBは何も得られない • 𝐸𝑛𝑐 ∑𝑥𝑖 𝑦𝑖 = ∑𝐸𝑛𝑐 𝑥𝑖 𝑦𝑖 = ∑𝑦𝑖 𝐸𝑛𝑐(𝑥𝑖) • この計算をBが行う • 2-partyプロトコル • AはBに公開鍵𝑝𝑘を送信 • Aは𝑐𝑖 = 𝐸𝑛𝑐(𝑥𝑖)をBに送信 • Bは𝑐 = ∑𝑦𝑖 𝑐𝑖 ⊕ 𝐸𝑛𝑐(0)をAに送信 • Aは𝐷𝑒𝑐 𝑐 = ∑𝑥𝑖 𝑦𝑖を取得 • 注意 • 𝐸𝑛𝑐(0)を足すのはランダム化のため • Aが𝑥 = (0, … , 1, … 0) ; 𝑖番目のみ1を送ると𝑦𝑖が分かってしまう 分割表の秘密計算 13/ 22
  • 14. • A, Bが第三者Cに計算してもらう場合 • 𝐸𝑛𝑐 𝑛1𝐴 = 𝐸𝑛𝑐 ∑𝑥𝑖 𝑦𝑖 = ∑𝐸𝑛𝑐(𝑥𝑖) ⊗ 𝐸𝑛𝑐(𝑦𝑖) • Aが𝐸𝑛𝑐(𝑥𝑖)を, Bが𝐸𝑛𝑐(𝑦𝑖)をCに送信して和を計算してもらい Aに戻してもらう • Aは復号して𝑛1𝐴を得る • 注意 • Aは𝐸𝑛𝑐(𝑦𝑖)を復号できるのでBがCに送るときはAに見えない ようにしないといけない 依頼計算型の分割表計算 14/ 22
  • 15. • 事前条件 • Aliceは𝑥1, … , 𝑥 𝑛を持っている • Bobは𝑖 = 1, … , 𝑛のどれか𝑖0を選ぶ • OTの後 • AliceはBobが選んだ数字は分からない • Bobは𝑥𝑖0 を得るがそれ以外の𝑥𝑖(𝑖 ≠ 𝑖0)の情報は得られない 紛失通信OT(Oblivious Transfer) Alice 𝑥1, … , 𝑥 𝑛 Bob 𝑥𝑖0 𝑖0を選択 15/ 22
  • 16. • 1-out-of 2 OT • Aliceは𝑥0と𝑥1を持っている • Bobは𝑏 ∈ {0,1}を選ぶ 楕円曲線で1-out-of 2 OT Alice 𝑥0, 𝑥1 Bob 𝑏 ∈ {0,1}を選ぶ 𝐶:楕円曲線の点 𝐶 𝑘 : 乱数 𝑄 = ቊ 𝑘𝑃, 𝑏 = 0 𝐶 − 𝑘𝑃, 𝑏 = 1 𝑄𝑟 : 乱数 𝑍0 = 𝐻 𝑟𝑄, 0 ⊕ 𝑥0 𝑍1 = 𝐻 𝑟(𝐶 − 𝑄), 1 ⊕ 𝑥1 𝑍0, 𝑍1, 𝑟𝑃 𝑏 = 0 → 𝐻 𝑘𝑟𝑃, 0 ⊕ 𝑍0 = 𝑥0 𝑏 = 1 → 𝐻 𝑘𝑟𝑃, 1 ⊕ 𝑍1 = 𝑥1 16/ 22
  • 17. • Bobは公開鍵暗号をセットアップ • 正しさ • 𝑏 = 0 → 𝑑0 = 𝑟0 𝐸𝑛𝑐 0 + 𝐸𝑛𝑐 𝑥0 = 𝐸𝑛𝑐(𝑥0) • 𝑏 = 1 → 𝑑1 = 𝑟1 𝐸𝑛𝑐 1 − 𝐸𝑛𝑐 1 + 𝐸𝑛𝑐 𝑥1 = 𝐸𝑛𝑐(𝑥1) 加法準同型暗号で1-out-of-2 OT 𝑏 ∈ {0,1}を選び 𝑐 = 𝐸𝑛𝑐(𝑏)を送る 𝑐 Alice 𝑥0, 𝑥1 乱数𝑟0, 𝑟1を選ぶ 𝑑1 = 𝑟1 𝑐 − 𝐸𝑛𝑐 1 + 𝐸𝑛𝑐(𝑥1) 𝑑0 = 𝑟0 𝑐 + 𝐸𝑛𝑐 𝑥0 𝑑0, 𝑑1 𝑚 𝑏 ≔ 𝐷𝑒𝑐(𝑑 𝑏) Bob 17/ 22
  • 18. • 1-out-of-2 OTを使う • Aliceは𝑋 = (𝑥𝑖𝑗), 𝑖, 𝑗 = 1,2の4個の情報を持つ • 𝑌 = (𝑦𝑖𝑗)をランダムに選び𝑍 = 𝑋 ⊕ 𝑌とする • 𝑥00 𝑥01 𝑥10 𝑥11 = 𝑦00 𝑦01 𝑦10 𝑦11 ⊕ 𝑧00 𝑧01 𝑧10 𝑧11 • Bobは0~4を2ビット(𝑏1 𝑏0)で表して選ぶ 1. { 𝑦00, 𝑦01 , 𝑦10, 𝑦11 }に対して𝑏0で1-out-of-2 OTを使う 2. { 𝑧00, 𝑧10 , 𝑧01, 𝑧11 }に対して𝑏1で1-out-of-2 OTを使う 3. Bobは𝑥 𝑏1 𝑏0 を復元する 1-out-of-22 OTの構成 18/ 22
  • 19. • boolean回路の秘密計算を行う • AliceとBobが秘密の入力を持つ • 互いに共有せずに論理回路Cの評価結果を得る • ANDの例 • Alice, Bobの入力が𝑥 𝐴, 𝑥 𝐵 ∈ {0,1} • Aliceが秘匿回路を作成 • Bobが計算をして𝑦 = 𝑥 𝐴&𝑥 𝐵を得る • 𝑥 𝐵 = 1なら𝑥 𝐴が分かるがそれは秘匿計算の範囲外 秘匿回路 19/ 22
  • 20. • 秘密鍵暗号と1-out-of-2 OTを使う • 入力𝑤 𝐴, 𝑤 𝐵,出力𝑤 𝐶,𝑏 ∈ {0,1}に対する乱数𝑘 𝑏 𝑤 を選ぶ • 𝑐00 = 𝐸𝑛𝑐(𝑘0 𝑤 𝐴) (𝐸𝑛𝑐(𝑘0 𝑤 𝐵) (𝑘0 𝑤 𝐶 0 𝑘 ), 0 𝑘 は0が𝑘ビット並んだもの • 𝑐01 = 𝐸𝑛𝑐(𝑘0 𝑤 𝐴) (𝐸𝑛𝑐(𝑘1 𝑤 𝐵) (𝑘0 𝑤 𝐶 0 𝑘 ) • 𝑐10 = 𝐸𝑛𝑐(𝑘1 𝑤 𝐴) (𝐸𝑛𝑐(𝑘0 𝑤 𝐵) (𝑘0 𝑤 𝐶 0 𝑘 ) • 𝑐11 = 𝐸𝑛𝑐(𝑘1 𝑤 𝐴) (𝐸𝑛𝑐(𝑘1 𝑤 𝐵) (𝑘1 𝑤 𝐶 0 𝑘 ) • {𝑐00, 𝑐01, 𝑐10, 𝑐11}をシャッフルしたものが秘匿回路 • Aliceは𝑘 𝑥 𝐴 𝑤 𝐴 をBobに送る • Bobは𝑥 𝐵に対して{𝑘0 𝑤 𝐵 , 𝑘1 𝑤 𝐵 }からOTで𝑘 𝑥 𝐵 𝑤 𝐵 を得る • 𝑐𝑖𝑗をこれらで復号し下位が0 𝑘なものの𝑘 𝑥 𝐶 𝑤 𝐶 が求めるもの 回路の構成方法 20/ 22
  • 21. • 素因数分解の困難性ベースの加法準同型暗号 • 鍵生成 • 𝑝, 𝑞 : 同じビットサイズのランダムな素数 • 𝑛 = 𝑝𝑞, 𝜆 = (𝑝 − 1)(𝑞 − 1), 𝑔 = 1 + 𝑛 • 秘密鍵は𝜆, 公開鍵は𝑛と𝑔 • 暗号化 • 𝐸𝑛𝑐 𝑚 = 𝑔 𝑚 𝑟 𝑛 mod 𝑛2 • 𝑟は𝑝でも𝑞でも割れない乱数 • 復号 • 𝐷𝑒𝑐 𝑐 = 𝐿(𝑐 𝜆 mod 𝑛2)/𝜆 mod 𝑛 • 𝐿 𝑥 = (𝑥 − 1)/𝑛 mod 𝑛 Pailler暗号 21/ 22
  • 22. • 1 + 𝑛 𝑥 = 1 + 𝑥𝑛 + 𝑥 𝑥−1 2 𝑛2 + ⋯ • よって 1 + 𝑛 𝑥 = 1 + 𝑛𝑥 mod 𝑛2 • 𝑐 ≔ 𝐸𝑛𝑐 𝑚 = 𝑔 𝑚 𝑟 𝑛なので𝑐 𝜆 = 𝑔 𝑚𝜆 𝑟 𝑛𝜆 • 𝑎 𝑝−1 ≡ 1 mod 𝑝より∃𝑠, 𝑡 𝑟 𝑝−1 𝑞−1 = 1 + 𝑝𝑠 = 1 + 𝑞𝑡 • 𝑝 ≠ 𝑞なので𝑠は𝑡で割れて𝑟 𝜆 = 𝑟 𝑝−1 𝑞−1 = 1 + 𝑝𝑞𝑠′ = 1 + 𝑛𝑠′ • よって𝑟 𝑛𝜆 = 1 mod 𝑛2 • 𝑐 𝜆 = 𝑔 𝑚𝜆 = 1 + 𝑛 𝑚𝜆 = 1 + 𝑛𝑚𝜆 mod 𝑛2 • 𝐿 𝑐 𝜆 = 1+𝑛𝑚𝜆−1 𝑛 = 𝑚𝜆より𝐷𝑒𝑐 𝑐 = 𝐿 𝑐 𝜆 𝜆 = 𝑚 • 加法性 • 𝐸𝑛𝑐 𝑚1 + 𝐸𝑛𝑐 𝑚2 ∶= 𝑐1 𝑐2 = 𝑔 𝑚1+𝑚2 𝑟1 𝑟2 𝑛 = 𝐸𝑛𝑐(𝑚1 + 𝑚2) 𝐷𝑒𝑐 𝐸𝑛𝑐 𝑚 = 𝑚の確認 22/ 22