基于RSA的实用门限签名

本文首发公众号VenusBlockChain,关注公众号后可免费阅读!VenusBlockChain致力于区块链技术研究,传播区块链技术和解决方案、区块链应用落地、区块链行业动态等。有兴趣的小伙伴们,欢迎关注。
在这里插入图片描述

1 门限签名

门限签名是普通数字签名的一个重要分支,是门限秘密共享技术和数字签名的一种结合。1991年,Desmedt-Frankel首次提出了 ( t , n ) (t,n) (t,n)门限签名方案。 ( t , n ) (t,n) (t,n)门限签名方案是指由 n n n 个成员组成一个签名群体,该群体有一对公钥和私钥,群体内大于等于 t t t 个合法、诚实的成员组合可以代表群体用群私钥进行签名,任何人可利用该群体的公钥进行签名验证。这里 t t t 是门限值,只有大于等于 t t t 个合法成员才能代表群体进行签名,群体中任何 t − 1 t-1 t1个或更少的成员不能代表该群体进行签名,同时任何成员不能假冒其他成员进行签名。采用门限签名方式可以实现权力分配,避免滥用职权。

2 基于RSA的门限签名

本算法[1]由IBM实验室提出,算法有以下特点:

1. it is unforgeable and robust in the random oracle model, assuming the RSA problem is hard;
2. signature share generation and verification is completely non-inter-active;
3. the size of an individual signature share is bounded by a constant times the size of the RSA modulus.

算法整个流程:
在这里插入图片描述

2.1 RSA算法

2.1.1 RSA加解密

首先,RSA算法的安全性是建立在大整数因子分解的困难性之上的。

  • 秘钥生成:选择两个互异的大素数 p p p q q q,二者保密。计算 n = p q n=pq n=pq,公开 n n n ϕ ( n ) = ( p − 1 ) ( q − 1 ) \phi(n) = (p-1)(q-1) ϕ(n)=(p1)(q1) ϕ ( n ) \phi(n) ϕ(n)保密,选择一个公开的随机数 e ( 0 < e < ϕ ( n ) ) e(0< e < \phi(n)) e(0<e<ϕ(n)),满足 g c d ( e , ϕ ( n ) ) = 1 gcd(e, \phi(n))=1 gcd(e,ϕ(n))=1,计算 d = e − 1 m o d ϕ ( n ) d=e^{-1}mod \phi(n) d=e1modϕ(n) d d d保密。此时,公钥为 ( e , n ) (e,n) (e,n),私钥为 ( d , n ) 或 ( d , p , q ) (d,n)或(d,p,q) (d,n)(d,p,q)
  • 加密:加密结果 C = M e m o d n C=M^emodn C=Memodn,已知条件 M < n M < n M<n,公钥 ( e , n ) (e,n) (e,n)
  • 解密:解密结果 M = C d m o d n M=C^dmodn M=Cdmodn,已知条件 C C C,私钥 ( d , n ) (d,n) (d,n)
2.1.2 RSA签名验签

选取整数 n = p q n=pq n=pq,消息空间与签名空间均为整数空间,即 M = A = Z n M=A=Z_n M=A=Zn,定义秘钥集合 K = { ( n , e ) , ( p , q , d ) ∣ n = p d , d × e ≡ 1 m o d ϕ ( n ) } K=\{ (n,e),(p,q,d)|n=pd,d\times e \equiv 1mod \phi(n)\} K={ (n,e),(p,q,d)n=pd,d×e1modϕ(n)}

x ∈ M x \in M xM,Bob要对 x x x签名,取 k ∈ K k \in K kK s i g k ( x ) = x d m o d n = y sig_k(x)=x^dmodn=y sigk(x)=xdmodn=y,于是验证等式 x = y e m o d n x=y^emodn x=y<

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值