【技术实现步骤摘要】
基于零知识证明的身份认证方法和装置
本公开涉及加密
,尤其涉及一种基于零知识证明的身份认证方法和装置。
技术介绍
零知识证明是证明者在不向验证者提供任何有用信息的情况下,向验证者证明某个论断是否正确的方法,其在身份认证领域具有广泛应用。目前,已经广泛采用的零知识证明算法包括乘法证明协议等类似的算法。此类算法不仅计算过程复杂,其计算量也较大,还需要多轮迭代验证,才能使得欺骗概率下降到足够小。
技术实现思路
为了解决上述技术问题或者至少部分地解决上述技术问题,本申请提供了一种。一方面,本申请提供用于验证者的一种基于零知识证明的身份认证方法,包括:在接收到证明者发起的验证请求时,生成第一随机数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,包括:按照预定规则,将所述验证随 ...
【技术保护点】
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
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。