首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何构造零知识证明中的强菲亚特-沙米尔?

如何构造零知识证明中的强菲亚特-沙米尔?
EN

Cryptography用户
提问于 2021-02-01 04:23:30
回答 1查看 340关注 0票数 3

我刚开始学零知识证明。最近,我使用Schnorr方案实现了一个非交互式的零知识证明。我理解非交互式的零知识证明需要随机预言作为验证器生成一个证明和一个散列。其他人建议我需要使用强Fiat来生成哈希。

你能给我一些关于如何使用和实现强大的菲亚特-沙米尔的要点吗?这个哈希应该包括什么?

EN

回答 1

Cryptography用户

发布于 2021-02-01 08:59:34

快速评论:

  • Fiat-Shamir变换是用标准哈希函数(例如SHA-256或SHA-3)实现的.随机预言在现实世界中并不存在:只有在安全分析中才将真实的散列函数建模为随机预言,以获得对其真实世界安全的启发式保证。
  • 在大多数\Sigma-protocols (包括Schnorr )中,支持程序首先生成承诺(在Schnorr中,这类似于g^r)。然后,菲亚特-沙米尔被用来非交互地产生验证者的挑战,通过散列验证者拥有的东西。强和弱菲亚特-沙米尔通常指的是以下选择:要么证明只散列承诺(例如,g^r,这是弱菲亚特-沙米尔-避免它)或她散列承诺和声明(例如,(g^r || g^x),如果你用施诺尔证明知识离散对数的g^x,这是强菲亚特-沙米尔-使用它)。

至于为什么这些差异很重要:在某些情况下(通常,当验证程序可以在使用零知识证明的较大上下文中自适应地选择语句时),弱的Fiat-Shamir变换显然是不安全的。例如,在本论文中对此进行了讨论。

票数 4
EN
页面原文内容由Cryptography提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://crypto.stackexchange.com/questions/87921

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档