Upload
gray-russell
View
91
Download
6
Embed Size (px)
DESCRIPTION
5.6 一次性签名. 一次性签名是至多能签一个消息的签名方案。如果签 多个消息,敌手就可以伪造签名。这里每签一个消息就需要 一个新的公私钥对。一次性签名方案的签名和验证都十分有 效。 签名方案 密钥生成 单向函数. Lamport. 在 Y 中随机选取 为私钥 计算 , 及单向函数为公钥。. - PowerPoint PPT Presentation
Citation preview
5.6 一次性签名 一次性签名是至多能签一个消息的签名方案。如果签
多个消息,敌手就可以伪造签名。这里每签一个消息就需要
一个新的公私钥对。一次性签名方案的签名和验证都十分有
效。 签名方案
密钥生成 单向函数
Lamport
ZYf :
在 Y 中随机选取 为私钥
计算 ,
及单向函数为公钥。
,,,, 1,20,21,10,1 yyyy1,0, , kk yy
)( ,, jiji yfz 1,0 ,1 jki
1,0, ,, kk zz
,,,, 1,20,21,10,1 zzzz
签名算法 对明文 的签名是
验证算法 若 包含在公钥中,
则签名合法
11 xxxx kk } ,1|{ , jxkiy iji
}1 ),(|{ ,,, kiyfzz jijiji
例如: 素数 p=7879 ,3 是 的本原元素。定义
,令 k=3.
私钥
公钥
及
7879Z
7879mod3)( xxf
58310,1 y 8030,2 y 42850,3 y
7351,1 y 24671,2 y 64491,3 y
20090,1 z 46720,2 z 2680,3 z
38101,1 z 47211,2 z 57311,3 z
7879mod3)( xxf
对消息 x= 011 的签名为( 4285 , 2467 , 735 )。对方
验证时计算
. 它们都在公钥中,所以签名合法。
对手虽然不能从 求出 ,但是用这个方法对两
个不同的消息签名时,对手就能伪造出另一个消息的签名。
例如上例中对手知道 011 和 101 的签名分别是
38107879mod3735 47217879mod32464
2687879mod34285
jiz , jiy ,
),,( 1,11,20,3 yyy
和 ,显然 和
分别是 111 和 001 的签名。
),,( 1,10,21,3 yyy ),,( 1,10,20,3 yyy),,( 1,11,21,3 yyy
5.7 失败—停止数字签名———— Fail-stop
Fail-Stop 数字签名最早是 1990 年由 B.Pfitzmann &
M.Waidner 提出的。它允许实体 A 证明“声称是 A 的签名”实
际上是伪造的签名。其做法是展示“该签名机制所基于的假
设已受到威胁”。 Fail-Stop 数字签名的好处在于即使一个非
常强的对手可能伪造一个签名,但可以察觉出是伪造的,
与此同时不再使用该签名机制。所以称为“失败而后停止
” 更恰当一些。 Fail-Stop 数字签名应具有如下性质 : (1) 如果签名者依据该机制签署一个消息,则验证者
能验证签名并接受它 .
(2) 伪造者没有指数运算能力就不可能构造“能通过验
证算法的一批签名。
(3) 如果伪造者以高概率成功地构造出一个能通过
验证算法的签名,那么真正的签名者可以给出“该签名是伪
造的”的证明。
(4) 签名者不能自己构造出一些签名,而后又断言他们
是伪造的。以次保证接收者的安全
Fail-Stop 数字签名由签名算法、验证算法、“伪造”证明
算法组成。其中“伪造”证明算法是对伪造签名的一种证明。
1992 年 E.Heyst & T.P.Pedersen 提出的 Fail-Stop 数
字签名算法,它是一次性签名,即一个密钥只能用来签名一
次。该数字签名的基本思想是:每个可能的公钥有许多私钥
与之对应,然而签名者只知道其中之一,并用它作签名。
窃听者搜集被签名的信息,试图从中发现签名者的私
钥。由于私钥很多,所以成功的概率可以忽略不计。
窃听者使用他自己生成的密钥伪造一个信息的签名,
这个签名与签名者的签名不同。
可信中心密钥生成 p, q=(p-1)/2 是素数,选择 p 使 上的离
散对数问题是难解问题。 是 q阶元
中心选定并公开, 由可信中心选定对任
何人保密。
pZ
*pZ
11 0 qa pa mod 0 , , , qp 由可信
0a
签名者的密钥生成 对实体 A 选择 为密钥,与
其对应的公钥为 ,其中
,
2121 ,,, bbaa
21 ,
paa mod 211
pbb mod 212
签名算法 计算 x 的签名为
验证算法 验证 成立, y 是对信息 x 的
合法签名
伪造证明 可信中心的密钥
有以下基本事实
qxbay mod)( 111 qxbay mod)( 222
),( 21 yyy
pyyx mod 2121
0a
具有相同公钥 的私钥 共有 个,
称这些私钥是等价的 .
证明:私钥 与 等价当且仅当 且
,
21 ,2121 ,,, bbaa 2q
),,,( 2121 bbaa ),,,( 2121 bbaa
paaaa mod 21211
pbbbb mod 21212
1,,,0 2121 qbbaa qaaaaaa mod201201
qbabbab mod201201
确定 , 有 q 中选择。同样确定 ,
也有 q 中选择。所以每个等价类有 个私钥。
签名者用私钥 k 对明文 x 签名 y 能通过验证。与 k等价
的 私 钥 都可以对该签名进行验证
证明:私钥 k= 与 等价,它们对
消息 x 的签名不同,分别为 :
21 ,aa 21 ,aa 21 ,bb 21 ,bb
2q
k
),,,( 2121 bbaa k ),,,( 2121 bbaa
qxbay mod111 qxbay mod222
qbxay mod111 qbxay mod222
签名验证通过,即 。由私钥的定义知
,容易证明 = 。用私钥
也可以对该签名进行验证。
pyyx mod 211
xx2121 ) ( xyy
2121 x) ( 21 k
只有 q个不同且相互等价的私钥,它们对明文 x 的签名 y
都相同的。
证明:已知公钥 对应的私钥为 ,另一
个私钥 与之等价, 即:
21 , ),,,( 2121 bbaa
),,,( 2121 vvuu
pcuuaa mod 121211 quauaaac mod2012011
pcvvbb mod 221212 qvavbabc mod2012012
要求 与 对 x 的签名相同,即:
),,,( 2121 vvuu ),,,( 2121 bbaa
qyxvuxbay mod~111111 qyxvuxbay mod~
222222
2
1
2
1
2
1
2
1
0
0
010
001
000
001
y
y
c
c
v
v
u
u
x
x
a
a
该方程组系数矩阵的秩为 3 ,有
q 组解 。),,,( 2121 vvuu
只有 q个不同私钥,它们对明文 x 的签名 y 都相同的。
但用它们对另外的明文的签名则两两互不相同
证明方法同上,从略。
结论:已知对 x 的签名为 y 和另一个明文 ,敌手 O猜
中对 x’的签名 y’的概率是 。
xx
q
1
证明:假设与签名者私钥等价的 q 个私钥为 , 它们
对 x 的签名都是 y ,并且对 x’ 的签名两两互不相同。所以敌手
猜中私钥对签名的概率为 。 现假设敌手 O 能够对 x’伪造一个合法签名 并
能通过验证。面对这个合法伪造签名,真正的签名者可以从
他自己对明文 x’的签名 显然能通过验证。
qkkk ,,, 21
q
1
),( 21 yyy
),( 21 yyy
有 得出
的概率为 ,即 存在的概率
可以计算出 的概率为
真正的签名者以 作为该签名的伪造证明提交给可信中
心。
pyyyyx mod 212121
qyayyay mod201201
qyy mod022 q
11
22 )( yy q
11
qyyyya mod))(( 121110
q
11
0a
注意:这里假设签名者只有多项式时间计算能力,不能从
计算出 。现在签名者能够计算出 ,仲裁人
接受签名者的“伪造证明”。
若签名者用一个私钥 签了两个不同消息 ,
签名分别是 。可以求出签名者的私钥
,同理 。
所以该方案是一次性数字签名方案。
, 0a
),,,( 2121 bbaa
0a
xx ~ ,
)~,~( ),,( 2121 yyyy
111 xbya )~()~( 111
1 yyxxb )~()~( 221
2 yyxxb
222 xbya