Schnorr协议:非交互零知识身份证明和数字签名

本文首发公众号区块链之美!致力于区块链技术研究,传播区块链技术和解决方案、区块链应用落地、区块链行业动态等。

摘要:本篇文章介绍Schnorr的两大应用场景:从交互式零知识身份证明到非交互零知识身份证明、数字签名实现基本原理、菲亚特-沙米尔(Fiat-Shamir)变换。
在这里插入图片描述

1.Schnorr简介

Schnorr机制由德国数学家和密码学家Claus-Peter Schnorr在1991年提出,是一种基于离散对数难题的知识证明机制。Schnorr本质上是一种零知识的技术,即Prover声称知道一个密钥x的值,通过使用Schnorr加密技术,可以在不揭露x的值情况下向Verifier证明对x的知情权。即可用于证明你有一个私钥。

Schnorr中涉及到的技术有哈希函数的性质、椭圆曲线的离线对数难题。椭圆曲线的离线对数难题:已知椭圆曲线E和点G,随机选择一个整数d,容易计算Q=d*G,但是给定的Q和G计算d就非常困难。

2.技术价值

  • 证明你知道一个私钥,可用于身份识别中。
  • 数字签名。

本文中所有出现的变量,小写字母表示标量,即一个数字,在这里指整数;大写字母表示离散对数问题中的参数,例如:椭圆曲线中的点。

3.交互式Schnorr

在这里插入图片描述
原始的Schnorr机制是一个交互式的机制。在讲述其机制时,不得不请出密码学中的两个虚拟大人物Alice和Bob。注意,这两位可不是省油的灯,都存在作弊的可能性!

3.1场景描述

允许在任何拥有相同生成元(指在离散对数问题中)的协议参与者双方,证明某一方拥有私钥sk(sk=a)而不需要直接交换它。其中双方都拥有的生成元设为G,Prover(Alice)拥有私钥sk。Verifier(Bob)已经从Prover处取得Alice的公钥PK。简而言之,Bob要在不知道a的情况下验证Alice知道它。

3.1交互式Schn

  • 6
    点赞
  • 58
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值