1不可否认签名 (1)产生系统参数 设p是一个大素数,并且p=2q+1,其中q也 是素数,Zn中的离散对数是难解的 随机取Z中的阶为q的元素g,由此构造 Z的q阶乘法子群G(即g为G的生成元), 在{1,2,,q-1}中随机选择作为SK, 令PK= gSKmod p, 将PK与p,g一起作为公钥公开,而SK作为 签名用户的秘密密钥。(离散对数难解问题)
1.不可否认签名 (1)产生系统参数 设 p是一个大素数,并且p=2q+1,其中 q 也 是素数, Z p *中的离散对数是难解的 随机取 Z p *中的阶为 q的元素 g,由此构造 Z p * 的 q阶乘法子群G( 即 g 为 G的生成元 ) , 在{1,2…,q-1}中随机选择作为SK , 令PK=gSKmod p , 将PK 与p,g一起作为公钥公开,而SK作为 签名用户的秘密密钥。 (离散对数难解问题 )
(2)签名过程 签名用户要对消息meG签名,可用其秘 密密钥计算s=( m)sK mod p,把s作为对m 的签名连同m一起发给对方。但这个s事 实上是无法被其他人证实的。 (3)验证协议: 接收方收到s和m后,选择随机数k1,k2∈Zn*,并 计算c=s4PKk2modp,把c送给签名者。 签名者在收到c后计算d= FcSK modg modp,并把d 送给签名的接收者。 接收方计算t=mg4modp,当且仅当t=d时可确定s是一个 对m的合法签名
(2)签名过程 签名用户要对消息mG签名,可用其秘 密密钥计算s=(m)SK mod p,把s作为对m 的签名连同m一起发给对方。但这个s事 实上是无法被其他人证实的。 (3)验证协议: • 接收方收到s和m后,选择随机数k1,k2Zp*,并 计算c=sk1PKk2 mod p,把c送给签名者。 • 签名者在收到c后计算d=cSK-1modqmodp,并把d 送给签名的接收者。 接收方计算 t= m g p k1 k 2 mod ,当且仅当 t=d 时可确定 s 是一个 对 m 的合法签名
定理41:如果s≠(m) sK mod p,则接受者 以概率1/q接收s作为m的签名。 1(4)否认协议 该协议的作用是签名方要使接收方确信 所接收到的签名信息是其他人伪造的。 也就是说当签名方声明他没有对信息m 签名,则必须执行该协议,并通过协议 向接收方证明签名是伪造的。若签名方 仅声明没有对信息m签名,又拒绝执行 该协议,则就认定签名方对信息m签名 了。该协议由两轮验证协议组成
定理4.1:如果 s ≠(m)SK mod p,则接受者 以概率1/q接收 s作为 m的签名。 (4)否认协议 该协议的作用是签名方要使接收方确信 所接收到的签名信息是其他人伪造的。 也就是说当签名方声明他没有对信息 m 签名,则必须执行该协议,并通过协议 向接收方证明签名是伪造的。若签名方 仅声明没有对信息 m签名,又拒绝执行 该协议,则就认定签名方对信息 m签名 了。该协议由两轮验证协议组成
①接收方选择随机数k1,k2∈z,并计算c=slPK2modp, 把c送给签名者。 ②签名者在收到c后计算d=cWm0 od q mod p,并把d送给 签名的接收者。 ③接收方计算 t=m gk: mod p,验证t是否不等于d。 ④接收方选择随机数f,∈zn,并计算C= s PK mod p,把C送给签名者。 ⑤签名者在收到C后计算D= CsKmodq mod p,并把D送 给签名的接收者。 ⑥接收方计算T=m/ g/ mod p,验证T是否不等于D ⑦接收者宣布s是伪造的当且仅当 (dg )/=(Dg /', mod p
①接收方选择随机数 k1,k2 * Z p,并计算 c=sk1PKk2 mod p, 把 c 送给签名者。 ② 签名者在收到 c 后计算 d c p SK q mod mod 1 ,并把 d 送给 签名的接收者。 ③ 接收方计算 t= m g p k1 k 2 mod ,验证 t 是否不等于 d。 ④ 接收方选择随机数 f1,f2 * Z p,并计算 C=sf1PKf2 mod p,把 C 送给签名者。 ⑤ 签名者在收到 C 后计算 D C p SK q mod mod 1 ,并把 D 送 给签名的接收者。 ⑥ 接收方计算 T= m g p f1 f 2 mod ,验证 T 是否不等于 D。 ⑦ 接 收 者 宣 布 s 是伪造的当且仅当 dg Dg p ( k 2 ) f1 ( f 2 )k1 mod
定理42:(1)如果s≠(m)modp,且接收方和签名方都 遵守否认协议,则(ag-k)=(Dg)mod (2)假设s=(m)3modp,且接收方遵守否认协议,如果 d≠ ngk mod p,D≠ m/g/ mod p,则(ag-k)≠(Dg)modp的概 率是1-(该结论说明相等概率是1/q,即明明是签名人的签 名,却被成功否认的概率为1/q)
定理 4.2:(1)如果 s ≠(m)SK mod p,且接收方和签名方都 遵守否认协议,则 dg Dg p ( k 2 ) f1 ( f 2 ) k1 mod 。 (2)假设 s=(m)SKmod p,且接收方遵守否认协议,如果 d m g p k1 k 2 mod ,D m g p f1 f 2 mod ,则 dg Dg p ( k 2 ) f1 ( f 2 ) k1 mod 的概 率是 1- q 1 。 (该结论说明相等概率是 1/q,即明明是签名人的签 名,却被成功否认的概率为 1/q)
2盲签名 在通常的数字签名中,总是要知道文件内容然 后对该相关信息进行签名,但有时需要某人对 一个文件签名,但又不能让他知道文件内容 如电子商务中,用户只要银行对资金划转签署 同意,而不能知道划拨多少钱,干什么,支付 给什么人,因为这是个人的秘密。 称这类签名为盲签名。其基本协议是一个所谓 的完全盲签名。 完全盲签名的具体方案是:A要B对文件签名, 但不想让他知道所签的是什么,而B并不关心 其签署的内容,只是要确保在需要时可以仲裁
2.盲签名 在通常的数字签名中,总是要知道文件内容然 后对该相关信息进行签名,但有时需要某人对 一个文件签名,但又不能让他知道文件内容 如电子商务中,用户只要银行对资金划转签署 同意,而不能知道划拨多少钱,干什么,支付 给什么人,因为这是个人的秘密。 称这类签名为盲签名。其基本协议是一个所谓 的完全盲签名。 完全盲签名的具体方案是:A要B对文件签名, 但不想让他知道所签的是什么,而B并不关心 其签署的内容,只是要确保在需要时可以仲裁
该协议如下 (1)A取一文件并乘上随机因子,得到的结 果称为盲文件,而随机值则称为盲因子。 (2)A将盲文件送给B。 (3)B对盲文件用签名算法签名并送给A。 n(4)A用盲因子除签名结果可得B对原文件 的签名。 要说明的是,(4)要成立,必须保证签名算 法和乘法函数是可换的,否则上述的(1)和 (4)必须适当修改,以确保A能得到B对原 文件的签名
该协议如下: (1)A取一文件并乘上随机因子,得到的结 果称为盲文件,而随机值则称为盲因子。 (2)A将盲文件送给 B 。 (3)B对盲文件用签名算法签名并送给 A 。 (4)A用盲因子除签名结果可得 B对原文件 的签名。 要说明的是,(4)要成立,必须保证签名算 法和乘法函数是可换的,否则上述的(1) 和 (4)必须适当修改,以确保 A能得到 B对原 文件的签名
完全盲签名应具有如下的特点: B对文件的签名合法,即能够证明B确实对该文 件签了名; B不能将所签的文件与实际上签的文件联系起来 即使他保存所有签过的文件,也不能得到文件 的真实内容,当然攻击者所得信息更少 但由于B不知道自己所签名的内容,就有可能使 A让B签署任何自己所想要的文件,甚至可以让 B对诸如“B欠A100万元”等,因不能保证A永 远是诚实的.。 采用分割选择技术,可以使B知道相信他所签 的内容是合理的,但又不知道所签的内容
完全盲签名应具有如下的特点: B对文件的签名合法,即能够证明B确实对该文 件签了名; B不能将所签的文件与实际上签的文件联系起来, 即使他保存所有签过的文件,也不能得到文件 的真实内容,当然攻击者所得信息更少。 但由于B不知道自己所签名的内容,就有可能使 A让B签署任何自己所想要的文件,甚至可以让 B对诸如“B欠A100万元”等,因不能保证A永 远是诚实的.。 采用分割-选择技术,可以使B知道相信他所签 的内容是合理的,但又不知道所签的内容
分割选择技术的盲签名协议: (1)每个成员准备n份文件,各用不同的掩护名字, 以得到外交豁免权。 (2)成员以不同的盲因子盲化每个文件,得到n个盲 文件,并把它们送给谍报机构。 (3)谍报机构从n个盲文件中随机选取n1,询问成 员它们每个对应盲因子。 (4)成员送出所对应的盲因子给谍报机构。 (5)谍报机构从n-1盲文件中移取盲因子,得到原文 件并检查其正确性。 (6)谍报机构对n个盲文件中的另一个盲文件签名并 送给该成员。 (7)成员移取盲因子,即得其隐蔽身份外交豁免权 的签名文件
分割-选择技术的盲签名协议: (1)每个成员准备n份文件,各用不同的掩护名字, 以得到外交豁免权。 (2)成员以不同的盲因子盲化每个文件,得到n个盲 文件,并把它们送给谍报机构。 (3)谍报机构从n个盲文件中随机选取n-1,询问成 员它们每个对应盲因子。 (4)成员送出所对应的盲因子给谍报机构。 (5)谍报机构从n-1盲文件中移取盲因子,得到原文 件并检查其正确性。 (6)谍报机构对n个盲文件中的另一个盲文件签名并 送给该成员。 (7)成员移取盲因子,即得其隐蔽身份外交豁免权 的签名文件
该协议能有效防止成员的欺诈行为。 因为成员要欺骗成功,必须知道哪个文件不被 检验,其成功概率是1/ 当然其成员也可以这样做,对每个文件都准备 两个不同内容的文本对,并找到两个盲因子, 使得它们的盲文本是相同的。 这样若不要求看原文件并签名,就可用对应蓄 意制造的文件的盲因子得到签名;若要求检验 原文件,就可用对应合法文件的盲因子传送给 谍报机构。 当然这在理论上是可能的,而在实际上通常是 在计算上是难的
该协议能有效防止成员的欺诈行为。 因为成员要欺骗成功,必须知道哪个文件不被 检验,其成功概率是1/n。 当然其成员也可以这样做,对每个文件都准备 两个不同内容的文本对,并找到两个盲因子, 使得它们的盲文本是相同的。 这样若不要求看原文件并签名,就可用对应蓄 意制造的文件的盲因子得到签名;若要求检验 原文件,就可用对应合法文件的盲因子传送给 谍报机构。 当然这在理论上是可能的,而在实际上通常是 在计算上是难的