信息安全概论 第4章 消息认证与数字签名

合集下载

信息安全学习总结13-消息认证与数字签名

信息安全学习总结13-消息认证与数字签名

(十三)消息认证与数字签名作者:山石1.消息认证消息认证(MAC,Message Authentication Code),用来保护通信双方免受第三方的攻击,验证消息的完整性。

接收方能够验证收到的报文是真实的未被篡改的。

(1)认证方案如下:●发方将消息和认证密钥输入认证算法,得到消息的认证标签,一起发送消息和认证标签●收方将同样的认证密钥和收到的消息输入认证算法。

检验计算结果是否与收到的认证标签相同,若相同,则认为消息未经篡改,否则认为消息被入侵者篡改。

(2)对安全认证方案的要求:●通信双方能有效(容易)地产生任意消息的认证标签●通信双方能有效(容易)地验证一给定的数字串是否是一给定消息的认证标签●入侵者不能有效(容易)地产生通信双方没发送消息的认证标签。

2.数字签名(1)概念消息认证用以保护双方之间的数据交换不被第三方侵犯;但它无法防止通信双方的相互攻击(欺骗、抵赖等)。

假定A发送一个认证的信息给B,双方之间的争议可能有多种形式:●B伪造一个不同的消息,但声称是从A收到的。

●A可以否认发过该消息,B无法证明A确实发了该消息。

数字签名的基本功能,就是将消息与发起实体相关联,由签名算法和相应验证算法组成。

●数字签名过程:发送方用其私钥对报文进行加密●验证签名过程:利用发送方公钥解密签名,再与发送方出示的明文或明文摘要进行比较。

●签名算法:RSA、E1Gamal、DSS●签名方案:一次签名、群签名、盲签名等。

(2)数字签名的性质:●用户能有效(容易)地在他选择的文件上产生自己的签名。

●用户能有效(容易)地验证一给定的数字是否是另一特定用户在某特定文件上的签名。

●没人能在其他用户没签名的文件上有效(容易)地产生他们的签名。

(3)数字签名算法的分类:无仲裁数字签名:●仅涉及通信方,假定接受方知道发送方的公钥●优点:无仲裁,不需要与第三方通信,比较方便。

●缺点:方案的有效性依赖于发送方私钥的安全性。

如果私钥被窃取,他人就会冒充发送方进行签名。

第四讲_消息认证和数字签名

第四讲_消息认证和数字签名

