SlideShare uma empresa Scribd logo
1 de 18
Baixar para ler offline
暗認本読書会11
準同型暗号, MPC, 秘密分散, DKG, ペアリング, BLS署名
2021/12/9
https://anninbon.connpass.com/
光成滋生
• 暗号文のまま復号せずに計算する暗号技術
• 暗号文同士の足し算 : 𝐸𝑛𝑐 𝑚1 + 𝐸𝑛𝑐 𝑚2 = 𝐸𝑛𝑐 𝑚1 + 𝑚2
• 暗号文同士の掛け算 : 𝐸𝑛𝑐 𝑚1 × 𝐸𝑛𝑐 𝑚2 = 𝐸𝑛𝑐(𝑚1𝑚2)
• コンピュータの計算
• ビット演算andとxor(排他的論理和)で全ての回路は作れる
• 𝔽2 = {0,1}の足し算
• 0 + 0 = 0, 0 + 1 = 1 + 0 = 1, 1 + 1 = 0 ; これはxor
• 0 × 0 = 1 × 0 = 0 × 1 = 0, 1 × 1 = 1 ; これはand
• 1bit暗号文の足し算と掛け算→任意の計算が可能
• 掛け算のみ、足し算のみは昔から知られていた
• 両方出来るものの構成が長らくの未解決問題
• 2009年Gentryが構築→完全準同型暗号の発展
準同型暗号HE(Homomorphic Encryption)
2 / 18
• 画像のエッジ検出(AHE)
• クライアントで撮った2値画像を暗号化してサーバに送信
• サーバでエッジ強調処理をしてクライアントに渡して復号
• https://github.com/herumi/ahe-demo
• クロス集計(WebAssemblyで実装)
• https://herumi.github.io/she-wasm/
デモ
3 / 18
• 紛失通信OT(Oblivious Transfer)
• https://ppdm.jp/ot/
• 円周率のN桁(1<N<100万)をNを隠して問い合わせる
• https://ppdm.jp/ot/
• クライアント𝐸𝑛𝑐(𝑚)
• サーバ𝑇𝑎𝑏𝑙𝑒 𝐸𝑛𝑐 𝑚 = 𝐸𝑛𝑐[𝑇𝑎𝑏𝑙𝑒 𝑚 ]を返す
• FHEの例(京都大学の松岡-伴野-松本さん)
• FHEを使って動作するCPUとCコンパイラ開発セット
• https://virtualsecureplatform.github.io/
L2HE, FHEを使ったデモ
4 / 18
• 平文の世界と暗号文の世界が対応
• 現在の主流は格子を基本にした格子暗号
• 格子 : ジャングルジムの高次元版
• 暗号文 = 平文の線型処理+小さいノイズ
• 復号は秘密鍵を知っていればノイズを除去できる
• 加算 : ノイズはあまり大きくならない
• 乗算 : ノイズが増える傾向→取り除く操作
完全準同型暗号FHE(Fully HE)
5 / 18
• 乗算回数の上限で分類
• 加法準同型暗号AHEで出来ること
• 𝐸𝑛𝑐 𝑥 + 𝐸𝑛𝑐 𝑥 = 𝐸𝑛𝑐 𝑥 + 𝑥 = 𝐸𝑛𝑐 2𝑥
• 𝐸𝑛𝑐 2𝑥 + 𝐸𝑛𝑐 𝑥 = 𝐸𝑛𝑐 2𝑥 + 𝑥 = 𝐸𝑛𝑐 3𝑥
• 一般に暗号文の𝑛倍𝑛𝐸𝑛𝑐 𝑥 = 𝐸𝑛𝑐(𝑛𝑥)は計算可能
• 2レベル準同型暗号2LHEで出来ること
• 2個のベクトルデータ𝑥 = (𝑥1, … , 𝑥𝑛)と𝑦 = (𝑦1, … , 𝑦𝑛)の内積
• 𝐸𝑛𝑐 𝑥1 , … , 𝐸𝑛𝑐 𝑥𝑛 ⋅ 𝐸𝑛𝑐 𝑦1 , … , 𝐸𝑛𝑐 𝑦𝑛 = 𝐸𝑛𝑐 ∑𝑥𝑖𝑦𝑖
• 平均, 標準偏差, 2個のベクトルのcos類似度など
準同型暗号のレベル
準同型暗号の種類 加算 乗算 演算コスト
加法準同型暗号 任意回 0 軽い
2レベル準同型暗号 任意回 1 まあまあ
Nレベル準同型暗号 任意回 N-1 Nが大きいほど重たい
完全準同型暗号 任意回 任意回 重たい
6 / 18
• データを秘匿化して計算する技術の総称
• 準同型暗号, 秘密分散, MPCなどを含む
• MPC(Multi-Party Computation)
• 複数人が協調して互いの秘密情報を教えることなく計算
• 例 : 𝑓 𝑥1, … , 𝑥𝑛 = max(𝑥1, … , 𝑥𝑛) ; 𝑥𝑖=各自の資産
• 一番お金持ちの資産を得る : それぞれの値は分からない
• 注意 : 𝑛 = 2のとき少ない資産の人は相手の値が分かる
秘密計算
7 / 18
• semi-honestモデル
• プロトコルの参加者はプロトコルに正しく従う
• 計算途中に取得した値から精一杯相手の情報は得ろうとする
• maliciousモデル
• プロトコルに従わない
• 自分に有利な情報を得たら途中で止める
• 一貫性の無い値を提出する
• 注意 : 一貫して嘘の値を付くのは対象外(資産の嘘の報告)
• 一般に
• semi-honestモデルの方が効率がよい
• maliciousモデルでは嘘つきが参加者のうちどれぐらいいるか
によって効率やプロトコルが変わる
• ブロックチェーンなど不特定多数の参加者
モデル
8 / 18
• 秘密情報を複数のデータに分散させて管理
• 分散されたデータを集めると元の秘密情報に戻る
• 分散されたデータから元の情報は一切得られない
• 2-of-2秘密分散
• データ𝑠を2個に分散
秘密分散
9 / 18
• 情報sをn人に分散 そのうちk個集まると復元可能
• 2017年にISO/IEC 19592-2:2017として標準化 Shamir
k-of-n秘密分散
𝑘個の点を通る𝑘 − 1次多項式は1個
10 / 18
• 秘密分散の問題点
• 秘密分散で社長がある人にだけ嘘の値を教えていたら
• その人は復元できない
• 正しい値をもらったか確認するには集まらなければならない
• VSS (Feldman)
• 検証可能な秘密分散
• 秘密鍵𝑠を𝑠1, … , 𝑠𝑛に秘密分散
• 楕円曲線の点Pを公開𝑠𝑃, 𝑠1𝑃, … , 𝑠𝑛𝑃も公開
• 各自は秘密鍵𝑠𝑖と𝑠𝑖𝑃の対応がとれていることを確認
• DLPの困難性により𝑠𝑖𝑃から𝑠𝑖は分からない
• 𝑠1𝑃, … , 𝑠𝑛𝑃から𝑠𝑃を復元 : みなが同じ値を復元できたか確認
VSS (Verifiable Secret Sharing)
11 / 18
• 秘密分散は特定の人の秘密情報𝑠を分散
• 情報を持つ人が強い
• DKG
• 権力を分散する(MPCの一種)
• それぞれがVSSを実行して自分の秘密情報を秘密分散
• 全員の秘密分散を集め, 秘密情報の和を全体の秘密情報とする
• 安全性証明をつけるためにはもう少し複雑なプロトコル
• ブロックチェーンなどの非中央集権的なネットワークで利用
DKG (Distributed Key Generation)
12 / 18
• 2個のベクトルの外積
• 𝑥 = 𝑎, 𝑏 , 𝑦 = (𝑐, 𝑑)に対して𝑥 × 𝑦 = 𝑎𝑑 − 𝑏𝑐
• 楕円曲線
• トーラス(長方形の向かい合う辺をつけたもの)
• 楕円曲線の点を2個の整数の組で表現
• 𝑃 = 𝑎𝑒1 + 𝑏𝑒2, 𝑄 = 𝑐𝑒1 + 𝑑𝑒2
• 𝑃と𝑄のペアリング𝑒(𝑃, 𝑄)
• 点𝑃と𝑄の外積に相当するもの
• 値は有限体の拡大体の元(詳細略)
• 「𝑃 × 𝑄」と書くことにする(ここだけの記法)
• 𝑛𝑃 × 𝑚𝑄 = 𝑛𝑚(𝑃 × 𝑄)
ペアリング
𝑥 = (𝑎, 𝑏)
𝑦 = (𝑐, 𝑑)
𝑎𝑑 − 𝑏𝑐
(𝑎, 𝑏)
(𝑐, 𝑑)
13 / 18
• ペアリングを使った署名
• 𝑃 : 楕円曲線の点
• 𝐻 : 楕円曲線の点へのハッシュ関数
• 鍵生成
• 𝑠 : 署名鍵(秘密鍵), 𝑄 = 𝑠𝑃 : 検証鍵(公開鍵)
• 署名
• 𝑚 : メッセージ, 𝜎 = 𝑠𝐻(𝑚)
• 検証
• 与えられた(𝑚, 𝜎)に対して「𝐻 𝑚 × 𝑄 = 𝜎 × 𝑃」なら受理
• 正しければ𝐻 𝑚 × 𝑠𝑃 = 𝑠 𝐻 𝑚 × 𝑃 = 𝜎 × 𝑃
• 特長
• ECDSAと違って乱数不要
BLS署名
14 / 18
• 秘密分散と相性がよい
• 検証鍵(公開鍵)が𝑠𝑃, 署名が𝑠𝐻(𝑚)で
どちらも「秘密鍵 x 楕円曲線の点」の形
• BLS署名を秘密分散と組み合わせると
• 秘密分散と異なり(秘密鍵は秘密のままなので)繰り返し利用可
• ブロックチェーン系プロジェクトで利用
BLS署名の特長
15 / 18
• MPCのうち3人で秘密計算するもの
3PC(Three-Party Computation)
16 / 18
• 秘密情報𝑠の2-of-3秘密分散
• 乱数𝑠1, 𝑠2を選び𝑠3 = 𝑠 − 𝑠1 − 𝑠2とする
• A, B, Cにそれぞれ 𝑠1, 𝑠2 , 𝑠2, 𝑠3 , (𝑠3, 𝑠1)を渡す
• 単独では𝑠は分からない
• 二人集まると𝑠1, 𝑠2, 𝑠3が揃うので𝑠 = 𝑠1 + 𝑠2 + 𝑠3を復元可能
• 秘密分散のまま加算
• 秘密情報𝑠, 𝑡がA, B, Cに秘密分散されている
• A : 𝑠1, 𝑠2 , 𝑡1, 𝑡2
• B : (𝑠2, 𝑠3), (𝑡2, 𝑡3)
• C : (𝑠3, 𝑠1), (𝑡3, 𝑡1)
• それぞれが分散された値のまま加算
• 𝐴 ∶ 𝑠1 + 𝑡1, 𝑠2 + 𝑡2 , 𝐵: 𝑠2 + 𝑡2, 𝑠3 + 𝑡3 , 𝐶 ∶ (𝑠3 + 𝑡3, 𝑠1 + 𝑡1)
• これらは「𝑠 + 𝑡」の秘密分散となっている
3PCの例
17 / 18
• 暗認本p.279の図
秘密分散のまま乗算
18 / 18

