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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
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時代のPlaywright活用(システムテストを自動化する ー 実行エンジンにPla ywrightを選んだ理由)
ynisqa1988
2
920
現場との対話から始める “作る前に問い直す”業務改善
mochico50
1
200
凡エンジニアがこの先生きのこるためには。〜TypeScript完全に理解したい〜
alchemy1115
2
410
副作用のある Lambda でも Lambda Power Tuning は使えるのか / lambda-power-tuning-side-effects
koukihosaka
1
140
変更し続けられるシステムをどう保つか — AI時代のSSoTという設計原則
kawauso
1
1k
Alphaモジュール使っていいのかい!?いけないのかい!?どっちなんだいっ!?
watany
1
320
OPENLOGI Company Profile for engineer
hr01
1
74k
20260720_クラウド女子会×PyLadiesTokyoコラボ Amazon Bedrock ハンズオン用資料
yuuka51
1
110
_NIKKEI_Tech_Talk__勉強会は熱量では続かない___17回続いた輪読会の設計術.pdf
_awache
1
100
AI、CDK と協働する Full TypeScript アプリケーション開発 / Full TypeScript Application with AI and CDK
geekplus_tech
2
480
壊して学ぶAWS CDK: そのcdk deployで消えるもの、残るもの
k_adachi_01
1
470
AI時代におけるエンジニアの新たな役割──FDEとクオリアの探求/登壇資料(戸井田 裕貴)
hacobu
PRO
0
310
Featured
See All Featured
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Building AI with AI
inesmontani
PRO
1
1.1k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.9k
How to build a perfect <img>
jonoalderson
1
5.8k
Google's AI Overviews - The New Search
badams
0
1.1k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
Discover your Explorer Soul
emna__ayadi
2
1.2k
The Spectacular Lies of Maps
axbom
PRO
1
870
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
380
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.5k
Heart Work Chapter 1 - Part 1
lfama
PRO
8
36k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
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/