门限签名是普通数字签名的一个重要分支,是门限秘密共享技术和数字签名的一种结合。1991年,Desmedt-Frankel首次提出了 本算法[1]由IBM实验室提出,算法有以下特点: 算法整个流程: 首先,RSA算法的安全性是建立在大整数因子分解的困难性之上的。 选取整数 对 系统中有 此时,RSA公钥为 接下来,dealer选择 对于 接下来,计算 verification keys,用于验证签名的是否有效。dealer选择一个随机值 接下来,计算拉格朗日系数。令 这些值是标准拉格朗日插值公式系数。从拉格朗日插值公式可得: 下面,计算一个关于消息 每个签名份额对于有一个正确性的证明,这个正确性证明仅对于基 下面,计算每个签名份额的正确性证明以及如何验证这个签名份额: 此时,正确性证明就变成 此处,计算的是 在组合所有签名份额之前,先要验证每一个签名份额,并且要满足有效的签名份额个数不能小于门限 假设此处有一组有效的签名份额集合 此处的 因为 验证签名与RSA签名验证逻辑一样:计算 [1]https://www.iacr.org/archive/eurocrypt2000/1807/18070209-new.pdf 本文首发公众号VenusBlockChain,VenusBlockChain致力于区块链技术研究,传播区块链技术和解决方案、区块链应用落地、区块链行业动态等。有兴趣的小伙伴们,欢迎关注。
1 门限签名
(t,n)门限签名方案。
(t,n)门限签名方案是指由
n 个成员组成一个签名群体,该群体有一对公钥和私钥,群体内大于等于
t 个合法、诚实的成员组合可以代表群体用群私钥进行签名,任何人可利用该群体的公钥进行签名验证。这里
t 是门限值,只有大于等于
t 个合法成员才能代表群体进行签名,群体中任何
t−1个或更少的成员不能代表该群体进行签名,同时任何成员不能假冒其他成员进行签名。采用门限签名方式可以实现权力分配,避免滥用职权。2 基于RSA的门限签名
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加解密
p和
q,二者保密。计算
n=pq,公开
n。
ϕ(n)=(p−1)(q−1),
ϕ(n)保密,选择一个公开的随机数
e(0<e<ϕ(n)),满足
gcd(e,ϕ(n))=1,计算
d=e−1modϕ(n),
d保密。此时,公钥为
(e,n),私钥为
(d,n)或(d,p,q)。
C=Memodn,已知条件
M<n,公钥
(e,n)。
M=Cdmodn,已知条件
C,私钥
(d,n)。2.1.2 RSA签名验签
n=pq,消息空间与签名空间均为整数空间,即
M=A=Zn,定义秘钥集合
K={(n,e),(p,q,d)∣n=pd,d×e≡1modϕ(n)}。
x∈M,Bob要对
x签名,取
k∈K,
sigk(x)=xdmodn=y,于是验证等式
x=yemodn是否成立。2.2 系统初始化
l个参与者,编号分别为
1,...,l,有一个可信的dealer和一个敌手adversary。dealer选择两个长度(512bit)相等的素数
p和
q,设
p=2p′+1,q=2q′+1,其中
p′,q′也都是素数。RSA模
n=pq,令
m=p′q′,并选择公共一个素数指数
e,e>l。
PK=(n,e)。2.3 密钥
d,d∈Z,满足
de≡1modm,即
d就是要的秘密值。设置
a0=d,dealer随机的选择
ai,ai∈0,...,m−1,1≤i≤k−1,k为门限值。即构成的关于
k−1次多项式为
f(X)=∑i=0k−1aiXi。
1≤i≤l,计算的密钥值
si:si=f(i)modm。
si就是对于参与者
i的私钥
SKi。
v∈Qn,并计算
vi=vsi∈Qn,1≤i≤l,令
VK=v,VKi=vi。
δ=l!,对于集合大小为
k的子集
S,其中元素均属于
0,...,l,对于任何
i∈0,...,lS,j∈S,定义:
λi,jS=δ∏j′∈Sj(j−j′)∏j′∈Sj(i−j′)
δ⋅f(i)≡j∈S∑λi,jSf(j)modm2.4 生成门限签名份额
M的一个签名份额:令
x=H(M),对于参与者
i计算
xi=x2δsi∈Qn,
xi是一个参与者
i的签名份额。
x~=x4δ的
x2离散对数与对于基
v的
vi离散对数相似。
L(n)是
n的比特长度,
H′是一个hash函数,函数输出一个
L1bit的整数,此处
L1=128是第二个安全参数。为了生成正确性证明,参与者选择随机数
r∈{0,...,2L(n)+2L1−1},计算:
v′=vr,x′=x~r,c=H′(v,x~,vi,xi2,v′,x′),z=si+r
(z,c)。为了验证这个证明,只需要检查下面等式是否成立:
c=H′(v,x~,vi,xi2,vzvi−c,x~zxi−2c)
xi2,而不是
xi,原作者是这样解释的:Although
xi is supposed to be a square, this is not easily verified. This way, we are sure to be working in
Qn, where we need to be working to ensure soundness.2.5 组合签名份额
k。
S,
S={i1,...ik}⊂{1,...,l}。令
x=H(M)∈Zn∗,且假设
xij2=x4δsij。然后组合签名份额,计算:
w=xi12λ0,i1S...xik2λ0,ikS
λ就是2.3节中的
λi,jS。根据
δ⋅f(i)≡∑j∈Sλi,jSf(j)modm,可得
we=xe′,此处
e′=4δ2。
gcd(e′,e)=1,通过算法:
y=waxb,即为组合后的签名结果。此处
a和
b均为整数,且满足
e′a+eb=1,可以从
e′和
e上的扩展欧几里德算法得到,这样就很容易计算出满足
a和
b。2.6 签名验证
ψ=yemodn,此处
y即为2.5节中组合后的签名结果。验证者,只需要验证
x==ψ是否成立。3 参考资料
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算