Mais conteúdo relacionado

Mais procurados

ペアリングベースの効率的なレベル2準同型暗号(SCIS2018)
ペアリングベースの効率的なレベル2準同型暗号(SCIS2018)ペアリングベースの効率的なレベル2準同型暗号(SCIS2018)
ペアリングベースの効率的なレベル2準同型暗号(SCIS2018)MITSUNARI Shigeo
 
Lifted-ElGamal暗号を用いた任意関数演算の二者間秘密計算プロトコルのmaliciousモデルにおける効率化
Lifted-ElGamal暗号を用いた任意関数演算の二者間秘密計算プロトコルのmaliciousモデルにおける効率化Lifted-ElGamal暗号を用いた任意関数演算の二者間秘密計算プロトコルのmaliciousモデルにおける効率化
Lifted-ElGamal暗号を用いた任意関数演算の二者間秘密計算プロトコルのmaliciousモデルにおける効率化MITSUNARI Shigeo
 
zk-SNARKsの仕組みについて
zk-SNARKsの仕組みについてzk-SNARKsの仕組みについて
zk-SNARKsの仕組みについてts21
 
範囲証明つき準同型暗号とその対話的プロトコル
範囲証明つき準同型暗号とその対話的プロトコル範囲証明つき準同型暗号とその対話的プロトコル
範囲証明つき準同型暗号とその対話的プロトコルMITSUNARI Shigeo
 