消息认证码 (MAC)
• 由某一算法产生一个固定长度的短数据块 明文消息和密钥作为输入
– 类似于加密,但不可逆
• 将其作为签名附加在消息后 • 接收方对消息进行相同的计算,校验结果 是否与MAC匹配 • 保证消息未被修改并来自于发送方
明文 M
M
M CK( M,K)
MAC)
MAC
CK( M,K)
密钥K
除生日攻击法外,对一些类型的Hash函数还有一些特殊 的攻击方法,例如,中间相遇攻击法、修正分组攻击法和差 分分析法等。值得一提的是,山东大学王小云教授等人于 2004年8月在美国加州召开的国际密码大会(Crypto’2004) 上所做的Hash函数研究报告中指出,他们已成功破译了 MD4、MD5、HAVAL128、RIPEMD128等Hash算法。 最近国际密码学家Lenstra利用王小云等人提供的MD5碰撞, 伪造了符合X.509标准的数字证书,这就说明了MD5算法的 破译已经不仅仅是理论破译结果,而是可以导致实际的攻击, MD5算法的撤出迫在眉睫。他们的研究成果得到了国际密码 学界专家的高度评价,他们找到的碰撞基本上宣布了MD5算 法的终结,这一成就或许是近年来密码学界最具实质性的研 究进展。
– 接收方知道一定是发送方产生的消息 – 因为只有发送方和接收方使用密钥 – 知道内容不能被篡改 – 如果消息有适当的结构、冗余或校验和用于检测 改变
明文 M
M 加密 解密
M
F
F(M)
F(M)
检错码 F(M) 密钥K Ek[M//F(M)] 密钥K
比较
消息加密
• 如果采用公钥加密:
– 加密不能保证发送方 – 因为任何一方都可能知道接收方公钥 – 但如果
(3) 处理512 bit消息块Yq,进入主循环。 主循环的次数正好是消息中512 bit的块的数目L。先从 Y0开始,以上一循环的输出作为下一循环的输入,直到处理 完YL-1为止。 主循环有4轮,每轮20次操作(MD5算法有4轮,每轮16 次操作)。每次操作对A、B、 C、 D和E中的3个做一次非线 性函数运算,然后进行与MD5算法中类似的移位运算和加运

消息认证与数字签名

消息认证与数字签名

电子商务信息安全技术消息认证与数字签名曹健消息认证与数字签名•消息认证•数字签名•复合型加密体制PGP消息认证与数字签名传输介质transmission medium 传送给B 的信息B 收到信息截取伪造攻击篡改中断入侵者C消息认证消息认证(Message Authentication)•消息认证用于抗击主动攻击•验证接收消息的真实性和完整性–真实性——的确是由所声称的实体发过来的–完整性——未被篡改、插入和删除消息认证(消息鉴别)是一个证实收到的消息认证(消息鉴别)是个证实收到的消息来自可信的源点且未被篡改的过程。

消息认证消息加密认证M ED M用户A 用户K eE (M)K d K ()•由于攻击者不知道密钥K ,也就不知道如何改变密文中的信息位才能在明文中产生预期的改变中的信息位才能在明文中产生预期的改变。

•接收方可以根据解密后的明文是否具有合理的语法结构来进行消息认证。

消息认证发送的明文本身并没有明显的语法结构或特征,例如二进制文件,很难确定解密后的消息就是明文本身。

二进制文件很难确定解密后的消息就是明文本身消息认证消息认证码(Message Authenticaion Code ,MAC )KMAC 用户A用户BMAC M C C 比较KMAC •A 和B 共享密钥K •A 计算MAC=C k (M),•和一起发送到M MAC 起发B •B 对收到的M ,计算MAC ,比较两个MAC 是否相同。

消息认证消息认证码•消息认证码是消息和密钥的公开函数,它产生消息认证码是消息和密钥的数它产生定长的值,以该值作为认证符。

•利用密钥和消息生成一个固定长度的短数据块,并将其附加在消息之后。

认证符:一个用来认证消息的值。

由消息的发送方产生认证符,并传递给接收方。

认证函数:产生认证符的函数,认证函数实际上代表了一种产生认证符的方法。

种产生认证符的方法消息认证消息认证码MAC函数与加密函数类似都需要明文密钥和•函数与加密函数类似,都需要明文、密钥和算法的参与。

北京大学网络信息安全课件-消息验证与数字签名

北京大学网络信息安全课件-消息验证与数字签名

公钥密钥的应用范围
•加密/解密
•数字签名(身份鉴别) •密钥交换
算法
RSA Dieffie-Hellman DSS
加/解密 数字签名
是 否 否 是 否 是
密钥交换
是 是 否
基本思想和要求
• 涉及到各方:发送方、接收方、攻击者 • 涉及到数据:公钥、私钥、明文、密文 • 公钥算法的条件: – 产生一对密钥是计算可行的 – 已知公钥和明文,产生密文是计算可行的 – 接收方利用私钥来解密密文是计算可行的 – 对于攻击者,利用公钥来推断私钥是计算不 可行的 – 已知公钥和密文,恢复明文是计算不可行的 – (可选)加密和解密的顺序可交换
• 公钥密码又称为双钥密码和非对称密码,是 1976年由Diffie和Hellman在其“密码学新方向” 一文中提出的,见划时代的文献: W.Diffie and M.E.Hellman, New Directrions in Cryptography, IEEE Transaction on Information Theory, V.IT-22.No.6, Nov 1976, PP.644-654 • RSA公钥算法是由Rivest,Shamir和Adleman在 1978年提出来的, 见 Communitions of the ACM. Vol.21.No.2. Feb. 1978, PP.120-126
传统密钥管理:两两分别用一对密钥时,则n个用 户需要C(n,2)=n(n-1)/2个密钥,当用户量增大时,密 钥空间急剧增大。如: n=100 时, C(100,2)=4,995 n=5000时, C(5000,2)=12,497,500
(2)数字签名的问题 传统加密算法无法实现抗抵赖的需求。
起源

网络信息安全技术-第四章 数字签名与认证技术

网络信息安全技术-第四章 数字签名与认证技术

密钥生成算法Gen
者消以息签对名(m秘, 密s)密为钥输S入k对,消输息出m0所或做1,的即 V签er名(P,k,即m,Ssi)g→(S{k0,,m1)}→,s如。果
签名生成算法Sig
s∈Sig(m),则输出1说明签名有效; 反之输出0,则说明签名无效
签名验证算法Ver
21:09:30
4.2 消息认证与哈希函数
第4章 数字签名与认证技术
21:09:30
第四章 数字签名与认证技术
在网络环境下,数字签名与认证技术是信 息完整性和不可否认性的重要保障,是公钥密 码体制的重要应用。信息的发送方可以对电子 文档生成数字签名,信息的接收方则在收到文 档及其数字签名后,可以验证数字签名的真实 性。身份认证则是基于数字签名技术为网络世 界中实体的身份提供可验证性。
21:09:30
哈希函数的结构
由Merkle提出的迭代哈希函数一般结构如图 所示,这也是目前大多数哈希函数(MD5、SHA-1、
RIPEMD)的结构。其中,IV称为初始向量,CV称 为链接变量,Yi是第i+1个输入消息分组,f称为 压缩函数,L为输入的分组数,l为哈希函数的输 出长度,b为输入分组长度。
哈希函数的性质 哈希函数的结构 安全哈希函数(SHA) 消息认证
21:09:30
哈希函数的性质
定义 哈希(Hash)函数是一个输入为任意长的二元
串,输出为固定长度的二元串的函数。一般用
H(·)表示哈希函数,若输出是长度为l的二元串,
哈希函数表示为:
H(·):{0,1}*→{0,1}l
21:09:30
碰撞性(Collision Resistant),是指求出
任意M,M′∈{0,1}*,且M′≠M,使得 H(M′)=H(M)是困难的。

第四章数字签名

第四章数字签名

r=f2(k, p, q, g)=(gk mod p) mod q
p q g
f2f 2 k
r x g
f1 m H
s
(a)
DSA的验证过程框图
w=f3(s′, q)=(s′) -1mod q;
v=f4(y, q, g, H(m′), w, r′)
=[(g(H(m′)w)
m′ s′ r′
mod qyr′w mod q)
签名者 签名有效 时间
源文件被修改后,签 名无效
数字签名应具有的性质
必须能够验证作者及其签名的日期时间;
必须能够认证签名时刻的内容; 签名必须能够由第三方验证,以解决争议; 因此,数字签名功能包含了认证的功能; WHY?
数字签名的设计要求
依赖性 唯一性 可验性 抗伪性 可用性
签名必须是依赖于被签名信息的一个比特模式,
(4) 用户为待签消息选取的秘密数k是满足0<k<q的随机数 或伪随机数。
(5) 签名过程。 用户对消息m的签名为(r, s), 其中 r=(gk mod p) mod q s=[k-1(H(m)+xr)] mod q H(m)是由SHA求出的杂凑值。
(6) 验证过程。 设接收方收到的消息为m′, 签名为(r′,s′)。 计算
签名方案2
(1)X→A: IDX‖ EkXY[m]‖ EkXA[IDX‖H(EkXY[m])] (2)A→Y:
EkAY[IDX‖EkXY[m]‖EkXA[IDX‖H(EkXY[m])]‖T]
kXY——X、Y共享的密钥
签名方案2存在的问题
仲裁者有可能和发方共谋以否认发方曾发
过的消息,也可以和收方共谋以伪造发方的签 名。
签名必须使用某些对发送者是唯一的信息,以防伪造与否认;

消息认证与数字签名(2)

消息认证与数字签名(2)

14
消息认证
❖ 消息认证是使预定的消息接收者能够检验收到的消 息是否真实的方法。检验内容应包括:
❖ (1)证实报文的源和宿 ❖ (2)报文内容是否曾受到偶然的或有意的篡改 ❖ (3)报文的序号和时间栏
总之,消息认证使接收者能识别:
消息的源,内容的真伪,时间性和意定的信宿
❖ 这种认证只在相应通信的双方之间进行,而不允许 第三者进行上述认证。认证不一定是实时的,可用
映射成一个固定长度的信息
可编辑ppt
10Leabharlann 信息加密函数作认证 信息加密函数分二种: 一种是常规的对称密钥加密函数; 另一种是公开密钥的双密钥加密函 数。
可编辑ppt
11
信息认证码(MAC)
设S为通信中的发方A发送的所有可能的信源集合
为了达到防窜扰的目的,发方A和收方B设计一个编码

则。发方A根据这个法则对信源S进行编码,信源经编

后成为消息,M表示所有可能的消息集合。发方A通信
时,发送的是消息。用简单的例子说明设S={0,1},
M={00,01,10,11}, 定义四个不同的编码法则e0,e1,e2,e3:
00 01 10 11
e0 0 1
e1 0
1
e2 0 1
e3 0 1
可编辑ppt
12
这样就构成一个认证码MAC 。 •发方A和收方B在通信前先秘密约定使用的编 码法则。
可编辑ppt
8
④:有分裂的认证系统与无分裂的认证系统。
一个认证系统中,发方在将信源信息发送给合 法接收方时,先将该信息利用共同约定的编码规 则编码成为消息, 把消息在公共信道上发送; 接 收方接收到从发方发来的消息后, 利用掌握的编 码规则破解消息得到实际发方要发送的信息。

消息认证和数字签名

消息认证和数字签名

可编辑ppt
4
1 消息认证
消息认证
消息认证就是验证消息的完整性.当接收方 收到发送方的报文时,接收方能够验证收到 的报文是真实的未被篡改的。
保密和认证同时是信息系统安全的两个方面, 但它们是两个不同属性的问题,认证不能自 动提供保密性,而保密性也不能自然提供认 证功能。
可编辑ppt
5
1 消息认证
可编辑ppt
15
2 数字签名
消息认证与数字签名的区别:
前者能验证消息来源及完整性,防范第三者; 后者在收发双方产生利害冲突时,解决纠纷。
可编辑ppt
16
2 数字签名
数字签名需要解决的一些问题
1.签字后的文件可能被B重复使用。如果签字 后的文件是一张支票,B很容易多次用该电子 支票兑换现金,为此A需要在文件中加上一些 该支票的特有的凭证,如timestamp等,以防 止上述情况发生。
可编辑ppt
13
2 数字签名
数字签名的设计要求 签名必须是依赖于被签名信息的一个位串模板 签名必须使用某些对发送者是唯一的信息,以防止 双方的伪造与否认 必须相对容易生成该数字签名 必须相对容易识别和验证该数字签名 伪造该数字签名在计算复杂性意义上具有不可行性, 既包括对一个已有的数字签名构造新的消息,也包 括对一个给定消息伪造一个数字签名 在存储器中保存一个数字签名副本是现实可行的
送过消息
可编辑ppt
3
1 消息认证
认证则主要是为了防止第三方的主动攻击 。 认证系统的目的有两个: 第一, 信源识别,即验
证发信人确实不是冒充的; 第二, 检验发送信息 的完整性, 也就是说, 即使信息确实是经过授权 的信源发送者发送的, 也要验证在传送过程中 是否被篡改, 重放或延迟。 在认证理论中一般将信源识别和发送信息的完 整性检验两者作为一个整体进行讨论。

第四章消息认证

第四章消息认证

公钥密码体制加密认证
这种方式既能提供认证, 又能够提供数字签名
A用B的公钥对明文加密 B能用自己的私钥解出明文,说明没有被人更改。
消息认证
(2) 消息认证码
使用一个密钥生成一个固定大小的小数据块,附加在消息 后,称MAC (Message Authentication Code)。 MAC = FK(M) 收到消息后,只需要根据密钥和消息来计算MAC是否等 于传过来的MAC。 接收者可以确信消息M未被改变,也可以确信消息来自所 声称的发送者;
MAC函数类似于加密函数,但不需要可逆性。 因此在数学上比加密算法被攻击的弱点要少。
假设双方共享密钥
消息认证
为何要使用消息认证码? 根本上,信息加密提供的是保密性而非真实性 加密代价大(公钥算法代价更大) 某些信息只需要真实性,不需要保密性
广播的信息难以使用加密(信息量大)
网络管理信息等只需要真实性 政府/权威部门的公告
第四章
数字签名和认证技术
一 二
消息认证
数字签名 身份认证

回顾与总结
对称密码算法
– 运算速度快、密钥短、多种用途、历史悠久 – 密钥管理困难
非对称密码算法
– 只需保管私钥、可以相当长的时间保持不变、需要
的数目较小
– 运算速度慢、密钥尺寸大、历史短
信息安全的需求
保密性( Confidentiality)
A->B: E(M || D(H(M),KdA),K)
几种常用的HASH算法
MD5
SHA-1
RIPEMD-160
MD5简介
Merkle于1989年提出hash function模型 Ron Rivest于1990年提出MD4

消息认证与数字签名

消息认证与数字签名

生日攻击实例

A准备两份合同M和M′,一份B会同意,一份会 取走他的财产而被拒绝 A对M和M′各做32处微小变化(保持原意),分别产 生2^32个64位hash值 根据前面的结论,超过0.5的概率能找到一个M和一 个M′,它们的hash值相同 A提交M,经B审阅后产生64位hash值并对该值签名, 返回给A A用M′替换M
消息认证与数字签名
计算机科学系 邹瑞源
问题提出

密码学被应用到哪些方面?
信息认证
消息认证的含义 数据起源认证 验证信息在传送过程中的正确性 消息认证的检验内容 报文的源,内容真伪,时间有效性等 验证数据完整性的方法 检错码和纠错码 消息认证模式

消息认证

消息认证技术 (1)消息加密函数(Message encryption)
返回
需仲裁的签名
X

A
Y
使用对称密码算法,明文传输 密文传输? XA: M || EkXA[ IDx || H(M) ] AY: EkAY[ IDx || M || EkXA[ IDx || H(M) ] ||T] 说明:kXA ,kAY 分为X和A、A和Y的共享密钥
T:时戳(不是旧消息的重放) Idx:x的标识符 H(M):M的摘要 方法缺陷:若A不公正,与X共谋否认签名,或与Y串 通伪造签名
数字签名
消息认证与数字签名的区别: 前者能验证消息来源及完整性,防范第三 者;后者在收发双方产生利害冲突时,解 决纠纷。 应用 数字水印

摘要签名

过程
H2
消息M 消息M 消息M
比较
Dk2
H
Ek1
S
S
H1
把签名过程从对原文件转移到一很短的hash值上,可以提高效率

信息安全技术04章

信息安全技术04章

第四章数字签名技术与应用数字签名是电子商务安全的一个非常重要的分支,它在大型网络安全通信中的密钥分配、安全认证、公文安全传输以及电子商务系统中的防否认等方而具有重要作用。

4.1 数字签名的基本原理4.1.1 数字签名的要求政治、军事、外交等领域的文件、命令和条约,商业中的契约,以及个人之间的书信等,传统上都采用于书签名或印章,以便在法律上能认证、核准和生效。

随着计算机通信网的发展,人们希望通过电子设备实现快速、远距离的交易,数字(或电子)签名法便应运而生,并开始用于商业通信系统.如电子邮递、电子转账和办公自动化等系统中。

类似于手书签名,数字签名也应满足以下要求:(1)收方能够确认或证实发方的签名,但不能伪造。

(2)发方发出签名的消息送收方后.就不能再否认他所签发的消息。

(3)收方对已收到的签名消息不能否认,即有收到认证。

(4)第三者可以确认收发双方之间的消息传送,但不能伪造这一过程。

4.1.2 数字签名与手书签名的区别数字签名与手书签名的区别在于,手书签名是模拟的.且因人而异。

数字签名是0和1的数字串,因消息而异。

4.1.3 数字签名的分类数字签名有两种,一种是对整个消息的签名,一种是对压缩消息的签名,它们都是附加在被签名消息之后或某一特定位置上的一段签名图样。

若按明、密文的对应关系划分,每一种又可分为两个子类,一类是确定性数字签名,其明文与密文一一对应,它对——持定消息的签名不变化(使用签名各的密切签名),如RSA、ElGamal等签名;另一类是随机化的或概率人数宁签名,它对同一消息的签名是随机变化的,取决于签名算法中的随机参数和取值。

一个签名体制一般含两个组成部分,即签名算法和验证算法。

对M 的签名可简记为Sig(M)=s(有时为了说明密钥k 在签名中的作用.也可以将签名写成Sig k (M)或Sig(M ,k)),而对s 的证实简记为Ver(s)={真,伪}={0,l}。

签名算法或签名密钥是秘密的,只有签名人字据。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1消息认证5数字签名4.1 消息认证41消息认证4.1.1 基本概念单向函数、单向Hash函数以及单向陷门函数单向函数单向H h非对称密码算法以及数字签名的基石。

本节将对这些基础概念一一作介绍。

顾名思义单向函数的计算是不可逆的即顾名思义,单向函数的计算是不可逆的。

即在计算机科学领域中,Hash函数是使用得最3.单向陷门函数单向陷门函数是一类特殊的单向函数,它包含一个秘密陷门。

4.1.1 基本概念4.1.2消息认证系统MAC f (K,M )MACAlice 发送方Alice接收方BobM KM密4.1.2消息认证系统用Hash 函数进行消息认证则不需要密钥的参与。

同消息认证码一样,Hash 函数也有多种使用方式:可以只进行H h 摘要也可以配合加密算法起使用类比图41图43Hash 摘要,也可以配合加密算法一起使用。

类比图4-1~图4-3,可以得到图4-4~图4-6的Hash 函数使用方式。

接收H=H (M )()M 发送方Alice 接收方Bob图4-6Hash M级联解密C 得到C 相等?H(C)加4-6 Hash 使用方式示意图——加密整个消息示意图——只加密M4.1.2 消息认证系统Hash函数相当于为需要认证的数据产生一个“数字指纹”。

为了能够实现对数据的认证,Hash函数应满足以下条件:(1)函数的输入可以是任意长。

(2)函数的输出是固定长。

)函数的输出是固定长(3)已知x,求H(x)较为容易,可用硬件或软件实现。

()已知,求使得()的在计算上是不可行的,这性4h H(x)=h x在计算上是不可行的,这一性质称为函数的单向性,称H(x)为单向Hash函数。

(5)对于给定的x,找出y(y≠x)使得H(y)=H(x)在计算上是不可行的。

如果单向Hash函数满足这一性质,则称其为弱无碰撞。

行的如果单向函数满足这性质则称其为弱无碰撞(6)找出任意两个不同的输入x、y,使得H(y)=H(x)在计算上是不可行的。

如果单向Hash函数满足这一性质,则称其为强无碰撞。

4.1.3MD5算法MD5是密码学家Ron Rivest 提出来的算法,MD5根源于一系列消息摘要算法,从最初很脆弱的MD 到现在广泛使用的MD5 R Ri t 做出了卓越的贡献(包括未发表的MD3),Ron Rivest 做出了卓越的贡献。

MD5是一种速度非常快的消息摘要算法。

MD5的输入可以是任意长,以512位为单位分成块,输出是128位的消息摘要。

大体上说,MD5算法总共分为以下五步:第一步:填充字节原始消息填充位长度:1~51264位长度值第步:填充字节第二步:分块第三步:初始化寄存器第四步处理每个分块第四步:处理每一个分块第五步:输出结果128位初始变量4.1.4 SHA算法SHA (Secure Hash Algorithm)算法最初是于1993年由美国国家标准与技术学会NIST和NSA联合发布的。

1995年作了一SHA--1。

SHASHA--1算法过程如图4-8所示。

些修订,后来正式更名为SHA些修订后来正式更名为所示始变量摘要4.1.4SHA 算法同MD5一样,SHA 是在MD4的基础上修改而成的。

因此,SHA 和MD5有很多的相同点。

SHA 大体也是由五步构成:第二步分块B第二步:分块第步第三步:要求CA第一步:填充初始化寄存器第四步:处理每ED第五步:输出结果一个分块4.1.5HMAC 算法下面将详细说明密钥变换k’S 1M密钥k HMAC 的七步操作过程。

第一步:密钥变换(MD5,SHA-1…)第二步:异或第三步:消息级联第四步计算消息摘消息摘要算法(MD5,SHA 1…)第四步:计算消息摘要第五步:异或第六步:消息级联第七步:输出最终结果数字名 4.2 数字签名4.2.1 数字签名的基本概念伪造一个消息并使用与(1)Bob伪造个消息并使用与Alice共享的密钥K产生该消息(2)既然Bob有可能伪造Alice发来的消息,那么Alice就可以发来的消息那么这两种欺骗在实际应用中都有可能发生。

双方争执不下而对簿公4.2.1 数字签名的基本概念①发送方必然产生自己独有的信息来签名以防止伪造和否认。

②这种签名很容易产生。

②这种签名很容易产生以下特点③对于接收方,应该很容易验证签名的真伪。

④对于给定的x,找出y(y≠x)使得签名S(y)=S(x)在计算上是不可行的。

⑤找出任意两个不同的输入x、y,使得S(y)=S(x)在计算上是不可行的。

4.2.2 DSA 签名算法DSA签名算法利用单向Hash函数产生消息的一个Hash值,H h值连同个随机数起作s s验Hash值连同一个随机数r一起作为签名函数的输入,签名函数还需使用发送方的秘密密钥和供所验证比较是否相等比较是否相等证有用户使用的公开密钥。

签名函数的两个输出s和t就构成了消息(s,t)。

接收方收到消息后的签名()接收方收到消息后再产生消息的Hash值,将Hash值与收到的签名一起输入验证函数,验证函数还需输入发送方的公开密钥。

如果验证函数的输出与收到的签名成分t相等,则验证了签名是有效的了签名是有效的。

4.2.3RSA 签名算法MMM MK 解密pri签名数据解密签名数据K pri签程名过程:(1)首先利用摘要算法计算消息的摘要H (M );(2)用私有密钥(n,d )加密消息摘要得到:。

下步骤进行验证:①利用摘要算法计算消息的摘要;②用公密n,e )加密消息摘要得到:。

