Weitere ähnliche Inhalte
Mehr von MITSUNARI Shigeo (20)
Kürzlich hochgeladen (11)
自作ペアリング/BLS署名ライブラリの紹介
- 3. • 楕円曲線
• 𝑟個のギザギザがある歯車
• 𝑟回回すと元に戻る
• ペアリング
• 2個の楕円曲線𝐺1, 𝐺2から1の𝑟乗根への関数
• 双線形性
𝑒 𝑎𝑃, 𝑏𝑄 = 𝑒 𝑃, 𝑄 𝑎𝑏
楕円曲線とペアリング
3 / 9
- 4. • 公開鍵や署名を集約したり秘密分散したりできる
• ペアリングを使って実現
• 本来の意味でのmult-sigも可能
• 𝑠𝑖 ; 秘密鍵
• 𝑠𝑖 𝑄 ; 公開鍵
• 𝑠𝑖 𝐻(𝑚) ; 署名
BLS署名
𝑥𝑖, 𝑠𝑖 = 𝑓 𝑥𝑖 , 𝑠𝑖 𝑄
𝑠 ...
𝑠𝑖 𝐻(𝑚)
...
各自に秘密鍵𝑠𝑖と
公開鍵𝑠𝑖 𝑄を配布
各自が署名
𝑠0 𝐻(𝑚)
署名を復元マスター
秘密鍵
マスター
公開鍵𝑠𝑄で
検証可能
𝑠𝑖 𝑄で検証可能
4 / 9
- 6. • BN254曲線の世界最速実装 (2010, 2013)
• http://sac2013.irmacs.sfu.ca/slides/s1.pdf
• libsnark(zkSNARK proofs)
• https://github.com/scipr-lab/libsnark
• 2014年BN254ペアリング実装でate-pairingが採用される
github.com/herumi/ate-pairing
6 / 9
- 9. • OS
• Windows, Linux, Mac対応
• アーキテクチャ
• JITアセンブラXbyakによるx64 CPU最適化
• LLVM bitcodeによるARM64(その他のCPU)対応
• WebAssembly対応
• 言語バインディング
• Go
• JavaScript
• https://herumi.github.io/bls-wasm/bls-demo.html
各種OS/言語に対応
9 / 9