基于零知识证明的身份认证方法和装置制造方法及图纸

技术编号:26511096 阅读:28 留言:0更新日期:2020-11-27 15:40
本申请提供一种基于零知识证明的身份认证方法和装置,方法包括:在接收到证明者发起的验证请求时,生成第一随机数R和第二随机数N;根据第一随机数R和第二随机数N构建第一挑战参数C1和第二挑战参数C2;根据将第一挑战参数C1和第二挑战参数C2形成挑战回应,并将挑战回应发送给证明者;挑战回应用于触发证明者生成验证参数N′;在接收到证明者生成的验证参数N′后,判断验证参数N′和第二随机数N是否相同;在判断验证参数N′和第二随机数N相同的情况下,通过对证明者的身份验证。这种证明方法计算过程简单、计算量较小。此外,在采用加密算法具有较好的安全性的前提下,经过一次挑战验证即可以实现对证明者身份的证明。

【技术实现步骤摘要】
基于零知识证明的身份认证方法和装置
本公开涉及加密
,尤其涉及一种基于零知识证明的身份认证方法和装置。
技术介绍
零知识证明是证明者在不向验证者提供任何有用信息的情况下,向验证者证明某个论断是否正确的方法,其在身份认证领域具有广泛应用。目前,已经广泛采用的零知识证明算法包括乘法证明协议等类似的算法。此类算法不仅计算过程复杂,其计算量也较大,还需要多轮迭代验证,才能使得欺骗概率下降到足够小。
技术实现思路
为了解决上述技术问题或者至少部分地解决上述技术问题,本申请提供了一种。一方面,本申请提供用于验证者的一种基于零知识证明的身份认证方法,包括:在接收到证明者发起的验证请求时,生成第一随机数R和第二随机数N;根据所述第一随机数R和所述第二随机数N构建第一挑战参数C1,以及,根据所述第一随机数R构建第二挑战参数C2;C1=N+R*M,C2=R*G;M为所述证明者的公钥,G为基于离散对数的加密算法的基点;根据将所述第一挑战参数C1和所述第二挑战参数C2形成挑战回应,并将所述挑战回应发送给所述证明者;所述挑战回应用于触发所述证明者生成验证参数N′;在接收到所述证明者生成的所述验证参数N′后,判断所述验证参数N′和所述第二随机数N是否相同;在判断所述验证参数N′和所述第二随机数N相同的情况下,通过对所述证明者的身份验证。可选地,所述验证请求包括验证随机数Z;所述生成第一随机数R和第二随机数N,包括:按照预定规则,将所述验证随机数Z的第一部分和一新生成随机数,组合形成所述第一随机数R;以及,将所述验证随机数的第二部分和另一新生成随机数,组合形成所述第二随机数N。可选地,所述基于离散对数加密算法为基于椭圆曲线离散对数的加密算法。另一方面,本申请提供一种用于证明者的基于零知识证明的身份认证方法,包括:生成验证请求,并发送给验证者;所述验证请求用于触发所述验证者生成挑战回应;所述挑战回应包括第一挑战参数C1和第二挑战参数C2;在接收到所述挑战回应后,根据所述第二挑战参数C2和所述证明者的私钥s计算中间参数C3,以及,根据中间参数C3和所述第一挑战参数C1计算验证参数N′;C3=s*C2,N′=C1-C3;将所述验证参数N′发送给所述验证者,以使所述验证者进行身份验证。可选地,所述验证请求包括验证随机数Z;将所述验证参数N′发送给所述验证者,包括:按照预定规则,判断所述验证参数N′是否有所述验证随机数Z的第二部分;在所述验证参数N′包含所述验证随机数的第一部分的情况下,将所述验证参数N′发送给所述验证者。可选地,根据所述第二挑战参数C2和所述证明者的私钥s计算中间参数C3,包括:采用基于椭圆曲线的离散对数加密算法,根据所述第二挑战参数C2和所述证明者的私钥s计算所述中间参数C3。再一方面,本申请提供一种基于零知识证明的身份认证方法包括:证明者生成验证请求,并发送给验证者;验证者在接收到所述验证请求时,生成第一随机数R和第二随机数N;所述验证者根据所述第一随机数R和所述第二随机数N构建第一挑战参数C1,以及,根据所述第一随机数R构建第二挑战参数C2;C1=N+R*M,C2=R*G;M为所述证明者的公钥,G为基于离散对数加密算法的基点;将所述第一挑战参数C1和所述第二挑战参数C2发送给所述证明者;所述证明者根据所述第二挑战参数C2和所述证明者的私钥s计算中间参数C3,以及,根据中间参数C3和所述第一挑战参数C1计算验证参数N′,并将所述验证参数N′发送给所述验证者;C3=s*C2,N′=C1-C3;所述验证者在判断所述验证参数N′和所述第二随机数N相同的情况下,通过对所述证明者的身份验证。可选地,所述验证请求包括验证随机数Z;所述生成第一随机数R和第二随机数N,包括:按照预定规则,将所述验证随机数Z的第一部分和一新生成随机数,组合形成所述第一随机数R;以及,将所述验证随机数的第二部分和另一新生成随机数,组合形成所述第二随机数N。再一方面,本申请提供用于验证者的一种基于零知识证明的身份认证装置,包括:第一随机数生成单元,用于在接收到证明者发起的验证请求时,生成第一随机数R和第二随机数N;挑战参数生成单元,用于根据所述第一随机数R和所述第二随机数N构建第一挑战参数C1,以及,根据所述第一随机数R构建第二挑战参数C2;C1=N+R*M,C2=R*G;M为所述证明者的公钥,G为基于离散对数的加密算法的基点;挑战发送单元,用于根据所述第一挑战参数C1和所述第二挑战参数C2形成挑战回应,并将所述挑战回应发送给所述证明者;所述挑战回应用于触发所述证明者生成验证参数N′;判断单元,用于在接收到所述证明者生成的所述验证参数N′后,判断所述验证参数N′和所述第二随机数N是否相同;身份认证单元,用于在所述判断单元判断所述验证参数N′和所述第二随机数N相同的情况下,通过对所述证明者的身份验证。可选地,所述验证请求包括验证随机数Z;第一随机数生成单元,按照预定规则,将所述验证随机数Z的第一部分和一新生成随机数,组合形成所述第一随机数R;以及,将所述验证随机数的第二部分和另一新生成随机数,组合形成所述第二随机数N。本申请提供一种用于证明者的基于零知识证明的身份认证装置,包括:请求发送单元,用于生成验证请求,并发送给验证者;所述验证请求用于触发所述验证者生成挑战回应;所述挑战回应包括第一挑战参数C1和第二挑战参数C2;挑战处理单元,用于在接收到所述挑战回应后,根据所述第二挑战参数C2和所述证明者的私钥s计算中间参数C3,以及,根据中间参数C3和所述第一挑战参数C1计算验证参数N′;C3=s*C2,N′=C1-C3;回复单元,用于将所述验证参数N′发送给所述验证者,以使所述验证者进行身份验证。可选的,所述验证请求包括验证随机数Z;所述回复单元包括验证子单元和回复子单元;所述验证子单元用于按照预定规则,判断所述验证参数N′是否有所述验证随机数Z的第二部分;所述回复子单元用于在所述验证参数N′包含所述验证随机数的第一部分的情况下,将所述验证参数N′发送给所述验证者。本申请提供的基于零知识证明的身份验证方法,在证明者和验证者处均仅通过较少运算就可以实现对证明者的身份认证;这种证明方法计算过程简单、计算量较小。此外,在采用加密算法具有较好的安全性的前提下,经过一次挑战验证即可以实现对证明者身份的证明。附图说明此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性本文档来自技高网...