如果,那么验证通过②开钥(,)得,验,否则拒绝接收该签名。

因为当且仅当M =时,。

4.2.4 Elgamal签名算法在上一章曾经介绍Elgamal非对称密码算法,这里将介绍Elgamal 签名算法。

Elgamal签名算法由T.Elgamal于1985年提出。

它的安全性g基于求解离散对数的困难性。

Elgamal签名算法的修正版已被美国NIST 作为数字签名的标准,即前面我们所介绍的DSA算法。

4.2.4 Elgamal签名算法4.2.5 其他数字签名方案还有很多其他的数字签名算法,比如Rabin签名算法、Rabin签名算法的安全性是建立在大数分解这难题签名算法的安全性是建立在大数分解这一难题上求解离散对数的困难。

它们统称为离散对数签名体上求解离散对数的困难它们统称为离散对数签名体T.Okamoto等设计的。

OSS签名算法于1984年由Ong,O等设计的O4.2.6 多重数字签名在很多情况下,需要两个或多个人员同时对一份文件进行签名,例如共同签署协议的Alice、Bob、Carlos甚至更多人员。

为描述方便起见,不妨假设Alice和Bob需要同时对文件进行签名。

那么,签名方案有三种:(1)Alice和Bob分别对文件的副本签名,如图4-12 所示(a)所示。