自作ペアリング/BLS署名ライブラリの紹介
自作ペアリング/BLS署名ライブラリの紹介自作ペアリング/BLS署名ライブラリの紹介
自作ペアリング/BLS署名ライブラリの紹介MITSUNARI Shigeo
 
楕円曲線入門 トーラスと楕円曲線のつながり
楕円曲線入門トーラスと楕円曲線のつながり楕円曲線入門トーラスと楕円曲線のつながり
楕円曲線入門 トーラスと楕円曲線のつながりMITSUNARI Shigeo
 
暗認本読書会13 advanced
暗認本読書会13 advanced暗認本読書会13 advanced
暗認本読書会13 advancedMITSUNARI Shigeo
 
BLS署名の実装とその応用
BLS署名の実装とその応用BLS署名の実装とその応用
BLS署名の実装とその応用MITSUNARI Shigeo
 
RSA暗号運用でやってはいけない n のこと #ssmjp
RSA暗号運用でやってはいけない n のこと #ssmjpRSA暗号運用でやってはいけない n のこと #ssmjp
RSA暗号運用でやってはいけない n のこと #ssmjpsonickun
 
Post-quantum zk-SNARKs on Hyperledger Fabric​
Post-quantum zk-SNARKs on Hyperledger Fabric​Post-quantum zk-SNARKs on Hyperledger Fabric​
Post-quantum zk-SNARKs on Hyperledger Fabric​Hyperleger Tokyo Meetup
 
『データ解析におけるプライバシー保護』勉強会 秘密計算
『データ解析におけるプライバシー保護』勉強会 秘密計算『データ解析におけるプライバシー保護』勉強会 秘密計算
『データ解析におけるプライバシー保護』勉強会 秘密計算MITSUNARI Shigeo
 
Optimistic Rollupとは何か
Optimistic Rollupとは何かOptimistic Rollupとは何か
Optimistic Rollupとは何かSyuhei Hiya
 
