第八章数字签名 ppt课件
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
21
强盲签名(RSA)
设签名人S有公钥(e,n),私钥d,要对用户U的文件m进 行完全盲签名。 (1) U选取随机整数k∈[1,n],盲化m为:t=mke mod n,并将t 发给S。
(2) S签名t: td (mek)d mond。
(3) U对t去盲: std/kmon。d
s是文件m最终的签名,易证 td(m ke)dm dk(m o dn ),
信息
签名验证
是/否
注:将盲变换看作是信封,盲化文件是对文件加个信封,而去掉盲因子过程
是打开信封。文件在信封中时无人可读它,而在盲文件上签字相当于在复写 纸信封上签字,从而得到了对真文件(信封内)的签字。
14
盲签字协议
(a) A取一文件并以一随机值乘之,称此随机值为 盲因子(盲化处理)。
(b) A将此盲文件送给B。 (c) B对盲文件签字。 (d) A以盲因子除之,得到B对原文件的签字。 若签字函数和乘法函数是可换的,则上述作法成 立。否则要采用其它方法(而不是乘法)修改原文件。
17
盲签名实现的方法(举例)
假定每个成员可有10个可能的掩护名字,他们可以自行选用,别人不知 道。假定成员们并不关心在那个掩护名字下他们得到了外交豁免,并假定机 构的计算机为Agency’s Intelligent Computing Engine,简记为ALICE。则 可利用下述协议实现:
(a)每个成员准备10份文件,各用不同的掩护名字,以得到外交豁免权。 (b)成员以不同的盲因子盲化每个文件。 (c)成员将10个盲文件送给ALICE。 (d)ALICE随机选择9个,并询问成员每个文件的盲因子。 (e)成员将适当的盲因子送给ALICE。 (f)ALICE从9个文件中移去盲因子,确信其正确性。 (g)ALICE将所签署10个文件送给成员。 (f) 成员移去盲因子,并读出他的新掩护名字:“The Crimson Streak”, 在该名字下这份签署的文件给了他外交豁免权。
24
弱盲签名
所谓弱盲签名方案是指签名者S仅知道Sign(R(m))而不知 道Sign(m),但一旦公开Sign(m),S可以建立两者间的联系, 即S能把盲签名Sign(R(m))的行为与文件m的内容关联起来。 如果把文件m看作是一个电子现金,则用户U使用这个电子 现金支付给商家,再由商家到银行兑付时,银行就可以从签 名Sign(m)中了解是U消费的,从而可以追踪U的行为,这显 然不满足不可跟踪性。但是从另一角度看,这种方案可以用 于遗嘱、合同等电子公证,在一段时间内保护信息秘密,在 合适的场合公布有关内容及用户身份。
6
不可否认签名的组成
不可否认签名方案由三部分组成:数字签名算法、验证协 议、否认协议。 否认协议(Disavowal Protocol):在签字者合作下才能验证 签字,这会给签字者一种机会,在不利于他时他“拒绝” 合作以达到否认他曾签署的文件。为了防止此类事件而引 入 。构成签字算法的第三个组成部分,签字者可利用否认 协议向法庭或公众证明一个伪造的签字确是假的;如果签 字者拒绝参与执行否认协议,就表明签字事实上是真的由 他签署的。
7
不可否认签名的算法(初始化)
S为签名者; V为签名的验证者; p和q是满足安全的大素数, q是p-1的大因子,g是域 GF(p)的本原元; S拥有公私钥对(x,y),其中y=gx mod p; m为待签名的文件; h是安全的哈希函数;
8
不可否认签名的算法(签名)
签名者S进行如下计算:
1. k , K R [ 1, q ] r g K k mod p R y K mod p
所以 std/kmdmod。ns的效果相当于签名人S直接
对m签名,但S不知道m的内容。这个协议中,由于S不知道k, 不能从td得到s,从而得不到m。
22
强盲签名(DSA)
设U签名的接受者,S为签名者,其拥有公私钥对(x,y),其中 y=gx mod p,m为待签名的文件,U和S的签名过程如下:
U
签名请求
16
盲签名存在问题(举例)
反间谍组织的成员的身份必须保密,甚至连反间谍机构 也不知道他是谁。反间机构的头头要给每个成员一个签字的 文件,文件上注明:持此签署文件人(将成员的掩蔽名字写于 此)有充分外交豁免权。每个成员都有他自己的掩蔽名单。成 员们不想将他们的掩蔽名单送给反间谍机构,敌人也可能会 破坏反间谍机构的计算机。另一方面,反间机构也不会对成 员给他的任何文件都进行盲签字,例如,一个聪明的成员可 能用“成员(名字)已退休,并每年发给100万退休金”进行消 息代换后,请总统先生签字。此情况下,盲签字可能有用。
正是这些实际应用的特殊需求,使得各种各样 的特殊数字签名的研究一直是数字签名研究领域非 常活跃的部分并产生很多分支。
4
不可否认签名简介
普通数字签字,可以精确地对其进行复制, 这对于如公开声明之类文件的散发是必须的, 但对另一些文件如个人或公司信件、特别是有 价值文件的签字,如果也可随意复制和散发, 就会造成灾难。这时就需要不可否认签名。
如果 h2h1 mopdh1h2mop不d成立,这个签名是
有效的(签名者没有配合),否则,这个签名是 无效的。
11
盲签名
盲数字签名是一种特殊的数字签名,当用户A 发送消息m给签名者B时,一方面要求B对消息签 名,另一方面又不让B知道消息的内容,也就是 签名者B所签的消息是经过盲化处理的。
12
盲签名
盲签名除具有一般数字签名的特点外,还有 下面两个特征: (1)签名者无法知道所签消息的具体内容,虽然他 为这个消息签了名。(匿名性) (2)即使后来签名者见到这个签名时,也不能将之 与盲消息对应起来。(不可跟踪性)
13
盲签名的实现过程
签名接受者
信息 盲化处理
信息
签名者
私钥
签名
去盲处理 信息签名
信息盲签名
18
盲签名的安全性分析
这一协议在抗反间成员欺诈上是安全的,他必须知道哪个 文件不被检验才可进行欺诈,其机会只有10%。(当然他可以送 更多的文件)ALICE对所签第10个文件比较有信心,虽然未曾 检验。这具有盲签性,保存了所有匿名性。
反间成员可以按下述方法进行欺诈,他生成两个不同的文 件,ALICE只愿签其中之一,B找两个不同的盲因子将每个文 件变成同样的盲文件。这样若ALICE要求检验文件,B将原文 件的盲因子给他;若ALICE不要求看文件并签字,则可用盲因 子转换成另一蓄意制造的文件。以特殊的数学算法可以将两个 盲文件做得几乎一样,显然,这仅在理论上是可能的。
验证:gs ymr modp
s
S s modq
签名值(: m, R,S)
验证签名:gS yh(m,R)Rmodp
26
弱盲签名(举例)(正确性)
g S g s mod p(S s mod q)
g g (mxk ) mod p(s mx k mod q) g g k g mx mod p r g ym mod p(r g k mod p, y g x mod p)
S(投票),投票
盲签名 秘密通道
盲签名B(投票)
2. e h(R,r,m) s k xe mod q
消息m的不可否认签名是 ( s, R , r )
3.签名者的验证:h(R, r, m) e
?
(g s yer)x R
9
不可否认签名的算法(验证)
验证者V
签名者S
a,bR[1,q] ch(gsyer)a.gb modp
ch
h1 , h2
?
h1 (gs yer)a .gbt modp
?
h2 Ra .ybt modp
a,b
t
Fra Baidu bibliotek
t R [1, q] h1 ch.g t mod p h2 h1 x mod p
?
ch(gsyer)a.gb mopd
10
不可否认签名的算法(不可否认)
如果上面验证没通过,验证者V做如下运算:
t R [1, q ] h 1 g t mod p h 2 y t mod p
25
弱盲签名(举例)
设U签名的接受者,S为签名者,其拥有公私钥对(x,y),其 中y=gx mod p,m为待签名的文件,U和S的签名过程如下:
U
, R Zq*
R r g mod p
m h(m, R) 1 mod q
签名请求 r
m
S
k R Z q* r g k mod q
sm xkmo qd
g g(mxk) mod p(s mx k modq) g gk gmx mod p r g ym mod p(r gk mod p, y gx mod p)
r g y(h(m,R) )1 mod p(m (h(m, R) )1 modq)
r g yh(m,R) y mod p yh(m,R)Rmod p(R r g y mod p)
上讲的主要内容
数字签名的简介 基于RSA数字签名 基于ElGamal数字签名 Schnorr数字签名 基于ECC数字签名
1
第八章 数字签名续
主讲人:马秀文
Email:
数字签名的扩展
指定验证者(不可否认)签名 盲签名 多重签名 群签名 代理签名
3
前言
在数字签字的实际应用当中,一些特殊的场 合往往有特殊的要求。因此需要在基本数字签名技 术的基础上进行扩展,以满足这些要求。例如,为 了保护信息拥有者的隐私,产生了盲签名;为了实 现签名权的安全传递,产生了代理签名;为了实现 多人对同一消息的签名,产生了多重签名等等。
15
盲签字协议-安全性讨论
B可以欺诈吗? 是否可以获取有关文件的信息?
若盲因子完全随机,则可保证B不能由(b)中 所看到的盲文件得出原文件的信息。即使B将(c) 中所签盲文件复制,他也不能(对任何人)证明在此 协议中所签的真正文件,而只是知道其签字成立, 并可证实其签字。即使他签了100万个文件,也无 从得到所签文件的信息。
19
盲签名的分类及过程
由于具有匿名性和不可追踪性的特点,盲签名能满足实 际应用的许多需求,并已成为当前研究的热点。目前根据 “盲”程度不同,盲签名方案通常分为强盲签名、弱盲签名 两类。其中强盲签名方案应用最广,大部分场合都趋向于强 盲签名的实现,弱盲签名主要立足于特殊应用需求,是强盲 签名的重要补充,下面将对这两类方案进行简单的介绍。其 中符号含义为: R(m):为了文件m的内容不被泄漏而进行盲化过程得到的盲 文件。 Sign(R(m)):盲文件R(m)的签名。 Sign(m):去盲后得到的真实文件m的签名。
r g yh(m,R) 1 mod p(m h(m, R) 1 mod q)
r g y h(m,R) mod p y h(m,R) R mod p(R r g mod p)
27
盲签名在电子投票中的应用
投票者
投票管理中心
身份ID 合法身份号
生成身份号
身份确认协议 公布投票者身份号
投票 签名S(投票)
20
强盲签名
强盲签名又称为完全盲签名,它的原始定义是指签 名者在文件上签名是有效的,但不能把签署文件的行为 与签署了的文件相关联,即无法建立Sign(R(m))到 Sign(m)的联系。正是这些特点实现了不可追踪性 (untraceable)和匿名性(anonymous),也是盲签名 的重要特色。它主要应用于电子商务中,诸如电子现金 的使用和电子投票等有匿名性要求的领域。完全盲签名 的研究已经比较成熟,如盲RSA签名和盲Schnorr签名 方案是主要的实现方案。下面以最早的RSA盲签名实现 方案为例,介绍强盲签名方案。
5
不可否认签名简介
这类签名有一些特殊性质,其中最本质的是
在无签字者合作条件下不可能验证签字,从而可
以防止复制或散布他所签文件的可能性,这一性 质使产权拥有者可以控制产品的散发,在电子出 版系统知识产权保护中将有用场。
特点:在得不到签名者配合的情况下其他人不能正确进行
签名验证,即验证时,需由验证者与签名者合作才可证明 其正确性。这样的签名是不允许使用者任意复制的。
,, R Zq*
r
R rg y modp
m (h(m,R))1 modq m
S
k R Z q* r g k mod q
sm xkmo qd
验证:gs ymr modp
s
S s modq
签名值(: m, R,S)
验证签名:gS yh(m,R)Rmodp
23
强盲签名(DSA)(正确性)
gS gs mod p(S s modq)
强盲签名(RSA)
设签名人S有公钥(e,n),私钥d,要对用户U的文件m进 行完全盲签名。 (1) U选取随机整数k∈[1,n],盲化m为:t=mke mod n,并将t 发给S。
(2) S签名t: td (mek)d mond。
(3) U对t去盲: std/kmon。d
s是文件m最终的签名,易证 td(m ke)dm dk(m o dn ),
信息
签名验证
是/否
注:将盲变换看作是信封,盲化文件是对文件加个信封,而去掉盲因子过程
是打开信封。文件在信封中时无人可读它,而在盲文件上签字相当于在复写 纸信封上签字,从而得到了对真文件(信封内)的签字。
14
盲签字协议
(a) A取一文件并以一随机值乘之,称此随机值为 盲因子(盲化处理)。
(b) A将此盲文件送给B。 (c) B对盲文件签字。 (d) A以盲因子除之,得到B对原文件的签字。 若签字函数和乘法函数是可换的,则上述作法成 立。否则要采用其它方法(而不是乘法)修改原文件。
17
盲签名实现的方法(举例)
假定每个成员可有10个可能的掩护名字,他们可以自行选用,别人不知 道。假定成员们并不关心在那个掩护名字下他们得到了外交豁免,并假定机 构的计算机为Agency’s Intelligent Computing Engine,简记为ALICE。则 可利用下述协议实现:
(a)每个成员准备10份文件,各用不同的掩护名字,以得到外交豁免权。 (b)成员以不同的盲因子盲化每个文件。 (c)成员将10个盲文件送给ALICE。 (d)ALICE随机选择9个,并询问成员每个文件的盲因子。 (e)成员将适当的盲因子送给ALICE。 (f)ALICE从9个文件中移去盲因子,确信其正确性。 (g)ALICE将所签署10个文件送给成员。 (f) 成员移去盲因子,并读出他的新掩护名字:“The Crimson Streak”, 在该名字下这份签署的文件给了他外交豁免权。
24
弱盲签名
所谓弱盲签名方案是指签名者S仅知道Sign(R(m))而不知 道Sign(m),但一旦公开Sign(m),S可以建立两者间的联系, 即S能把盲签名Sign(R(m))的行为与文件m的内容关联起来。 如果把文件m看作是一个电子现金,则用户U使用这个电子 现金支付给商家,再由商家到银行兑付时,银行就可以从签 名Sign(m)中了解是U消费的,从而可以追踪U的行为,这显 然不满足不可跟踪性。但是从另一角度看,这种方案可以用 于遗嘱、合同等电子公证,在一段时间内保护信息秘密,在 合适的场合公布有关内容及用户身份。
6
不可否认签名的组成
不可否认签名方案由三部分组成:数字签名算法、验证协 议、否认协议。 否认协议(Disavowal Protocol):在签字者合作下才能验证 签字,这会给签字者一种机会,在不利于他时他“拒绝” 合作以达到否认他曾签署的文件。为了防止此类事件而引 入 。构成签字算法的第三个组成部分,签字者可利用否认 协议向法庭或公众证明一个伪造的签字确是假的;如果签 字者拒绝参与执行否认协议,就表明签字事实上是真的由 他签署的。
7
不可否认签名的算法(初始化)
S为签名者; V为签名的验证者; p和q是满足安全的大素数, q是p-1的大因子,g是域 GF(p)的本原元; S拥有公私钥对(x,y),其中y=gx mod p; m为待签名的文件; h是安全的哈希函数;
8
不可否认签名的算法(签名)
签名者S进行如下计算:
1. k , K R [ 1, q ] r g K k mod p R y K mod p
所以 std/kmdmod。ns的效果相当于签名人S直接
对m签名,但S不知道m的内容。这个协议中,由于S不知道k, 不能从td得到s,从而得不到m。
22
强盲签名(DSA)
设U签名的接受者,S为签名者,其拥有公私钥对(x,y),其中 y=gx mod p,m为待签名的文件,U和S的签名过程如下:
U
签名请求
16
盲签名存在问题(举例)
反间谍组织的成员的身份必须保密,甚至连反间谍机构 也不知道他是谁。反间机构的头头要给每个成员一个签字的 文件,文件上注明:持此签署文件人(将成员的掩蔽名字写于 此)有充分外交豁免权。每个成员都有他自己的掩蔽名单。成 员们不想将他们的掩蔽名单送给反间谍机构,敌人也可能会 破坏反间谍机构的计算机。另一方面,反间机构也不会对成 员给他的任何文件都进行盲签字,例如,一个聪明的成员可 能用“成员(名字)已退休,并每年发给100万退休金”进行消 息代换后,请总统先生签字。此情况下,盲签字可能有用。
正是这些实际应用的特殊需求,使得各种各样 的特殊数字签名的研究一直是数字签名研究领域非 常活跃的部分并产生很多分支。
4
不可否认签名简介
普通数字签字,可以精确地对其进行复制, 这对于如公开声明之类文件的散发是必须的, 但对另一些文件如个人或公司信件、特别是有 价值文件的签字,如果也可随意复制和散发, 就会造成灾难。这时就需要不可否认签名。
如果 h2h1 mopdh1h2mop不d成立,这个签名是
有效的(签名者没有配合),否则,这个签名是 无效的。
11
盲签名
盲数字签名是一种特殊的数字签名,当用户A 发送消息m给签名者B时,一方面要求B对消息签 名,另一方面又不让B知道消息的内容,也就是 签名者B所签的消息是经过盲化处理的。
12
盲签名
盲签名除具有一般数字签名的特点外,还有 下面两个特征: (1)签名者无法知道所签消息的具体内容,虽然他 为这个消息签了名。(匿名性) (2)即使后来签名者见到这个签名时,也不能将之 与盲消息对应起来。(不可跟踪性)
13
盲签名的实现过程
签名接受者
信息 盲化处理
信息
签名者
私钥
签名
去盲处理 信息签名
信息盲签名
18
盲签名的安全性分析
这一协议在抗反间成员欺诈上是安全的,他必须知道哪个 文件不被检验才可进行欺诈,其机会只有10%。(当然他可以送 更多的文件)ALICE对所签第10个文件比较有信心,虽然未曾 检验。这具有盲签性,保存了所有匿名性。
反间成员可以按下述方法进行欺诈,他生成两个不同的文 件,ALICE只愿签其中之一,B找两个不同的盲因子将每个文 件变成同样的盲文件。这样若ALICE要求检验文件,B将原文 件的盲因子给他;若ALICE不要求看文件并签字,则可用盲因 子转换成另一蓄意制造的文件。以特殊的数学算法可以将两个 盲文件做得几乎一样,显然,这仅在理论上是可能的。
验证:gs ymr modp
s
S s modq
签名值(: m, R,S)
验证签名:gS yh(m,R)Rmodp
26
弱盲签名(举例)(正确性)
g S g s mod p(S s mod q)
g g (mxk ) mod p(s mx k mod q) g g k g mx mod p r g ym mod p(r g k mod p, y g x mod p)
S(投票),投票
盲签名 秘密通道
盲签名B(投票)
2. e h(R,r,m) s k xe mod q
消息m的不可否认签名是 ( s, R , r )
3.签名者的验证:h(R, r, m) e
?
(g s yer)x R
9
不可否认签名的算法(验证)
验证者V
签名者S
a,bR[1,q] ch(gsyer)a.gb modp
ch
h1 , h2
?
h1 (gs yer)a .gbt modp
?
h2 Ra .ybt modp
a,b
t
Fra Baidu bibliotek
t R [1, q] h1 ch.g t mod p h2 h1 x mod p
?
ch(gsyer)a.gb mopd
10
不可否认签名的算法(不可否认)
如果上面验证没通过,验证者V做如下运算:
t R [1, q ] h 1 g t mod p h 2 y t mod p
25
弱盲签名(举例)
设U签名的接受者,S为签名者,其拥有公私钥对(x,y),其 中y=gx mod p,m为待签名的文件,U和S的签名过程如下:
U
, R Zq*
R r g mod p
m h(m, R) 1 mod q
签名请求 r
m
S
k R Z q* r g k mod q
sm xkmo qd
g g(mxk) mod p(s mx k modq) g gk gmx mod p r g ym mod p(r gk mod p, y gx mod p)
r g y(h(m,R) )1 mod p(m (h(m, R) )1 modq)
r g yh(m,R) y mod p yh(m,R)Rmod p(R r g y mod p)
上讲的主要内容
数字签名的简介 基于RSA数字签名 基于ElGamal数字签名 Schnorr数字签名 基于ECC数字签名
1
第八章 数字签名续
主讲人:马秀文
Email:
数字签名的扩展
指定验证者(不可否认)签名 盲签名 多重签名 群签名 代理签名
3
前言
在数字签字的实际应用当中,一些特殊的场 合往往有特殊的要求。因此需要在基本数字签名技 术的基础上进行扩展,以满足这些要求。例如,为 了保护信息拥有者的隐私,产生了盲签名;为了实 现签名权的安全传递,产生了代理签名;为了实现 多人对同一消息的签名,产生了多重签名等等。
15
盲签字协议-安全性讨论
B可以欺诈吗? 是否可以获取有关文件的信息?
若盲因子完全随机,则可保证B不能由(b)中 所看到的盲文件得出原文件的信息。即使B将(c) 中所签盲文件复制,他也不能(对任何人)证明在此 协议中所签的真正文件,而只是知道其签字成立, 并可证实其签字。即使他签了100万个文件,也无 从得到所签文件的信息。
19
盲签名的分类及过程
由于具有匿名性和不可追踪性的特点,盲签名能满足实 际应用的许多需求,并已成为当前研究的热点。目前根据 “盲”程度不同,盲签名方案通常分为强盲签名、弱盲签名 两类。其中强盲签名方案应用最广,大部分场合都趋向于强 盲签名的实现,弱盲签名主要立足于特殊应用需求,是强盲 签名的重要补充,下面将对这两类方案进行简单的介绍。其 中符号含义为: R(m):为了文件m的内容不被泄漏而进行盲化过程得到的盲 文件。 Sign(R(m)):盲文件R(m)的签名。 Sign(m):去盲后得到的真实文件m的签名。
r g yh(m,R) 1 mod p(m h(m, R) 1 mod q)
r g y h(m,R) mod p y h(m,R) R mod p(R r g mod p)
27
盲签名在电子投票中的应用
投票者
投票管理中心
身份ID 合法身份号
生成身份号
身份确认协议 公布投票者身份号
投票 签名S(投票)
20
强盲签名
强盲签名又称为完全盲签名,它的原始定义是指签 名者在文件上签名是有效的,但不能把签署文件的行为 与签署了的文件相关联,即无法建立Sign(R(m))到 Sign(m)的联系。正是这些特点实现了不可追踪性 (untraceable)和匿名性(anonymous),也是盲签名 的重要特色。它主要应用于电子商务中,诸如电子现金 的使用和电子投票等有匿名性要求的领域。完全盲签名 的研究已经比较成熟,如盲RSA签名和盲Schnorr签名 方案是主要的实现方案。下面以最早的RSA盲签名实现 方案为例,介绍强盲签名方案。
5
不可否认签名简介
这类签名有一些特殊性质,其中最本质的是
在无签字者合作条件下不可能验证签字,从而可
以防止复制或散布他所签文件的可能性,这一性 质使产权拥有者可以控制产品的散发,在电子出 版系统知识产权保护中将有用场。
特点:在得不到签名者配合的情况下其他人不能正确进行
签名验证,即验证时,需由验证者与签名者合作才可证明 其正确性。这样的签名是不允许使用者任意复制的。
,, R Zq*
r
R rg y modp
m (h(m,R))1 modq m
S
k R Z q* r g k mod q
sm xkmo qd
验证:gs ymr modp
s
S s modq
签名值(: m, R,S)
验证签名:gS yh(m,R)Rmodp
23
强盲签名(DSA)(正确性)
gS gs mod p(S s modq)