1
主要内容
?数字信封
?数字指纹
?数字证书
?数字签名
?数字水印
?密码管理
第五章 密码学的应用
2
一、密码学通常的作用
公钥密码 (双钥密码, 非对称密码 ), 是 1976年由
Diffie和 Hellman在其, 密码学新方向, 一文中提出的
单向陷门函数是满足下列条件的函数 f:
(1)给定 x,计算 y=f(x)是容易的;
(2)给定 y,计算 x使 y=f(x)是非常困难的, 无实际意义 。
(3)存在 δ,已知 δ 时,对给定的任何 y,若相应的 x存在,
则计算 x使 y=f(x)是容易的 。
注,1*,仅满足 (1),(2)两条的称为单向函数;第 (3)
条称为陷门性, δ 称为陷门信息 。
第五章 密码学的应用
3
一、密码学通常的作用
2*,当用陷门函数 f作为加密函数时, 可将
f公开, 这相当于公开加密密钥 。 此时加密密
钥便称为公开密钥, 记为 Pk。 f函数的设计者
将 δ 保密, 用作解密密钥, 此时 δ 称为秘密钥
匙, 记为 Sk。 由于加密函数是公开的, 任何人
都可以将信息 x加密成 y=f(x),然后送给函数
的设计者 ( 可以通过不安全信道传送 ) ;由于
设计者拥有 Sk,他自然可以解出 x=f-1(y)。
3*.单向陷门函数的第 (2)条性质表明窃
听者由截获的密文 y=f(x)推测 x是不可行的 。
第五章 密码学的应用
4
Diffie-Hellman 密钥交换算法
Diffie 和 Hellman 并没有给出公钥密码实
例,也既没能找出一个真正带 陷门 的单向函数。
然而,他们给出单向函数的实例,并且基于此
提出 D-H密钥交换算法。这个算法是基于有限
域中计算离散对数的困难性问题之上的:对任
意正整数 x,计算 gx 是容易的;但是已知 g和 y
求 x使 y= gx,是计算上几乎不可能的。这称为
有限域上的离散对数问题。公钥密码学中使用
最广泛的有限域为素域 FP 。 D-H密钥交换算法
拥有美国和加拿大的专利。
第五章 密码学的应用
5
D-H密钥交换协议,A和 B协商一个大素数 p和大整数
g,1<g<p,g最好是 FP中的本原元,即 gx mod p可生
成 1~p-1中的各整数,例,2是 11的本原元。 p和 g公开。
当 A和 B按如下步骤进行保密通信:
(1)A取大的随机数 x,并计算 X= gx (mod P)
(2)B选取大的随机数 y,并计算 Y = gy (mod P)
(3)A将 X传送给 B; B将 Y传送给 A。
(4)A计算 K=YX(mod P); B计算 K ? = Xy (mod P),易见,
K=K ? =g xy (mod P)。
A和 B已获得了相同的秘密值 K。 双方以 K作为加解
密钥以传统对称密钥算法进行保密通信。
第五章 密码学的应用
6
公开密钥算法的主要特点如下:
1 ) 用加密密钥 PK对明文 A加密后得到密文, 再用解
密 密 钥 SK 对密文解密, 即 可 恢 复 出 明 文 A。
DSK(EPK(A))= A
2 ) 加密密钥不能用来解密, 即:
DPK(EPK(A))≠A ; DSK(E SK(A))≠A
3 ) 用 SK加密的信息只能用 PK解密;用 PK加密的信
息只能用 SK解密 。
4 ) 从已知的 PK不可能推导出 SK。
5 ) 加密和解密的运算可对调,EPK(DSK(A))= A
第五章 密码学的应用
7
一、密码学通常的作用
维持机密性 加密, 让别人看不懂
传输中的公共信道和存储的计算机系统非常脆弱, 系
统容易受到被动攻击 ( 截取, 偷窃, 拷贝信息 ), 主
动攻击 ( 删除, 更改, 插入等操作 ) 。
用于鉴别
由于网上的通信双方互不见面, 必须在相互通
信时 ( 交换敏感信息时 ) 确认对方的真实身份 。 即消
息的接收者应该能够确认消息的来源;入侵者不可能
伪装成他人 。
第五章 密码学的应用
8
一、密码学通常的作用
保证完整性
消息的接收者能够验证在传送过程中消息是否
被篡改;入侵者不可能用假消息代替合法消息 。
用于抗抵赖
在网上开展业务的各方在进行数据传输
时, 必须带有自身特有的, 无法被别人复制的
信息, 以保证发生纠纷时有所对证 。 发送者事
后不可能否认他发送的消息 。
第五章 密码学的应用
9
数字信封
数字信封 (DIGITAL ENVELOPE),
对数据进行加密的密钥必须经常更换 。
数字信封解决两个难题:取长补短
单钥体制:密钥分发困难;高效;数据的加密
公钥体制:加解密时间长;灵活;密钥的加密
目的:利用数据接收者的公钥来封装保护加密
数据的密钥 。
第五章 密码学的应用
10
数字信封
发方:
A1,生成对称密钥, 用该密钥对报文加密;
A2,用收方的公钥加密上述对称密钥;
A3,将 A1,A2步骤的结果传给收方;
收方:
B1,用自己的私钥解密对称密钥;
B2,用得到的对称密钥解密报文 。
第五章 密码学的应用
11
数字信封
第五章 密码学的应用
12
密钥管理极其重要 。 包括密钥的产生, 分配, 存储,
验证和使用等 。
1 由密钥分发中心 (KDC)为用户 A和 B分别分发公钥
PkA,PKB和私钥 SkA,SKB作为用户 A,B的主密钥 。
2 当 A要向 B发信时, 由 A随机产生一个大数作为 A、
B之间通信的工作密钥 。
3 A用 SkA和 PKB对工作密钥进行加密并传送给 B。
4 B用 SKB和 PkA进行解密, 得到工作密钥
5 A,B双方用此工作密钥进行保密通信 。
第五章 密码学的应用
13
数字证书
数字证书, 标志通讯各方身份的数据 。
数字标识 数字凭证, 电子身份证,
数字证书是一种安全分发公钥的方式 。
过去采用通行字, 安全性差, 现在一般采用交
互式询问回答, 在询问和回答过程中采用密码
加密 。 特别是采用密码技术的带 CPU的智能卡,
安全性好 。 在电子商务系统中, 所有参与活动
的实体都需要用数字证书来表明自己的身份 。
第五章 密码学的应用
14
密钥管理中心负责密钥的发放, 注销及验证 。 RSA公
钥体制就是采用这种方式进行密钥管理的 。 密钥管理
中心又称为证书授权中心 (CA) 。
CA为每个申请公开密钥的用户发放一个证书, 证明
该用户拥有证书中列出的公钥 。 数字证书内容:
持证人的个人信息 ( 姓名, 性别, 地址, E-mail);
持证人的公钥;证书过期时间;证书序列号
CA的名称; CA的数字签名;
CA的数字签名保证不能伪造和篡改该证书, 因此,
数字证书既能分配公钥, 又实现了身份认证 。
第五章 密码学的应用
15
身份认证
第五章 密码学的应用
用户 A 用户 B
1 用户 A的标识符
2 y1=EPA(RB);y2=DSB(y1)
3 y3=EPB(RB)
y1? EPB(y2) 相等则确认 B
RB? DSB (y3)相等则确认 A
16
身份认证
首先, A将自己的身份传送给 B,但 B不能确定此信息是来自 A
还是窃密者 T;
B产生一很大的随机数 RB,用 PA加密 RB得到 EPA( RB) 传送
给 A,并用 SB做 DSB( EPA( RB)) 运算, 将结果传送给 A。 A
对 y1解密得到 DSA( EPA( RB)) = RB,由于只有 A知道 SA,
因此只有 A才可求得 RB,然后 A用 PB将 y2加密, 得到 EPA
( RB), 由于只有合法的 B才拥有 SB,因此可以通过将计算
结果与 EPA( RB) 比较, A就可以确认通信对方是 B;
合法者 A将求得的 RB用 PB加密传送给 B,因为只有合法的 A可
以求得 RB从而可以得到正确的 EPB( RB) ; B只需用 SB解密
y3即可得到 DSB( EPB( RB)) = RB,将此 RB与原来的 RB对
比就可确认对方是 A。
第五章 密码学的应用
17
二、数字指纹
在数字签名中有重要作用的, 报文摘要, 算法,
即生成报文, 数字指纹, 的方法, 近年来倍受
关注, 构成了现代密码学的一个重要侧面 。 为
防止传输和存储的消息被有意或无意地篡改,
采用哈希函数对消息进行运算生成消息摘要,
附在消息之后发出或与信息一起存储 。 它在票
据防伪中具有重要应用 ( 如税务的金税系统和
银行的支付密码器 ) 。
第五章 密码学的应用
18
二、数字指纹
数字指纹是通过一类特殊的散列函数 (HASH函
数 )生成的, 对这类 HASH函数的特殊要求是:
1.输入报文的长度没有限制;
2.对输入任何报文,能生成固定长度的摘要
(数字指纹 );
3.从报文能方便地算出摘要;
4.极难从指定的摘要生成一个报文,而由该
报文又反推算出该指定的摘要;
5.两个不同的报文极难生成相同的摘要 。
第五章 密码学的应用
19
二、数字指纹
哈希函数的安全因素:
一致性:相同的输入产生相同的输出 。
随机性:消息摘要外观是随机的, 以防被猜出
源消息 。
唯一性:几乎不可能找到两个消息产生相同的
消息摘要 。
单向性:即如果给出输出, 则很难确定出输入
消息 。
第五章 密码学的应用
20
二、数字指纹
基本过程是:
1,发送者写一消息, 并作为单向哈希函数的
输入 。
2,消息摘要连消息一齐发送
3,接受者分离消息和消息摘要, 并利用消息
生成消息摘要 。
4,比较两消息摘要, 如果相同, 则消息在传
送期间没被更改 。
第五章 密码学的应用
21
二、数字指纹
可以使用公开密钥技术对消息摘要加密, 防止
同时更改消息和消息摘要 。
消息摘要算法中两种流行的方式是,MD2和
MD5。 一个消息摘要是一个加密校验和, 不
像 CRC是一个算术校验和 。 常用的哈希函数有:
消息摘要 4( MD4) 算法
消息摘要 5( MD5) 算法
安全哈希函数 ( SHA)
第五章 密码学的应用
22
三,MD5算法
MD5报文摘要算法 RFC1321由 Rivest于 1992年提出 。
可对任意长的报文进行运算, 得出 128位的 MD代码 。
MD5算法是对杂凑压缩信息块按 512位进行处理的,
首先它对杂凑信息进行填充, 使信息的长度等于 512
的倍数 。 从八十年代末到九十年代,Rivest开发了好几
种 RSA公司专有的报文摘要算法,包括 MD,MD2、
MD5等 。 据称, 可以花费一千万美元去制造一台专
门的机器,针对 MD5搜索两个不同的报文具有相同的
摘要,即 "碰撞 "现象,平均用 24天才能找到一个碰
撞 。,MD5被认为仍是一个安全的 。
第五章 密码学的应用
23
四、数字签名
鉴别文件或书信真伪的传统做法亲笔签名或盖
章 。 签名起到认证, 核准, 生效的作用 。 电子
商务, 政务要求对电子文档进行辨认和验证,
因而产生数字签名 。 数字签名的作用:保证信
息完整性;提供信息发送者的身份认证 。
与传统签名的区别:
?需要将签名与消息绑定在一起 。
?通常任何人都可验证 。
?要考虑防止签名的复制, 重用 。
第五章 密码学的应用
24
四、数字签名
数字签名 (Digital Signature)
信息发送者使用公开密钥算法技术, 产生别人
无法伪造的一段数字串 。
发送者用自己的私有密钥加密数据传给接收者,
接收者用发送者的公钥解开数据后, 就可确定
消息来自于谁, 同时也是对发送者发送的信息
的真实性的一个证明 。 发送者对所发信息不能
抵赖 。
第五章 密码学的应用
25
四、数字签名
数字签名的过程:
假设 A要发送一个电子文件给 B。
1,系统初始化:选择签名所需的算法, 参数
2,产生签名,A用其私钥加密文件并发送给 B ;
3,签名验证,B用 A的公钥解开 A送来的文件
签名体制的构成:签名算法;验证算法
第五章 密码学的应用
26
四、数字签名
数字签名必须保证:
?可验证:签字是可以被确认的
?防抵赖:发送者事后不承认发送报文并签名;
?防假冒:攻击者冒充发送者向收方发送文件;
?防篡改:收方对收到的文件进行篡改;
?防伪造:收方伪造对报文的签名 。
签名对安全, 防伪, 速度要求比加密更高 。
第五章 密码学的应用
27
消息认证与数字签名的区别:
前者能验证消息来源及完整性, 防范第三者;
后者在收发双方产生利害冲突时, 解决纠纷 。
数字签名需要解决的一些问题
1,签字后的文件可能被 B重复使用 。 如果签字
后的文件是一张支票, B很容易多次用该电子支
票兑换现金, 为此 A需要在文件中加上一些该支
票的特有的凭证, 如 timestamp等, 以防止上述
情况发生 。
第五章 密码学的应用
28
四、数字签名
2,公钥算法效率很低, 不易用于长文件的加
密 。 一般采用 Hash函数, 将原文件单向映射为
H=Hash(P),H只有几百 bit,并且由 P可以很快
生成 H,但由于 H几乎不可能生成 P。
将公钥算法作用在 H上生成, 签名, S,记
为 Ek1( H) =S,k1为 A的私钥, A将 ( P,S)
传给 B,B收到 (P,S)后, 要验证 S是 A的签字 。
若 Dk2( S) =Hash( P), 则 S就是 A的签字 。
第五章 密码学的应用
29
四、数字签名
第五章 密码学的应用
30
四、数字签名
第五章 密码学的应用
1)发方A用单向散列函数对信息生成摘要。
2)A用自己的私钥签名信息摘要。
3)A把信息本身和已签名的信息摘要一起
发送出去。
4)收方B通过使用同一个单向散列函数对
接收的信息生成新摘要,再用A的公钥对数
字签名解密,并与新生成的信息摘要比较,
以确认发方的身份和信息是否被修改过。
31
第五章 密码学的应用
加密和数字签名相结合。设 SKA和 SKB分别为 A和 B
的秘密密钥,而 PKA和 PKB分别为 A和 B的公开密钥。
A用 SKA对报文 M进行解密运算,得到 DSKA(M),
再用 B的公钥 PKB加密得到 EPKB(DSKA(M)),然后
传送给 B; B用私钥 SKB解密得到 DSKA(M),再用 A
的公钥 PKA加密恢复出明文 EPKA(DSKA(M))= M。
除 A外没有别人能产生密文 DSKA( M),这样,报
文 M就被签名了。若 A要抵赖曾发送报文给 B,B可
将 M及 DSKA( M) 出示给公证机关,公证机关很容
易用 PKA去证实 A确实发送消息 M给 B。 反之,如果
B将 M伪造成 M′,则 B不能在第三者面前出示 DSKA
( M′),这样就证明 B伪造了报文 。
32
第五章 密码学的应用
?可仲裁的数字签名
直接数字签名的缺陷:签名者声称私钥被盗,
签名是他人假冒。为此引入第三方作仲裁者。
签名过程:发方 X 收方 Y 仲裁 A 消息 M
X?A,M || EkXA[IDx||H(M)]
A?Y,EkAY [IDx|| M||EkXA [IDx||H(M)]||T]
说明,E:单钥加密,kXA, kAY 分别为 X和 A,A
和 Y的共享密钥。 T:时戳(不是旧消息的重放)
Idx,x的身份 H(M):M的杂凑值
33
第五章 密码学的应用
?可仲裁数字签名
Y对收到的内容保存,以备争议时使用。
前提:双方都信任仲裁者
由于 Y不知 kXA,不能直接验证 X的签名,而是
依靠仲裁者。因此,仲裁者必须做到:
?X相信 A不会泄漏 kXA,不会伪造 X的签名;
?Y相信 A确实收到 X的签名并验证无误后发送;
?X和 Y都相信 A可以公正地解决争议。
34
上述方法缺陷:若 A不公正,与 X共谋否认签名,
或与 Y串通伪造签名。新签名方案:
X?A,IDx || EskX[IDx|| Epky [Eskx (M)]]
A?Y,(A先用 X的公钥解密得 IDx|| Epky [Eskx (M)])
EskA[IDx||Epky[EskX(M)]||T]
说明,skX 和 skA 为 X,A的私钥,pky为 Y的公钥。
优点:无共享密钥,防共谋;
X发给 Y的信息对第三方保密 (包括 A);
只要 A的私钥不泄漏,则消息不能重放。
35
四、数字签名
第五章 密码学的应用
?不可否认的数字签名
没有签名者的合作,接收者无法验证签名,在
某种程度上保护了签名者的利益。如果签名者
不希望接收者未经他许可就向别人出示签名并
证明其真实性,则可用此方法。
例如:软件开发商利用此法保护其软件,只对
购买产品的客户验证签名,并对产品负责。
36
四、数字签名
第五章 密码学的应用
?群数字签名
允许群中各成员以群的名义匿名地签发消息。
?只有群的成员能代表这个群签名;
?签名接收者能验证它是这个群的合法签名,
但不知具体是哪个成员;
?在发生争端时,借助群成员或可信机构能识
别出那个签名者。
用途:投标
37
四、数字签名
第五章 密码学的应用
?盲数字签名
消息 M的拥有者 A,想让 B对 M签名,但又不希
望 B知道 M的内容,而只是让 B以证人身份证实
在某一时刻存在文件 M。 签名步骤:
A将 M乘以一个随机数 (盲因子 )得 M’并发送给 B;
B在 M’上签名得 SIG(M’),并发送给 A;
A通过去除盲因子,由 SIG(M’)得到 SIG(M)。
38
四、数字签名
第五章 密码学的应用
?盲数字签名
直观的说明:
所谓盲签名,就是将要隐藏的文件放进信
封里,而除去盲因子就是打开信封。
当文件在信封时,任何人都不能读它。
对文件的签名就是通过在信封里放一张复写纸,
当签名者在信封上签名时,他的签名便透过复
写纸签到了文件上。
39
四、数字签名
第五章 密码学的应用
?双重签名:实现三方通信时的身份认证和
信息完整性、防抵赖的保护。
网上购物:客户和商家之间要完成在线付款,
在客户 (甲 ),商家 (乙 )和银行 (丙 )之间将面
临以下问题:甲向乙发送订单和甲的付款信
息;乙收到订单后,要同丙交互,以实现资
金转帐。但甲不愿让乙看到自己的帐户信息,
也不愿让丙看到订购信息。此时甲使用双重
签名技术对两种信息作数字签名,来完成以
上功能。
40
第五章 密码学的应用
双重数字签名的实现步骤如下:
1)甲对发给乙的信息 M1生成摘要 A1;
2)甲对发给丙的信息 M2生成摘要 A2 ;
3)甲把 A1和 A2合起来生成摘要 A3,并用
私钥签名 A3,Sig(A3);
4)甲把 M1,A2和 Sig(A3)发给乙;
5)甲把 M2,A1和 Sig(A3)发给丙;
41
第五章 密码学的应用
6)乙接收信息后,对 M1生成信息摘要 A1’,
把 A1’和收到的 A2合在一起,并生成新的信
息摘要,同时使用甲的公钥对 A3的签名进行
验证,以确认信息发送者的身份和信息是否
被修改过;
7)丙接收信息后,对 M2生成信息摘要 A2’,
把 A2’和收到的 A1合在一起,并生成新的信
息摘要,同时使用甲的公钥对 A3的签名进行
验证,以确认信息发送者的身份和信息是否
被修改过。
42
五、数字水印
第五章 密码学的应用
1996年英国,首届国际信息隐藏会议
对付的非法复制、传播、篡改,保护产权
在多媒体信息中隐蔽地嵌入可辨别的标记,
实现版权声明与跟踪。
嵌入信息 掩饰信息 (文本、图像、音频 )
信息隐藏要求:
不影响原系统;
善于伪装,使人不易察觉;
43
五、数字水印
第五章 密码学的应用
隐藏信息分布范围要广;
能抵抗数据压缩、过滤等变换及人为攻击;
隐藏信息的算法公开,只隐蔽密钥;
数字水印:将特定的标记隐藏在数字产品中。
用以证明原创者对产品的所有权,并作为起
诉侵权者的证据。
透明性;健壮性;多重性;安全性
44
六、密码管理
第五章 密码学的应用
1999年 10月 7日, 第 273号国务院令, 颁布了
,商用密码管理条例, 。
目的:加强商用密码管理, 保护信息安全, 保
护公民和组织的合法权益, 维护国家的安全和
利益 。
管理方式:商用密码技术属于国家秘密 。 国家
对商用密码产品的科研, 生产, 销售和使用实
行专控管理 。
管理机构:国家密码管理委员会及其办公室 。
45
六、密码管理
第五章 密码学的应用
科研, 生产, 销售和使用
商用密码的科研, 生产, 销售由国家密码管
理机构指定的单位承担 。
任何单位或者个人只能使用经国家密码管理
机构认可的商用密码产品, 不得使用自行研
制的或者境外生产的密码产品 。 境外组织或
者个人在中国境内使用密码产品或者含有密
码技术的设备, 须经国家密码管理机构批准;
外国驻华外交代表机构, 领事机构除外 。
46
六、密码管理
第五章 密码学的应用
商用密码产品的科研, 生产, 要有符合安全,
保密要求的环境 。 销售, 运输, 保管商用密
码产品, 应当采取相应的安全措施 。 从事商
用密码产品的科研, 生产和销售以及使用商
用密码产品的单位和人员, 必须对所接触和
掌握的商用密码技术承担保密义务 。 宣传,
公开展览商用密码产品, 必须事先报国家密
码管理机构批准 。
47
六、密码管理
第五章 密码学的应用
产生密钥
1,密钥长度与密钥空间
2,好密钥与弱密钥
好密钥:自动处理设备产生的随机的位串
弱密钥:特定的密钥比其他密钥的安全性差 。
公开密钥算法:产生密钥更加困难
对付字典攻击
48
六、密码管理
第五章 密码学的应用
传输密钥
密钥加密密钥:加密其他需要分发的密钥;
手工分法
数据密钥 (会话密钥 ):对信息序列进行加密
密钥分发:手工分法;分成不同部分, 通过
不同信道分发
智能卡:密钥的一种媒体
49
六、密码管理
第五章 密码学的应用
验证密钥
B收到密钥, 如何知道是 A传送的而不是其
他人伪装的?
亲自送 。 信使送:需要相信信使 。
由密钥加密密钥加密送:只有 A才拥有密钥
加密密钥 。
数字签名协议送:相信公开密钥数据库 。
50
六、密码管理
第五章 密码学的应用
分配密钥
对称密码体制:通信前协商密钥, 密钥分配
复杂 ( 密钥分配中心 KDC)
公开密码体制:满足数字签名;密钥分配较
有效 ( 密钥分配中心 KDC 管理, 分配公开
密钥, 用户只保留自己的秘密密钥和 KDC
的公开密钥 )
51
第五章 密码学的应用
更新密钥
1,密钥分发:困难
2,密钥更新:使用单向函数, 旧 ?新密钥,
存储密钥
1,存脑中, 而不是系统中
2,智能卡中
3,ROM密钥 +终端密钥 =完整密钥
4,密钥分享 。 多人分别存储
52
第五章 密码学的应用
密钥有效期
1,使用时间越长, 泄露机会越大, 破译的
诱惑越大
2,密钥泄露时间越长, 损失越大
3,同一密钥加密, 密码分析更容易
主密钥有效期长;会话密钥有效期短;加密
保存数据文件的密钥不能经常变换 ( 每个文
件用一个密钥加密, 所有密钥用密钥加密密
钥加密 ) ;用作数字签名和身份鉴别的私人
密钥有效期长 。
53
六、密码管理
第五章 密码学的应用
销毁密钥
旧密钥仍然有价值
写在纸上的密钥
硬件中的密钥