汎用性と高速性を目指したペアリング暗号ライブラリ mcl
汎用性と高速性を目指したペアリング暗号ライブラリ mcl汎用性と高速性を目指したペアリング暗号ライブラリ mcl
汎用性と高速性を目指したペアリング暗号ライブラリ mclMITSUNARI Shigeo
 
プロフェッショナルSSL/TLS 1.2章
プロフェッショナルSSL/TLS 1.2章プロフェッショナルSSL/TLS 1.2章
プロフェッショナルSSL/TLS 1.2章MITSUNARI Shigeo
 
暗号技術の実装と数学
暗号技術の実装と数学暗号技術の実装と数学
暗号技術の実装と数学MITSUNARI Shigeo
 
レベル2準同型暗号の平文バイナリ制約を与えるコンパクトな非対話ゼロ知識証明
レベル2準同型暗号の平文バイナリ制約を与えるコンパクトな非対話ゼロ知識証明レベル2準同型暗号の平文バイナリ制約を与えるコンパクトな非対話ゼロ知識証明
レベル2準同型暗号の平文バイナリ制約を与えるコンパクトな非対話ゼロ知識証明MITSUNARI Shigeo
 

Mais procurados (20)

ペアリングベースの効率的なレベル2準同型暗号(SCIS2018)
ペアリングベースの効率的なレベル2準同型暗号(SCIS2018)ペアリングベースの効率的なレベル2準同型暗号(SCIS2018)
ペアリングベースの効率的なレベル2準同型暗号(SCIS2018)
 
Lifted-ElGamal暗号を用いた任意関数演算の二者間秘密計算プロトコルのmaliciousモデルにおける効率化
Lifted-ElGamal暗号を用いた任意関数演算の二者間秘密計算プロトコルのmaliciousモデルにおける効率化Lifted-ElGamal暗号を用いた任意関数演算の二者間秘密計算プロトコルのmaliciousモデルにおける効率化
Lifted-ElGamal暗号を用いた任意関数演算の二者間秘密計算プロトコルのmaliciousモデルにおける効率化
 
zk-SNARKsの仕組みについて
zk-SNARKsの仕組みについてzk-SNARKsの仕組みについて
zk-SNARKsの仕組みについて
 
範囲証明つき準同型暗号とその対話的プロトコル
範囲証明つき準同型暗号とその対話的プロトコル範囲証明つき準同型暗号とその対話的プロトコル
範囲証明つき準同型暗号とその対話的プロトコル
 
自作ペアリング/BLS署名ライブラリの紹介
自作ペアリング/BLS署名ライブラリの紹介自作ペアリング/BLS署名ライブラリの紹介
自作ペアリング/BLS署名ライブラリの紹介
 
楕円曲線入門 トーラスと楕円曲線のつながり
楕円曲線入門トーラスと楕円曲線のつながり楕円曲線入門トーラスと楕円曲線のつながり
楕円曲線入門 トーラスと楕円曲線のつながり
 
暗認本読書会10
暗認本読書会10暗認本読書会10
暗認本読書会10
 
暗認本読書会13 advanced
暗認本読書会13 advanced暗認本読書会13 advanced
暗認本読書会13 advanced
 
BLS署名の実装とその応用
BLS署名の実装とその応用BLS署名の実装とその応用
BLS署名の実装とその応用
 
暗号技術入門
暗号技術入門暗号技術入門
暗号技術入門
 
暗認本読書会12
暗認本読書会12暗認本読書会12
暗認本読書会12
 
RSA暗号運用でやってはいけない n のこと #ssmjp
RSA暗号運用でやってはいけない n のこと #ssmjpRSA暗号運用でやってはいけない n のこと #ssmjp
RSA暗号運用でやってはいけない n のこと #ssmjp
 
Post-quantum zk-SNARKs on Hyperledger Fabric​
Post-quantum zk-SNARKs on Hyperledger Fabric​Post-quantum zk-SNARKs on Hyperledger Fabric​
Post-quantum zk-SNARKs on Hyperledger Fabric​
 
『データ解析におけるプライバシー保護』勉強会 秘密計算
『データ解析におけるプライバシー保護』勉強会 秘密計算『データ解析におけるプライバシー保護』勉強会 秘密計算
『データ解析におけるプライバシー保護』勉強会 秘密計算
 
暗認本読書会5
暗認本読書会5暗認本読書会5
暗認本読書会5
 
Optimistic Rollupとは何か
Optimistic Rollupとは何かOptimistic Rollupとは何か
Optimistic Rollupとは何か
 
汎用性と高速性を目指したペアリング暗号ライブラリ mcl
汎用性と高速性を目指したペアリング暗号ライブラリ mcl汎用性と高速性を目指したペアリング暗号ライブラリ mcl
汎用性と高速性を目指したペアリング暗号ライブラリ mcl
 
プロフェッショナルSSL/TLS 1.2章
プロフェッショナルSSL/TLS 1.2章プロフェッショナルSSL/TLS 1.2章
プロフェッショナルSSL/TLS 1.2章
 
