主权项 |
1.一种公开密钥数字签名算法,其特征在于:(a)选取一个RSA模数n=pq,其中p和q是两个秘密的大数素;(b)选取两个小于n的正整数λ1和λ2作为私钥,其中gcd(λ1-λ2,n)=1;(c)按如下公式计算两个小于n的正整数σ1和σ2: σ1=(λ1+λ2)(mod n) (1) σ2=(λ1λ2)(mod n) (2)公钥取为三元组(n,σ1,σ2);(d)对信息M的签名算法分为两步,第一步:计算M的散列值,并将其分解为一对小于n的正整数m1和m2,即将信息映射为一个二元组(m1,m2);第二步:(m1,m2)的数字签名取为 s=μ1x(mod n)。 (3)其中x是一个公开的系统参数,可取为较小的正整数,μ1满足如下方程: (λ1μ1+λ2μ2)(mod n)=m1, (4) (μ1+μ2)(mod n)=m2; (5)(e)对信息M的签名验证算法分为三步第一步:计算M的散列值,并将其映射为(m1,m2);第二步:根据由(1)和(2)确定的公钥与私钥之间的关系以及μ1和μ2所满足的方程(4)和(5)计算 ε=(μ1x+μ2x)(mod n), (6) δ=(μ1μ2)x(mod n); (7)第三步:验证数字签名s是否满足如下方程: (s2-εs+δ)(mod n)=0, (8)若满足,则接受签名为真,否则予以拒绝。 |