数字签名技术与应用
得到的摘要不会告诉你任何关于最初明文的 信息。
创建/发现哈希值为某个特定值的明文,这 在计算上是不可行的。
这使得攻击者无法在替换文件的同时确保哈 希值仍然匹配。
解答:哈希函数+数字签名
黄裳用哈希算法生成九阴真经的摘要,用自己 的私钥加密摘要
把加密的摘要和九阴真经(明文)发给我 用黄裳的公钥解密摘要,恢复摘要 对收到九阴真经采用相同算法创建一个新摘要 比较两个摘要:
数字签名与手书签名的区别
数字签名与手书签名的区别在于,手书签名是 模拟的,且因人而异。数字签名是0和1的数字 串,因消息而异。 数字签名与消息认证的区别在于,消息认证使 收方能验证消息发送者及所发消息内容是否被 纂改过。 当收发者之间没有利害冲突时,这对于防止第 三者的破坏来说是足够了。 但当收者和发者之间有利害冲突时,单纯用消 息认证技术就无法解决他们之间的纠纷,此时 须借助满足前述要求的数字签名技术
如果摘要匹配,发送者是作者;明文在发送过 程中没有被改动。
数字签名及验证过程
发信者在发信前使用哈希算法求出待发信息的 数字摘要,然后用私钥对这个数字摘要,而不 是待发信息本身,进行加密而形成一段信息, 这段信息称为数字签名。
发信时将这个数字签名信息附在待发信息后面, 一起发送过去。
收信者收到信息后,一方面用发信者的公钥对 数字签名解密,得到一个摘要H;另一方面把收 到的信息本身用哈希算法求出另一个摘要H’, 再把H和H’相比较,看看两者是否相同。
数字签名技术及应用
数字签名的原理 数字签名技术 数字签名的应用 数字签名的立法
数字签名的引入---网络传经
我要接受来自黄裳的九阴真经 安全的要求:
我能确保经文来自黄裳 我能确保经文在因特网上传输 没有别人能够看到经文,因为那是发送给我
的,这样就防止了经文被窃 黄裳事后不能否认发送了经文给我
数字签名的要求
类似于手书签名,数字鉴名也应满足以下要求: (1)收方能够确认或证实发方的签名,但不能伪 造。 (2)发方发出签名的消息送收方后,就不能再否 认他所签发的消息: (3)收方对已收到的签名消息不能否认,即有收 到认证。 (4)第三者可以确认收发双方之间的消息传送, 但不能伪造这一过程。
加密所用的时间就会很长而导致无法实用 黑客用自己的私钥加密葵花宝典 用它替换掉黄裳给我的经文并发给我 我需要以某种方式来认证该经文的确来自黄裳
并且没有被黑客修改或者替换
哈希函数·
1.什么是哈希函数
哈希(Hash)函数在中文中有很多译名,有些 人根据Hash的英文原意译为“散列函数”或 “杂凑函数”,有些人干脆把它音译为“哈希函 数”,还有些人根据Hash函数的功能译为“压 缩函数”、“消息摘要函数”、“指纹函数”、 “单向散列函数”等等。
但是,任何一种算法都有其漏洞和局限性。 任何一个哈希函数都会存在碰撞——即在一些 特定情况下,两个不同的文件或信息会指向同 一个数字摘要。在一般情况下,类似碰撞只能 尽可能地减少,而不能完全避免。从理论上讲, 没有攻不破的密码。随着密码科学的发展,也 许会找到攻破某一种密码算法的途径。
数字签名的产生
根据哈希函数的特性,我们可以让简短的摘要 来“代表”信息本身,如果两个摘要H和H’完全 符合,证明信息是完整的;如果不符合,就说 明信息被人篡改了。
哈希函数的安全性直接关系到数字签名的安全 性,如果哈希函数被攻破,数字签名的有效性 就会受到质疑。
目前,已经发明的Hash函数有多种,如Snefru、 N-Hash、LOKI、AR、GOST、MD、SHA等。 它们在数学上实现的方法各有不同,安全性也 各有不同。目前比较常用的Hash函数是MD5和 SHA-1。
发送过程
把九阴真经发给我
解决方法
发信息的人用自己的私钥对所发信息进行 加密( Encryption )
接收信息者用发信者的公钥来解密 ( Decryption )
可以保证信息的真实性、完整性和不可否 认性。
问题还没解决
要发的信息可能很长,非对称密码又比较复杂, 运算量大 。
私钥通常保存在USB Key或IC卡中,加密运算 也是在Key或卡中进行
4、给定哈希值,想要找出能够产生同样的哈希 值的两个不同的输入数据,(这种情况称为碰撞, Collision),这很难,计算上不可行,在技术上 称为抗碰撞攻击性;
5、哈希值不表达任何关于输入数据的信息。
哈希函数用于消息验证
密码学中恢复出哪怕是一 点儿最初的明文。
数字签名的分类
数字签名有两种
(1)一种是对整个消息的签名 (2)一种是对压缩消息的签名 它们都是附加在被签名消息之后或某一特定位 置上的一段签名图样。
数字签名的分类
若按明、密文的对应关系划分,每一种又可分 为两个子类
(1)一类是确定性数字签名。其明文与密文一一 对应,它对一特定消息的签名不变化(使用签名 者的密钥签名),如RSA、ElGamal等签名。 (2)另一类是随机化的或概率式数字签名。它 对同一消息的签名是随机变化的,取决于签名
Hash算法是把任意长度的输入数据经过算法压 缩,输出一个尺寸小了很多的固定长度的数据, 即哈希值。哈希值也称为输入数据的数字指纹 (Digital Fingerprint)或消息摘要(Message Digest)等。
Hash函数具备以下的性质: 1给定输入数据,很容易计算出它的哈希值;
2反过来,给定哈希值,倒推出输入数据则很 难,计算上不可行。这就是哈希函数的单向性, 在技术上称为抗原像攻击性;
算法中的随机参数和取值。
数字签名的使用模式
政治、军事、外交等领域的文件、命令和条 约,商业中的契约,以及个人之间的书信等, 传统上都采用手书签名或印章,以便在法律上 能认证、核准和生效。随着计算机通信网的发 展,人们希望通过电子设备实现快速、远距离 的交易,数字(或电子)签名法便应运而生, 并开始用于商业通信系统,如电子邮递、电子 转账和办公自动化等系统中。