暗号技術の実装と数学
暗号技術の実装と数学暗号技術の実装と数学
暗号技術の実装と数学
 
レベル2準同型暗号の平文バイナリ制約を与えるコンパクトな非対話ゼロ知識証明
レベル2準同型暗号の平文バイナリ制約を与えるコンパクトな非対話ゼロ知識証明レベル2準同型暗号の平文バイナリ制約を与えるコンパクトな非対話ゼロ知識証明
レベル2準同型暗号の平文バイナリ制約を与えるコンパクトな非対話ゼロ知識証明
 

Semelhante a 暗認本読書会11

Asymmetric Key Signatures
Asymmetric Key SignaturesAsymmetric Key Signatures
Asymmetric Key SignaturesDavid Evans
 
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
 
Counting (Using Computer)
Counting (Using Computer)Counting (Using Computer)
Counting (Using Computer)roshmat
 
Game playing (tic tac-toe), andor graph
Game playing (tic tac-toe), andor graphGame playing (tic tac-toe), andor graph
Game playing (tic tac-toe), andor graphSyed Zaid Irshad
 
Homomorphic Encryption
Homomorphic EncryptionHomomorphic Encryption
Homomorphic EncryptionGöktuğ Serez
 
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 GroupsMITSUNARI Shigeo
 
Cs166 mynote
Cs166 mynoteCs166 mynote
Cs166 mynoteKaya Ota
 
Beating Floating Point at its Own Game: Posit Arithmetic
Beating Floating Point at its Own Game: Posit ArithmeticBeating Floating Point at its Own Game: Posit Arithmetic
Beating Floating Point at its Own Game: Posit Arithmeticinside-BigData.com
 
Beyond Floating Point – Next Generation Computer Arithmetic
Beyond Floating Point – Next Generation Computer ArithmeticBeyond Floating Point – Next Generation Computer Arithmetic
Beyond Floating Point – Next Generation Computer Arithmeticinside-BigData.com
 
digital signatures.pptx
digital signatures.pptxdigital signatures.pptx
digital signatures.pptxAliAshraf68199
 
Scalable real-time processing techniques
Scalable real-time processing techniquesScalable real-time processing techniques
Scalable real-time processing techniquesLars Albertsson
 
module_14_digital_signatures (1).pptx
module_14_digital_signatures (1).pptxmodule_14_digital_signatures (1).pptx
module_14_digital_signatures (1).pptxAliAshraf68199
 
digital signatures1.pptx
digital signatures1.pptxdigital signatures1.pptx
digital signatures1.pptxAliAshraf68199
 
HiPEAC'19 Tutorial on Quantum algorithms using QX - 2019-01-23
HiPEAC'19 Tutorial on Quantum algorithms using QX - 2019-01-23HiPEAC'19 Tutorial on Quantum algorithms using QX - 2019-01-23
HiPEAC'19 Tutorial on Quantum algorithms using QX - 2019-01-23Aritra Sarkar
 
digital signatures10.pptx
digital signatures10.pptxdigital signatures10.pptx
digital signatures10.pptxAliAshraf68199
 
module_14_digital_signatures.pptx
module_14_digital_signatures.pptxmodule_14_digital_signatures.pptx
module_14_digital_signatures.pptxMehediHasanShaon1
 
A Generative Model for Joint Natural Language Understanding and Generation
A Generative Model for Joint Natural Language Understanding and GenerationA Generative Model for Joint Natural Language Understanding and Generation
A Generative Model for Joint Natural Language Understanding and Generationtaeseon ryu
 

Semelhante a 暗認本読書会11 (20)

Asymmetric Key Signatures
Asymmetric Key SignaturesAsymmetric Key Signatures
Asymmetric Key Signatures
 
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...
 
Class3
Class3Class3
Class3
 
Counting (Using Computer)
Counting (Using Computer)Counting (Using Computer)
Counting (Using Computer)
 
Game playing (tic tac-toe), andor graph
Game playing (tic tac-toe), andor graphGame playing (tic tac-toe), andor graph
Game playing (tic tac-toe), andor graph
 
Homomorphic Encryption
Homomorphic EncryptionHomomorphic Encryption
Homomorphic Encryption
 
Locality sensitive hashing
Locality sensitive hashingLocality sensitive hashing
Locality sensitive hashing
 
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
 
Cs166 mynote
Cs166 mynoteCs166 mynote
Cs166 mynote
 
Beating Floating Point at its Own Game: Posit Arithmetic
Beating Floating Point at its Own Game: Posit ArithmeticBeating Floating Point at its Own Game: Posit Arithmetic
Beating Floating Point at its Own Game: Posit Arithmetic
 
Beyond Floating Point – Next Generation Computer Arithmetic
Beyond Floating Point – Next Generation Computer ArithmeticBeyond Floating Point – Next Generation Computer Arithmetic
Beyond Floating Point – Next Generation Computer Arithmetic
 