【技术保护点】
1.一种基于零知识证明的身份认证方法,用于验证者,其特征在于,包括:/n在接收到证明者发起的验证请求时,生成第一随机数R和第二随机数N;/n根据所述第一随机数R和所述第二随机数N构建第一挑战参数C1,以及,根据所述第一随机数R构建第二挑战参数C2;C1=N+R*M,C2=R*G;M为所述证明者的公钥,G为基于离散对数的加密算法的基点;/n根据将所述第一挑战参数C1和所述第二挑战参数C2形成挑战回应,并将所述挑战回应发送给所述证明者;所述挑战回应用于触发所述证明者生成验证参数N′;/n在接收到所述证明者生成的所述验证参数N′后,判断所述验证参数N′和所述第二随机数N是否相同;/n在判断所述验证参数N′和所述第二随机数N相同的情况下,通过对所述证明者的身份验证。/n

【技术特征摘要】
1.一种基于零知识证明的身份认证方法,用于验证者,其特征在于,包括:
在接收到证明者发起的验证请求时,生成第一随机数R和第二随机数N;
根据所述第一随机数R和所述第二随机数N构建第一挑战参数C1,以及,根据所述第一随机数R构建第二挑战参数C2;C1=N+R*M,C2=R*G;M为所述证明者的公钥,G为基于离散对数的加密算法的基点;
根据将所述第一挑战参数C1和所述第二挑战参数C2形成挑战回应,并将所述挑战回应发送给所述证明者;所述挑战回应用于触发所述证明者生成验证参数N′;
在接收到所述证明者生成的所述验证参数N′后,判断所述验证参数N′和所述第二随机数N是否相同;
在判断所述验证参数N′和所述第二随机数N相同的情况下,通过对所述证明者的身份验证。


