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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
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
16
Hyper Tree
azuchi
0
18
FORS
azuchi
0
31
クラスターmempool
azuchi
0
43
W-OTS+
azuchi
0
50
Shorのアルゴリズム
azuchi
0
71
DahLIAS: Discrete Logarithm-Based Interactive Aggregate Signatures
azuchi
0
55
Fiat-Shamir変換と注意点
azuchi
0
260
AssumeUTXOを利用したブロックチェーンの同期
azuchi
0
69
Other Decks in Technology
See All in Technology
AI臭い文章とは何なのか
nasuvitz
18
21k
spanner-autoscalerに学ぶ CRD設計パターン 〜自動化と緊急時対応を両立する Kubernetesコントローラーの作り方〜
tkuchiki
0
190
Argo CDとAtlantisで実現するインフラ管理のセルフサービス化──小規模SREチームで支えるプラットフォーム
cassius7
0
210
AIに任せた品質は、誰が見立てるのか - AI時代のテストマネジメント
nakanao
3
3.2k
ADKで始める業務改善 - AIエージェント開発時の考えと設計
harappa80
2
300
AIに会社の文脈を理解させる技術~上流工程・非エンジニアにも広げるハーネスエンジニアリング実践~
ochtum
0
150
全社共通データ基盤をつくる。ソニーのDatabricks活用とデータガバナンス設計の裏側
sony
0
130
Vibe Coding で作ったプロダクトをどう安全に動かすか / How to Safely Run Products Built with Vibe Coding
glidenote
0
800
【ゲームメーカーズスクランブル2026】『Shadowverse: Worlds Beyond』UIとアニメーションで実現する最高のユーザー体験を叶えるプロトタイピング
cygames
PRO
1
660
Datadog で始める トークンセーフティなAI 導⼊と定着
vkbaba
1
110
音声コミュニティを守るAI監視基盤_ 90%以上の入力削減を支えたServerless設計と運用判断
shuheioka123
0
110
【Findyテック文化祭ワークショップ】新卒エンジニア&採用担当と作る、 なりたい姿と今やるべき一歩
dip_tech
PRO
0
120
Featured
See All Featured
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
120
120k
Why Our Code Smells
bkeepers
PRO
340
58k
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.6k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
23k
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
340
Accessibility Awareness
sabderemane
1
220
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
6.2k
Bash Introduction
62gerente
615
220k
GraphQLとの向き合い方2022年版
quramy
50
15k
Un-Boring Meetings
codingconduct
0
430
Prompt Engineering for Job Search
mfonobong
0
460
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
560
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/