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
FORS
Search
shigeyuki azuchi
June 24, 2026
Technology
12
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
FORS
GBECの解説動画の資料です。
https://goblockchain.network/2026/06/fors/
shigeyuki azuchi
June 24, 2026
More Decks by shigeyuki azuchi
See All by shigeyuki azuchi
クラスターmempool
azuchi
0
32
W-OTS+
azuchi
0
36
Shorのアルゴリズム
azuchi
0
58
DahLIAS: Discrete Logarithm-Based Interactive Aggregate Signatures
azuchi
0
43
Fiat-Shamir変換と注意点
azuchi
0
230
AssumeUTXOを利用したブロックチェーンの同期
azuchi
0
55
BIP-374 離散対数の等価性証明
azuchi
0
74
BIP-353 DNS Payment Instructions
azuchi
0
90
OP_CAT and Schnorr Trick
azuchi
0
89
Other Decks in Technology
See All in Technology
SRE Next 2026 何でも屋からの脱却
bto
0
650
依頼文化をやめる日 EM視点で語るPlatform EngineeringとInclusive SRE / Discussing Platform Engineering and Inclusive SRE from an EM's Perspective
shin1988
4
5.3k
証券システムを10年Scalaで作り続けるということ - 関数型まつり2026
krrrr38
3
840
「ちゃんとやっている」は独りよがりだった ― 不安に寄り添うインシデント対応へ / Towards incident response that addresses anxieties
chmikata
1
5.1k
あなたの『Site』はどこですか? — xREという考え方
miyamu
0
1.2k
プロダクトだけじゃない、社内プロセスにおける自動化・省力化ノススメ
kakehashi
PRO
1
3.7k
AI時代の EM への処方箋
staka121
PRO
0
140
Keeping applications secure by evolving OAuth 2.0 and OpenID Connect
ahus1
PRO
1
160
事業価値を⽣み出すSREへ SREが担うべき意思決定の5層
kenta_hi
2
3.6k
アカウントが増えてからでは遅い? ~ マルチアカウント統制の勘所 ~
kenichinakamura
0
230
関数型の考えを TypeScript に持ち込んで、テストしやすい純粋関数を増やす / Pure at the Core, Effects at the Edge: Bringing Functional Thinking into TypeScript
kaminashi
1
110
ボーイスカウトルールでメモリやスキルを改善しよう
azukiazusa1
1
890
Featured
See All Featured
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.9k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
600
A Soul's Torment
seathinner
6
3.1k
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
170
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.4k
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
390
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
63
55k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
23k
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
11k
Mobile First: as difficult as doing things right
swwweet
225
10k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
118
120k
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
460
Transcript
FORS(Forest Of Random Subsets)
1 FORS FORS(Forest Of Random Subsets)は、1つの公開鍵/秘密鍵を用いて 数回(Few-Time)の署名が可能なデジタル署名スキーム SPHINCS+(SLH-DSA)の構成要素の1つで実際のメッセージに署名する 【パラメーター】 •
k:ツリーの個数 • t:各ツリーの高さ
2 鍵生成 1. マスターシードをランダムに選択 2. シードから擬似ランダム関数PRF(seed, i, j) を使ってk×2t個の秘密鍵を生成 iはツリーのインデックス、jはツリー内のリーフのインデックス
3. 各秘密鍵のハッシュ値をリーフとしてk個のツリーを構築 4. k個のツリーのルートr i を計算 5. k個のルートを連結して ハッシュした値が公開鍵 ※ シードだけあればすべて導出可能
3 署名 メッセージmに対して署名者は、以下の手順で署名を生成する 1. メッセージダイジェストH(m)を計算し 2. 1の結果をtビットずつk個のチャンクに分割する 各ツリーiにtビットのidx[i]が割り当てられる 3. k個の各ツリーに対して以下をピックアップしたのが署名
a. idx[i]に該当するリーフの秘密鍵 b. idx[i] のリーフからルートr i までの 経路で必要な兄弟ノード (マークルパス)
4 署名の検証 メッセージmと署名(k個の秘密鍵とそのマークルパス)を受け取った検証者は、 1. メッセージダイジェストH(m)を計算し 2. 1の結果をtビットずつk個のチャンクに分割する 各ツリーiにtビットのidx[i]が割り当てられる 3. k個の秘密鍵のハッシュ値を計算し、
4. 各ハッシュ値を各ツリーの idx[i]に割り当て、 5. マークルパスを使ってツリーのルートを計算し、 6. 全ルートのハッシュ値を計算し、 公開鍵と一致するか検証する
5 なぜFew-Timeなのか? Few-Time:何度かなら同じ鍵で署名しても安全だが、ある回数を超えると偽造可能性が無視できなくなる メッセージm、m’について同じFORS鍵で署名した場合 • ツリーiのidx[i] == idx’[i]の場合、新しく漏れる情報はなし • ツリーiのidx[i]
!= idx’[i]の場合、新しくidx’[i]の秘密鍵が漏れる ※ 同じ秘密鍵の漏洩には問題がない q回署名すると、各ツリーiで開示されたインデックスの集合S i ⊆{0,...2t-1}ができる(|S i | ≦ q) 多数のメッセージm*に対してハッシュを計算し、そのidxがすべて開示済みの集合内にあれば署名の偽造が成功する 計算困難なハッシュの計算量となるようqを設定する必要があり、 • 計算量は約(2t/q)k • 求める安全性をλビットとするとk⋅(t−log 2 q) ≥ λを満たすqを選択すること (128ビットだとパラメーターセットによってq=4〜7くらい)