2.根据权利要求1所述的方法,其特征在于,所述验证请求包括验证随机数Z;
所述生成第一随机数R和第二随机数N,包括:
按照预定规则,将所述验证随机数Z的第一部分和一新生成随机数,组合形成所述第一随机数R;以及,将所述验证随机数的第二部分和另一新生成随机数,组合形成所述第二随机数N;
所述一新生随机数和所述另一新生成随机数由所述验证者或者第三方生成。


3.根据权利要求1或2所述的方法,其特征在于,所述基于离散对数加密算法为基于椭圆曲线离散对数的加密算法。


4.一种基于零知识证明的身份认证方法,用于证明者,其特征在于,包括:
生成验证请求,并发送给验证者;所述验证请求用于触发所述验证者生成挑战回应;所述挑战回应包括第一挑战参数C1和第二挑战参数C2;
在接收到所述挑战回应后,根据所述第二挑战参数C2和所述证明者的私钥s计算中间参数C3,以及,根据中间参数C3和所述第一挑战参数C1计算验证参数N′;C3=s*C2,N′=C1-C3;
将所述验证参数N′发送给所述验证者,以使所述验证者进行身份验证。


5.根据权利要求4所述的方法,其特征在于,所述验证请求包括验证随机数Z;
将所述验证参数N′发送给所述验证者,包括:
按照预定规则,判断所述验证参数N′是否有所述验证随机数Z的第二部分;
在所述验证参数N′包含所述验证随机数的第一部分的情况下,将所述验证参数N′发送给所述验证者。


6.根据权利要求4或5所述的方法,其特征在于,根据所述第二挑战参数C2和所述证明者的私钥s计算中间参数C3,包括:
采用基于椭圆曲线的离散对数加密算法,根据所述第二挑战参数C2和所述证明者的私钥s计算所述中间参数C3。


7.一种基于零知识证明的身份认证方法,其特征在于,包括:
证明者生成验证请求,并发送给验证者;
验证者在接收到所述验证请求时,生成第一随机数R和第二随机数N;
所述验证者根据所述第一随机数R和所述第二随机数N构建第一挑战参数C1,以及,根据所述第一随机数R构建第二挑战参数C2;C1=N+R*M,C2=R*G;M为所述证明者的公钥,G为基于离散对数加密算法的基点;
将所述第一挑战参数C1和所述第二挑战参数C2发送给所述证明者;
所述证明者根据所述第二挑战参数C2和所述证明者的私钥s计算中间参数C3,以及,根据中间参数C3和所述第一挑战参数C1计算验证参数N′,并将所述验证参数...

【专利技术属性】
技术研发人员:张成才
申请(专利权)人:北京天融信网络安全技术有限公司北京天融信科技有限公司北京天融信软件有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1