Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
BLS署名
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
shigeyuki azuchi
September 08, 2022
Technology
310
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
BLS署名
GBECの解説動画の資料です。
https://goblockchain.network/2022/09/bls/
shigeyuki azuchi
September 08, 2022
More Decks by shigeyuki azuchi
See All by shigeyuki azuchi
FORS
azuchi
0
15
クラスターmempool
azuchi
0
36
W-OTS+
azuchi
0
39
Shorのアルゴリズム
azuchi
0
64
DahLIAS: Discrete Logarithm-Based Interactive Aggregate Signatures
azuchi
0
48
Fiat-Shamir変換と注意点
azuchi
0
240
AssumeUTXOを利用したブロックチェーンの同期
azuchi
0
60
BIP-374 離散対数の等価性証明
azuchi
0
77
BIP-353 DNS Payment Instructions
azuchi
0
96
Other Decks in Technology
See All in Technology
AIコーディングの次。コードレビューと理解負荷を解消して組織の開発生産性を高める
moongift
PRO
2
2.3k
20260807_第6回_関東kaggler会LT_claw系bot xangiと始める、"寂しくない" kaggle
sugupoko
0
230
TypeScript入門 2026
recruitengineers
PRO
3
500
もう一度考える SRE チームの作り方・育て方 / Rethinking SRE #1: Building and Growing SRE Teams
rrreeeyyy
6
1k
Eight Engineering Unit 紹介資料
sansan33
PRO
3
8.1k
20260804_Q4AzureUpdateBite_FabricDataAgentの精度を高める設計.pdf
matayuuu
1
120
Agent 時代の Kaggle 展望 / kaggle-in-the-agentic-era
upura
1
680
【CEDEC2026】専門性の高いデフォルメチームが挑んだ人材育成戦略 〜Cygames Academiaの企画から実施まで〜
cygames
PRO
0
530
MIRU 2026 チュートリアル
keisuke198619
0
870
SmartHR Engineering Team Deck
smarthr
1
1.5k
グローバル基準のSREは、運用現場でどう機能したか:成熟度アセスメントの実践 / SRE NEXT 2026
sorawatanabe
0
140
JavaScript 研修 (2026)
recruitengineers
PRO
2
470
Featured
See All Featured
My Coaching Mixtape
mlcsv
0
210
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.3k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
450
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.4k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
68
56k
How to build a perfect <img>
jonoalderson
1
5.9k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.3k
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
360
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
370
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
3
420
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
200
Transcript
BLS署名
1 BLS署名 BLS(Boneh–Lynn–Shacham)署名は、署名検証にペアリングを利用した署名方式 • ペアリングとは? 同じ素数qを位数とした2つの加法巡回群G 1 ,
G 2 と乗法巡回群 G T について、 e: G 1 ✕G 2 → G T という関係が成立する一方向写像。 つまり、G 1 , G 2 の2つの群要素を入力としてG T の群要素を出力することができる。 • 対称ペアリング(G 1 = G 2 、Weilペアリングなど) • 非対称ペアリング(G 1 ≠ G 2、 BLS12-381など) 加法巡回群:全ての元が生成元の整数倍で表される。 乗法巡回群:全ての元が生成元の冪乗で表される。
2 ペアリングの双線形性と非退化性 G 1 とG 2 の生成元をそれぞれPとQとした場合、 • 双線形性
任意の整数 a, b が与えられた場合に以下の関係が成立する。 e(aP, bQ) = e(P, Q)ab • 非退化性 e(P, Q) ≠ 1で、これがG T の生成元 g = e(P, Q)
3 BLS署名 BLS署名はペアリングの双線形性を利用した署名方式 • 鍵生成 ランダムな値sを選択し、これを秘密鍵とする。対応する公開鍵は、 Y = sQ
∈ G 2 • 署名の作成 メッセージmに対する署名は、 σ = sH 1 (m) ∈ G 1 ※H 1 はG 1 の要素を出力するハッシュ関数 • 署名の検証 メッセージm、σ、公開鍵Yが与えれれた場合に、以下が成立すれば有効な署名 e(σ, Q) = e(H 1 (m), Y) ← 各写像の結果がG T の同じ要素であることを検証 双線形性e(aP, bQ) = e(P, Q)abから、 e(σ, Q) = e(sH 1 (m), Q) = e(H 1 (m), Q)s = e(H 1 (m), sQ)、つまりe(H 1 (m), Y)になる。 ※ BLS署名はペアリングの双線形性を利用して秘密鍵による計算の検証を行える
4 BLSのメリット/デメリット • ECDSAやSchnorr署名と違って、署名の生成に乱数を必要としない 公開鍵P = xG、メッセージmに対してSchnorr署名であれば、 ◦ nonce
k をランダムに選択 ◦ Public nonce R = kG ◦ s = k + H(m)x ← 秘密鍵が分からないよう必ず乱数を必要とする ◦ (R.x, s) • 乱数が不要なので、公開鍵とメッセージに対して決定論的に署名値が決まる (ECDSAやSchnorr署名では別途RFC6979のような仕様との組み合わせが必要) • 集約署名や閾値署名が実装しやすい • ペアリング関数の計算コストが高め • 公開鍵や署名のサイズは secp256k1より少し大きい ◦ secp256k1:公開鍵=33 byte、Schnorr署名= 64 byte ◦ BLS12-381:公開鍵=48 byte、BLS署名=96 byte