Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Schnorrベースの新しいマルチシグ方式MuSig
Search
shigeyuki azuchi
April 15, 2019
Technology
170
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Schnorrベースの新しいマルチシグ方式MuSig
GBEC動画解説コンテンツのスライドです。
https://goblockchain.network/2019/04/musig/
shigeyuki azuchi
April 15, 2019
More Decks by shigeyuki azuchi
See All by shigeyuki azuchi
SLH-DSA (SPHINCS+)
azuchi
0
19
Hyper Tree
azuchi
0
22
FORS
azuchi
0
35
クラスターmempool
azuchi
0
44
W-OTS+
azuchi
0
50
Shorのアルゴリズム
azuchi
0
72
DahLIAS: Discrete Logarithm-Based Interactive Aggregate Signatures
azuchi
0
58
Fiat-Shamir変換と注意点
azuchi
0
270
AssumeUTXOを利用したブロックチェーンの同期
azuchi
0
72
Other Decks in Technology
See All in Technology
ソフトウェア ファクトリー - 再現性のあるソフトウェアの工場づくり / Software factory
iktakahiro
6
5.1k
価値について
gree_tech
PRO
0
100
1つのリクエストを追って理解する - llm-dのP/D分離
akhino
1
160
M5Stackで作る BLEマウス GPSログの世界
tomokusaba
PRO
0
440
Metadata - Section 1: HTML Basics
mohab1
0
120
実践! SRE × AI - ABEMA における AIOps -
tetsuya28
8
3.1k
Conditional PED-ANOVA: Hyperparameter Importance in Hierarchical & Dynamic Search Spaces
pfn
PRO
0
140
ブラウザとサーバーから考えるAI時代のフロントエンド監視
shogo4131
3
1k
NDIでApple Vision Proにリアルタイム映像送信
jyouryuusui
0
130
hackers_champloo_2026_tidb
makocchi
0
170
大型犬好きによるPugの紹介
yamanoku
1
160
Code for Security プロジェクト紹介 2026年10月
yu23ki14
0
110
Featured
See All Featured
A Soul's Torment
seathinner
8
3.8k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
300
Making the Leap to Tech Lead
cromwellryan
135
10k
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
2
2.2k
Writing Fast Ruby
sferik
630
63k
[SF Ruby Conf 2025] Rails X
palkan
3
1.5k
YesSQL, Process and Tooling at Scale
rocio
174
15k
Test your architecture with Archunit
thirion
2
2.4k
Exploring anti-patterns in Rails
aemeredith
4
540
Music & Morning Musume
bryan
48
7.4k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
410
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
270
Transcript
Schnorrベースの 新しいマルチシグ方式 MuSig
1 Schnorr署名 公開鍵や署名の集約特性があるデジタル署名スキーム • 楕円曲線の生成点:G • 秘密鍵:x、公開鍵:P = xG •
暗号学的ハッシュ関数: H • メッセージダイジェスト: m 【署名の生成】 • ランダムなnonce kを選択する。 • R = kGを計算する(Rは楕円曲線上の点)。 • s = k + H(P, R, m) x を計算する。 • (R, s)が署名データ 【署名の検証】 • sG = R + H(P, R, m)P が成立するか検証する。 秘密鍵 x の情報を知らなければ、 この式を満たす s は導出できない。
2 Schnorrベースのマルチシグ • 鍵ペア P1 = x1G • 鍵ペア P2
= x2G マルチシグの公開鍵 P = P1 + P2 にコインをロック ※Pに対応する秘密鍵は誰も知らない Pにロックされたコインをアンロックする ② s1 = k1 + H(P, R, m)x1 を計算 ② s2 = k2 + H(P, R, m)x2 を計算 ③ s = s1 + s2 = k1 + k2 + H(P, R, m)(x1 + x2)を計算 署名データは(R, s) ※ 署名は各ユーザーが計算した各 s値の加算することで計算できる ④ sG = R + H(P, R, m)P を検証 ① nonce R1 = k1Gを計算し送付 ① nonce R2 = k2Gを計算し送付 署名に使用するnonceはR = R1 + R2
3 Rogue-Key攻撃の問題 • 鍵ペア P1 = x1G • 鍵ペア P2
= x2G ① 公開鍵 P1を相手に送信 ② P3 = P2 - P1 を計算し、 P3を自分の公開鍵として送信する。 ③ マルチシグの公開鍵は P1 + P3 = P1 + P2 - P1 = P2 となり、悪意あるユーザーの鍵のみでマルチシグにロックされた資金を 回収するSchnorr署名を作ることができてしまう。 回避するにはP3に対応する秘密鍵を持っていること の証明を求める必要がある。
4 MuSig Rogue-Key攻撃に対して耐性がありつつ、鍵の集約が可能な Schnorrベースのマルチシグスキーム
5 MuSig • 鍵ペア P1 = x1G • nonce R1
= k1G • 鍵ペア P2 = x2G • nonce R2 = k2G ④ s1 = k1 + H(P, R, m) H(L, P1)x1 を計算 ④ s2 = k2 + H(P, R, m) H(L, P2)x2 を計算 ⑤ s = s1 + s2 = k1 + k2 + H(P, R, m)(H(L, P1)x1 + H(L, P2)x2)を計算 署名データは(R, s) ⑥ sG = R + H(P, R, m)P を検証 ※ P = H(L, P1) P1 + H(L, P2) P2の秘密鍵は H(L, P1)x1 + H(L, P2)x2 ① お互いに公開鍵を交換し、L = H(P1, P2)を計算する。 ② P = H(L, P1) P1 + H(L, P2) P2 をマルチシグの公開鍵とする。 ③ 署名に使用するnonceはR = R1 + R2
6 MuSigのポイント • 通常のSchnorrのマルチシグ P = P1 + P2 単純な公開鍵と公開鍵の加算なのでRogue-Key攻撃の懸念がある。
• MuSigのマルチシグ P = H(L, P1)P1 + H(L, P2)P2 単純な加算ではなく、参加者の公開鍵のハッシュを乗算した公開鍵を 加算することで、署名の生成にH(L, P1)x1 + H(L, P2)x2の知識が 必要となり、Rogue-Key攻撃への耐性となる。 ※ P2の部分がP3 = P2 - P1になった場合、 P = H(L, P1) P1 + H(L, P3) P3となり、有効な署名を作るにはP3の 秘密鍵(x2 - x1)の情報が必要になり、誰もその情報を知らない。
7 まとめ • 通常のSchnorrベースのマルチシグの場合、 Key-Rogue攻撃の危険性がある。 • MuSigはKey-Rogue攻撃に耐性のあるSchnorrベースの マルチシグスキーム • Schnorrベースの2ラウンド型マルチシグスキームの
安全性の証明はされていない? https://eprint.iacr.org/2018/417.pdf • secp256k1-zkpにマージ https://blockstream.com/2019/02/18/ja-musig-a-new-multisignature-standard/
8 Slackはじめました! https://goblockchain.network/