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
Fiat-Shamir変換と注意点
Search
shigeyuki azuchi
August 06, 2025
Technology
230
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Fiat-Shamir変換と注意点
GBECの解説動画の資料です。
https://goblockchain.network/2025/08/fiat-shamir/
shigeyuki azuchi
August 06, 2025
More Decks by shigeyuki azuchi
See All by shigeyuki azuchi
FORS
azuchi
0
13
クラスターmempool
azuchi
0
32
W-OTS+
azuchi
0
36
Shorのアルゴリズム
azuchi
0
59
DahLIAS: Discrete Logarithm-Based Interactive Aggregate Signatures
azuchi
0
43
AssumeUTXOを利用したブロックチェーンの同期
azuchi
0
55
BIP-374 離散対数の等価性証明
azuchi
0
74
BIP-353 DNS Payment Instructions
azuchi
0
91
OP_CAT and Schnorr Trick
azuchi
0
89
Other Decks in Technology
See All in Technology
AIツールを導入しても生産性はあがらない? カオナビが直面した 3つの壁と乗り越え方。/ Overcoming 3 Barriers to AI-Driven Productivity at kaonavi
kaonavi
0
150
AI時代におけるエンジニアの新たな役割──FDEとクオリアの探求/登壇資料(戸井田 裕貴)
hacobu
PRO
0
310
AI x 開発生産性を取り巻く予算戦略と投資対効果
i35_267
7
2.8k
ここは地獄!つらい朝会を体験することで、チームとしてのより良い振る舞いに気づくワークショップ / The stand-up meeting from hell in the game industry
scrummasudar
0
210
そのドキュメント、自動化しませんか?
yuksew
1
410
”AIを使う” から ”AIに任せる” へ ─ 開発プロセスを再設計してAIを組織標準にするまで
cyberagentdevelopers
PRO
1
140
Aurora MySQL 8.4リリース! Rubyistが備えること / what-rubyist-should-prepare-for-aurora-mysql-8-4
fkmy
0
590
現場との対話から始める “作る前に問い直す”業務改善
mochico50
1
200
アップデートで何が変わった?デモで学んで使いこなすIBM Bob2.0
muehara
0
220
非定型なドキュメントを効率よくリファクタする 〜えぇ!?仕様書27本の移行が1日で終わったって!?〜
subroh0508
2
610
Type-safe IaC for Dart
coborinai
0
180
AI Coding Agent時代のcdk-nagガードレール 〜組織ルールを強制CIで守り抜く設計の挑戦〜
mhrtech
3
500
Featured
See All Featured
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
370
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
660
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
260
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.5k
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
190
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
470
Thoughts on Productivity
jonyablonski
76
5.3k
Making Projects Easy
brettharned
120
6.7k
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
240
Become a Pro
speakerdeck
PRO
31
6k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
330
Transcript
Fiat-Shamir変換と注意点
1 Fiat-Shamir変換 対話型証明プロトコルをハッシュ関数を使って非対話型の証明プロトコルに変換する手法 【対話型証明】
例:Schnorrの非対話型ゼロ知識証明(RFC8235) https://techmedia-think.hatenablog.com/entry/2018/06/16/182735 コミットメントを送信 チャレンジを送信 チャレンジを加味した レスポンスを返信 証明者 検証者 チャレンジの値を検証者が提供するのではなく、 証明するステートメントの公開情報から計算した ハッシュ値に置き換えることで非対話型に変換する
2 Fiat-Shamir変換の注意点 【RFC8235の証明プロセス】 証明者のアリスは、P = aGとなるaの知識があることをボブに証明する場合 1.
アリスはランダムな値vを選択し、V = vGを計算する 2. アリスは、c = H(G || V || P || UserID || OtherInfo)を計算しチャレンジとし、 3. r = v - c * aを計算し、 4. (P, V, r)をボブに送る 5. ボブは、(P, V, r, UserID, OtherInfo)からcを計算してV = rG + cPが成立するかを検証する チャレンジの計算にVが含まれない場合 1. アリスは、c = H(G || P || UserID || OtherInfo)を計算しチャレンジとし、 2. rをランダムな値とし、 3. V = rG + cPを計算し、 4. (P, V, r)をボブに送る 5. ボブは、(P, V, r, UserID, OtherInfo)からcを計算してV = rG + cPが成立するかを検証する ※ rはaを使用することなく計算され、aの知識の証明にはならない。
3 Fiat-Shamir変換の注意点 証明時に公開する情報すべてをチャレンジの計算に含めること! 【脆弱性Frozen Heart 】 Fiat-Shamir変換の誤った実装により証明システムの健全性が損なわれ、証明の偽造が可能に
• Bulletproofs • Plonk • SnarkJS • grark • ckb-zkp • zk-paillier https://blog.trailofbits.com/2022/04/13/part-1-coordinated-disclosure-of-vulnerabilities-affecting-girault-bull etproofs-and-plonk/