(2)Alice首先对文件进行签名,然后Bob对Alice的签名再进行签名,如图412 (b)所示。

-12(b)(3)利用单向Hash函数实现多重签名,如图4-12(c)所示。

4.2.6 多重数字签名两份文件和签名一起给起发送给CarlosBob的签名文件(a)Alice的签名(b)Alice签名进行文件发送给Carlos()Alice对文件Hash值签名文件发送给CarlosBob对文件Hash值签名12(c)图4-12 多重签名方案4.2.7 不可抵赖数字签名不可抵赖数字签名的思想非常简单,大致过程如下所述:所述(1)Alice向Bob出示一个签名。

(2)Bob产生一个随机数并送给Alice。

利用随机数和其私人密钥进行计算并将计(3)Alice利用随机数和其私人密钥进行计算,并将计算结果发送给Bob。

Alice只能计算该签名是否有效。

(4)Bob确认这个结果。

确认这个结果4.2.8 盲签名方案通常情况下,签名方需要了解他所要签署的文件的内容,否则他不会轻易签名。

完全盲签名并不真正实用,因为Alice可以让Bob签署任意份对签署任意一份对她有利的文件,比如“Bob欠Alice 100万美元”……实际应用中都采用“分割-选择”技术,可使Bob知道他所签署文件的大体内容,但是并不准确。

件的大体内容但是并不准确利用RSA算法,D.Chaum最初于1985年提出了第一个盲签名算法。

该算法原理如下:计算则么1.算机安全四大原是什?2.什么是机密性?什么是认证性?什么是完整性?什么是不可抵赖?请分别予以阐述。

3.什么是单向函数?请利用你所学过的数学知识,寻找一个函数y=f(x),使其具有以下要求:(1)x,y之间是一一对应的;(2)已知x,计算y很容易;(3)已知y,计算x相对比较复杂。

4.什么是消息认证?认证的内容包括哪些?4什5.消息认证的方法有哪两种?请阐述它们之间的区别。

6.什么是数字签名?有哪些比较著名的数6什字签名的算法?7.请用图表示RSA签名算法和DSA签名算法过程。

法的8.什么是多重数字签名?什么是不可抵赖数字签名?什么是盲签名?请举例说明它们分别用于什么场合。

相关文档
最新文档