digital signatures.pptx
digital signatures.pptxdigital signatures.pptx
digital signatures.pptx
 
RSA
RSARSA
RSA
 
Scalable real-time processing techniques
Scalable real-time processing techniquesScalable real-time processing techniques
Scalable real-time processing techniques
 
module_14_digital_signatures (1).pptx
module_14_digital_signatures (1).pptxmodule_14_digital_signatures (1).pptx
module_14_digital_signatures (1).pptx
 
digital signatures1.pptx
digital signatures1.pptxdigital signatures1.pptx
digital signatures1.pptx
 
HiPEAC'19 Tutorial on Quantum algorithms using QX - 2019-01-23
HiPEAC'19 Tutorial on Quantum algorithms using QX - 2019-01-23HiPEAC'19 Tutorial on Quantum algorithms using QX - 2019-01-23
HiPEAC'19 Tutorial on Quantum algorithms using QX - 2019-01-23
 
digital signatures10.pptx
digital signatures10.pptxdigital signatures10.pptx
digital signatures10.pptx
 
module_14_digital_signatures.pptx
module_14_digital_signatures.pptxmodule_14_digital_signatures.pptx
module_14_digital_signatures.pptx
 
A Generative Model for Joint Natural Language Understanding and Generation
A Generative Model for Joint Natural Language Understanding and GenerationA Generative Model for Joint Natural Language Understanding and Generation
A Generative Model for Joint Natural Language Understanding and Generation
 

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
 
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
 
ElGamal型暗号文に対する任意関数演算・再暗号化の二者間秘密計算プロトコルとその応用
ElGamal型暗号文に対する任意関数演算・再暗号化の二者間秘密計算プロトコルとその応用ElGamal型暗号文に対する任意関数演算・再暗号化の二者間秘密計算プロトコルとその応用
ElGamal型暗号文に対する任意関数演算・再暗号化の二者間秘密計算プロトコルとその応用MITSUNARI Shigeo
 
暗号化したまま計算できる暗号技術とOSS開発による広がり
暗号化したまま計算できる暗号技術とOSS開発による広がり暗号化したまま計算できる暗号技術とOSS開発による広がり
暗号化したまま計算できる暗号技術とOSS開発による広がりMITSUNARI Shigeo
 
Spectre/Meltdownとその派生
Spectre/Meltdownとその派生Spectre/Meltdownとその派生
Spectre/Meltdownとその派生MITSUNARI Shigeo
 

Mais de MITSUNARI Shigeo (12)

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
 
深層学習フレームワークにおける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を触ってみた
 
ゆるバグ
ゆるバグゆるバグ
ゆるバグ
 
ElGamal型暗号文に対する任意関数演算・再暗号化の二者間秘密計算プロトコルとその応用
ElGamal型暗号文に対する任意関数演算・再暗号化の二者間秘密計算プロトコルとその応用ElGamal型暗号文に対する任意関数演算・再暗号化の二者間秘密計算プロトコルとその応用
ElGamal型暗号文に対する任意関数演算・再暗号化の二者間秘密計算プロトコルとその応用
 
暗号化したまま計算できる暗号技術とOSS開発による広がり
暗号化したまま計算できる暗号技術とOSS開発による広がり暗号化したまま計算できる暗号技術とOSS開発による広がり
暗号化したまま計算できる暗号技術とOSS開発による広がり
 
Spectre/Meltdownとその派生
Spectre/Meltdownとその派生Spectre/Meltdownとその派生
Spectre/Meltdownとその派生
 

Último

SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 

Último (20)

SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 

