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
14
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
34
W-OTS+
azuchi
0
38
Shorのアルゴリズム
azuchi
0
60
DahLIAS: Discrete Logarithm-Based Interactive Aggregate Signatures
azuchi
0
44
Fiat-Shamir変換と注意点
azuchi
0
240
AssumeUTXOを利用したブロックチェーンの同期
azuchi
0
57
BIP-374 離散対数の等価性証明
azuchi
0
76
BIP-353 DNS Payment Instructions
azuchi
0
94
OP_CAT and Schnorr Trick
azuchi
0
95
Other Decks in Technology
See All in Technology
JavaScript 研修 (2026)
recruitengineers
PRO
0
290
AI駆動開発は個人技からチーム戦へ:組織でAIを使いこなすための実践設計
moongift
PRO
0
440
モノリス Rails でも日中に rails db:migrate を走らせたい! / Daytime rails db:migrate on Monolithic Rails!
euglena1215
3
440
Amazon Bedrock Managed Knowledge BaseDive Deep
ren8k
0
400
新しい SLO が良い感じにハマっている話
z63d
4
2.1k
【CEDEC2026】『Relink』を拡張せよ - 『GRANBLUE FANTASY: Relink - Endless Ragnarok』の開発速度と品質を守るCI運用
cygames
PRO
0
120
AI時代の強いチームの作り方
yuukiyo
23
15k
AIがAPIを書く時代に、私たちは何を設計すべきか
nagix
0
210
Digitization部 紹介資料
sansan33
PRO
2
7.7k
Goでデータパイプラインを作ろう
sansantech
PRO
0
250
個人OSSが、机の上から世界に広がるまでの話
shinyasaita
1
340
Data Hubグループ 紹介資料
sansan33
PRO
0
3.1k
Featured
See All Featured
The Curse of the Amulet
leimatthew05
2
13k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.8k
GraphQLとの向き合い方2022年版
quramy
50
15k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.9k
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
420
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
119
120k
YesSQL, Process and Tooling at Scale
rocio
174
15k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
201
75k
Crafting Experiences
bethany
1
240
Tell your own story through comics
letsgokoyo
1
1k
From π to Pie charts
rasagy
0
250
Un-Boring Meetings
codingconduct
0
370
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くらい)