暗認本読書会11

  • 1. 暗認本読書会11 準同型暗号, MPC, 秘密分散, DKG, ペアリング, BLS署名 2021/12/9 https://anninbon.connpass.com/ 光成滋生
  • 2. • 暗号文のまま復号せずに計算する暗号技術 • 暗号文同士の足し算 : 𝐸𝑛𝑐 𝑚1 + 𝐸𝑛𝑐 𝑚2 = 𝐸𝑛𝑐 𝑚1 + 𝑚2 • 暗号文同士の掛け算 : 𝐸𝑛𝑐 𝑚1 × 𝐸𝑛𝑐 𝑚2 = 𝐸𝑛𝑐(𝑚1𝑚2) • コンピュータの計算 • ビット演算andとxor(排他的論理和)で全ての回路は作れる • 𝔽2 = {0,1}の足し算 • 0 + 0 = 0, 0 + 1 = 1 + 0 = 1, 1 + 1 = 0 ; これはxor • 0 × 0 = 1 × 0 = 0 × 1 = 0, 1 × 1 = 1 ; これはand • 1bit暗号文の足し算と掛け算→任意の計算が可能 • 掛け算のみ、足し算のみは昔から知られていた • 両方出来るものの構成が長らくの未解決問題 • 2009年Gentryが構築→完全準同型暗号の発展 準同型暗号HE(Homomorphic Encryption) 2 / 18
  • 3. • 画像のエッジ検出(AHE) • クライアントで撮った2値画像を暗号化してサーバに送信 • サーバでエッジ強調処理をしてクライアントに渡して復号 • https://github.com/herumi/ahe-demo • クロス集計(WebAssemblyで実装) • https://herumi.github.io/she-wasm/ デモ 3 / 18
  • 4. • 紛失通信OT(Oblivious Transfer) • https://ppdm.jp/ot/ • 円周率のN桁(1<N<100万)をNを隠して問い合わせる • https://ppdm.jp/ot/ • クライアント𝐸𝑛𝑐(𝑚) • サーバ𝑇𝑎𝑏𝑙𝑒 𝐸𝑛𝑐 𝑚 = 𝐸𝑛𝑐[𝑇𝑎𝑏𝑙𝑒 𝑚 ]を返す • FHEの例(京都大学の松岡-伴野-松本さん) • FHEを使って動作するCPUとCコンパイラ開発セット • https://virtualsecureplatform.github.io/ L2HE, FHEを使ったデモ 4 / 18
  • 5. • 平文の世界と暗号文の世界が対応 • 現在の主流は格子を基本にした格子暗号 • 格子 : ジャングルジムの高次元版 • 暗号文 = 平文の線型処理+小さいノイズ • 復号は秘密鍵を知っていればノイズを除去できる • 加算 : ノイズはあまり大きくならない • 乗算 : ノイズが増える傾向→取り除く操作 完全準同型暗号FHE(Fully HE) 5 / 18
  • 6. • 乗算回数の上限で分類 • 加法準同型暗号AHEで出来ること • 𝐸𝑛𝑐 𝑥 + 𝐸𝑛𝑐 𝑥 = 𝐸𝑛𝑐 𝑥 + 𝑥 = 𝐸𝑛𝑐 2𝑥 • 𝐸𝑛𝑐 2𝑥 + 𝐸𝑛𝑐 𝑥 = 𝐸𝑛𝑐 2𝑥 + 𝑥 = 𝐸𝑛𝑐 3𝑥 • 一般に暗号文の𝑛倍𝑛𝐸𝑛𝑐 𝑥 = 𝐸𝑛𝑐(𝑛𝑥)は計算可能 • 2レベル準同型暗号2LHEで出来ること • 2個のベクトルデータ𝑥 = (𝑥1, … , 𝑥𝑛)と𝑦 = (𝑦1, … , 𝑦𝑛)の内積 • 𝐸𝑛𝑐 𝑥1 , … , 𝐸𝑛𝑐 𝑥𝑛 ⋅ 𝐸𝑛𝑐 𝑦1 , … , 𝐸𝑛𝑐 𝑦𝑛 = 𝐸𝑛𝑐 ∑𝑥𝑖𝑦𝑖 • 平均, 標準偏差, 2個のベクトルのcos類似度など 準同型暗号のレベル 準同型暗号の種類 加算 乗算 演算コスト 加法準同型暗号 任意回 0 軽い 2レベル準同型暗号 任意回 1 まあまあ Nレベル準同型暗号 任意回 N-1 Nが大きいほど重たい 完全準同型暗号 任意回 任意回 重たい 6 / 18
  • 7. • データを秘匿化して計算する技術の総称 • 準同型暗号, 秘密分散, MPCなどを含む • MPC(Multi-Party Computation) • 複数人が協調して互いの秘密情報を教えることなく計算 • 例 : 𝑓 𝑥1, … , 𝑥𝑛 = max(𝑥1, … , 𝑥𝑛) ; 𝑥𝑖=各自の資産 • 一番お金持ちの資産を得る : それぞれの値は分からない • 注意 : 𝑛 = 2のとき少ない資産の人は相手の値が分かる 秘密計算 7 / 18
  • 8. • semi-honestモデル • プロトコルの参加者はプロトコルに正しく従う • 計算途中に取得した値から精一杯相手の情報は得ろうとする • maliciousモデル • プロトコルに従わない • 自分に有利な情報を得たら途中で止める • 一貫性の無い値を提出する • 注意 : 一貫して嘘の値を付くのは対象外(資産の嘘の報告) • 一般に • semi-honestモデルの方が効率がよい • maliciousモデルでは嘘つきが参加者のうちどれぐらいいるか によって効率やプロトコルが変わる • ブロックチェーンなど不特定多数の参加者 モデル 8 / 18
  • 9. • 秘密情報を複数のデータに分散させて管理 • 分散されたデータを集めると元の秘密情報に戻る • 分散されたデータから元の情報は一切得られない • 2-of-2秘密分散 • データ𝑠を2個に分散 秘密分散 9 / 18
  • 10. • 情報sをn人に分散 そのうちk個集まると復元可能 • 2017年にISO/IEC 19592-2:2017として標準化 Shamir k-of-n秘密分散 𝑘個の点を通る𝑘 − 1次多項式は1個 10 / 18
  • 11. • 秘密分散の問題点 • 秘密分散で社長がある人にだけ嘘の値を教えていたら • その人は復元できない • 正しい値をもらったか確認するには集まらなければならない • VSS (Feldman) • 検証可能な秘密分散 • 秘密鍵𝑠を𝑠1, … , 𝑠𝑛に秘密分散 • 楕円曲線の点Pを公開𝑠𝑃, 𝑠1𝑃, … , 𝑠𝑛𝑃も公開 • 各自は秘密鍵𝑠𝑖と𝑠𝑖𝑃の対応がとれていることを確認 • DLPの困難性により𝑠𝑖𝑃から𝑠𝑖は分からない • 𝑠1𝑃, … , 𝑠𝑛𝑃から𝑠𝑃を復元 : みなが同じ値を復元できたか確認 VSS (Verifiable Secret Sharing) 11 / 18
  • 12. • 秘密分散は特定の人の秘密情報𝑠を分散 • 情報を持つ人が強い • DKG • 権力を分散する(MPCの一種) • それぞれがVSSを実行して自分の秘密情報を秘密分散 • 全員の秘密分散を集め, 秘密情報の和を全体の秘密情報とする • 安全性証明をつけるためにはもう少し複雑なプロトコル • ブロックチェーンなどの非中央集権的なネットワークで利用 DKG (Distributed Key Generation) 12 / 18
  • 13. • 2個のベクトルの外積 • 𝑥 = 𝑎, 𝑏 , 𝑦 = (𝑐, 𝑑)に対して𝑥 × 𝑦 = 𝑎𝑑 − 𝑏𝑐 • 楕円曲線 • トーラス(長方形の向かい合う辺をつけたもの) • 楕円曲線の点を2個の整数の組で表現 • 𝑃 = 𝑎𝑒1 + 𝑏𝑒2, 𝑄 = 𝑐𝑒1 + 𝑑𝑒2 • 𝑃と𝑄のペアリング𝑒(𝑃, 𝑄) • 点𝑃と𝑄の外積に相当するもの • 値は有限体の拡大体の元(詳細略) • 「𝑃 × 𝑄」と書くことにする(ここだけの記法) • 𝑛𝑃 × 𝑚𝑄 = 𝑛𝑚(𝑃 × 𝑄) ペアリング 𝑥 = (𝑎, 𝑏) 𝑦 = (𝑐, 𝑑) 𝑎𝑑 − 𝑏𝑐 (𝑎, 𝑏) (𝑐, 𝑑) 13 / 18
  • 14. • ペアリングを使った署名 • 𝑃 : 楕円曲線の点 • 𝐻 : 楕円曲線の点へのハッシュ関数 • 鍵生成 • 𝑠 : 署名鍵(秘密鍵), 𝑄 = 𝑠𝑃 : 検証鍵(公開鍵) • 署名 • 𝑚 : メッセージ, 𝜎 = 𝑠𝐻(𝑚) • 検証 • 与えられた(𝑚, 𝜎)に対して「𝐻 𝑚 × 𝑄 = 𝜎 × 𝑃」なら受理 • 正しければ𝐻 𝑚 × 𝑠𝑃 = 𝑠 𝐻 𝑚 × 𝑃 = 𝜎 × 𝑃 • 特長 • ECDSAと違って乱数不要 BLS署名 14 / 18
  • 15. • 秘密分散と相性がよい • 検証鍵(公開鍵)が𝑠𝑃, 署名が𝑠𝐻(𝑚)で どちらも「秘密鍵 x 楕円曲線の点」の形 • BLS署名を秘密分散と組み合わせると • 秘密分散と異なり(秘密鍵は秘密のままなので)繰り返し利用可 • ブロックチェーン系プロジェクトで利用 BLS署名の特長 15 / 18
  • 17. • 秘密情報𝑠の2-of-3秘密分散 • 乱数𝑠1, 𝑠2を選び𝑠3 = 𝑠 − 𝑠1 − 𝑠2とする • A, B, Cにそれぞれ 𝑠1, 𝑠2 , 𝑠2, 𝑠3 , (𝑠3, 𝑠1)を渡す • 単独では𝑠は分からない • 二人集まると𝑠1, 𝑠2, 𝑠3が揃うので𝑠 = 𝑠1 + 𝑠2 + 𝑠3を復元可能 • 秘密分散のまま加算 • 秘密情報𝑠, 𝑡がA, B, Cに秘密分散されている • A : 𝑠1, 𝑠2 , 𝑡1, 𝑡2 • B : (𝑠2, 𝑠3), (𝑡2, 𝑡3) • C : (𝑠3, 𝑠1), (𝑡3, 𝑡1) • それぞれが分散された値のまま加算 • 𝐴 ∶ 𝑠1 + 𝑡1, 𝑠2 + 𝑡2 , 𝐵: 𝑠2 + 𝑡2, 𝑠3 + 𝑡3 , 𝐶 ∶ (𝑠3 + 𝑡3, 𝑠1 + 𝑡1) • これらは「𝑠 + 𝑡」の秘密分散となっている 3PCの例 17 / 18