最近听人聊起与银行对接所需要的规范,不同域的数据有不同要求。其中就涉及了传输密码需要加密、而传输金额需要签名。
实在不了解加密与签名到底有咩区别,顾bing之~
【From:http://micerin.blog.163.com/blog/static/30695072011918104641606/,thx “Bay Of Myth”】
1)私匙加密 对称加密,用相同的密匙加密
2)公匙加密 非对称加密,对方用公匙(接收方提供的)加密,接收方用自己的私匙解密
3)数字签名 其实是公匙加密的一种逆用,用私匙加密,公匙解密,可以确认发送方身份
区别加密与认证两个概念
a)加密是为了防止数据被别人截取,重点在数据的安全性,防止被窃听
b)认证是为了什么验证,不可抵赖,重点在用户身份的真实性
Hash
哈希算法可将任意长度的二进制值映射为固定长度的较小二进制值,这个小的二进制值就称为哈希值。哈希值是一段数据的数值表示形式。散列一段纯文本时,即使只更改段落中的一个字母,随后的散列计算都会产生不同的值。如果哈希已进行强加密,其值将发生显著更改。例如,如果更改了消息的一个位,强哈希函数就可能生成相差 50% 的输出。很多输入值可能会散列为相同的输出值。但是,要找到散列为同一个值的两个不同的输入,在计算上是不可行的。
私匙加密scenario
Example:假定小红和小明是希望在非安全信道上通信的双方,他们可以按如下方式使用私钥加密:小红和小明都同意对特定的密钥和 IV 应用一种特定的算法(例如 AES)。小红撰写一条消息并创建要在其上发送该消息的网络流。接下来,她使用该密钥和 IV 加密文本,并通过 Internet 发送该文本。她不能向小明发送密钥,但可以发送 IV。小明在收到该加密文本后,可使用预先商定的密钥和 IV 对它进行解密。即使传输的内容被人截获,截获者也无法恢复原始消息,因为他并不知道密钥。在这个方案中,密钥必须保密,但 IV 不需要保密。在一个实际方案中,将由小红或小明生成私钥并使用公钥(不对称)加密将私钥(对称)传递给对方。
公匙加密scenario
Example:双方(小红和小明)可以按照下列方式使用公钥加密: 首先,小红生成一个公钥/私钥对。如果小明想要给小红发送一条加密的消息,他将向她索要她的公钥。小红通过非安全网络将她的公钥发送给小明,小明接着使用该密钥加密消息。小明将加密的消息发送给小红,而小红使用她的私钥解密该消息。如果小明通过非安全信道(例如公共网络)接收小红的密钥,则小明可能会受到“中间人”攻击。因此,小明必须与小红验证他收到的公钥副本是否正确。
但是,在传输小红的公钥期间,未经授权的代理可能会截获该密钥。而且,同一代理可能截获来自小明的加密消息。但是,该代理无法用公钥解密该消息。该消息只能用小红的私钥解密,而该私钥并没有被传输。小红不使用她的私钥加密给小明的答复消息,原因是任何具有公钥的人都可以解密该消息。如果小红想要将消息发送回小明,她将向小明索要他的公钥并使用该公钥加密她的消息。然后,小明使用与他相关联的私钥来解密该消息。
在此方案中,小红和小明使用公钥(非对称)加密来传输私钥(对称),并对其会话的其余部分使用私钥加密。
数字签名验证的scenario
Example: 为了使用公钥加密对消息进行数字签名,小红首先将哈希算法应用于该消息以创建消息摘要。该消息摘要是数据的紧凑且唯一的表示形式。然后,小红用她的私钥加密该消息摘要以创建她的个人签名。在收到消息和签名时,小明使用小红的公钥解密签名以恢复消息摘要,并使用与小红所使用的相同的哈希算法来散列消息。如果小明计算的消息摘要与从小红那里收到的消息摘要完全一致,小明就可以确定该消息来自私钥的持有人,并且数据未被修改过。如果小明相信小红是私钥的持有人,则他将知道该消息来自小红。
Hash scenario
双方(小红和小明)可按以下方式使用哈希函数,以确保数据完整性:小红撰写要发送给小明的消息,并创建该消息的哈希。随后,小明可以散列该消息,并将得到的哈希与原始哈希进行比较。如果这两个哈希值相同,则说明消息未被更改。如若不同,则说明该消息在由小红撰写后已被他人更改。为了使此系统发挥作用,小红必须对除小明外的所有人保密原始的哈希值。此外,也可以公开该哈希值,但条件是没有人能够对它进行修改。
安全哈希算法 (SHA- security hash algorithm)、消息摘要 5 (MD5)
证书从本质上说是一种特殊的公钥加密手段,特殊之处在于它可以存储在机器上,并且可以导出文件进行传递。
1966 年,人们发现了 MD5 的设计缺陷,并建议改用 SHA-1。2004 年,人们又发现了 MD5 的其他缺陷,因此认为这种算法已不再安全。另外,SHA-1 算法也暴露出不安全的方面,现在已建议改用 SHA-2。
相关参考资料
http://wenku.baidu.com/view/d58d3611cc7931b765ce15f1.html 非常生动形象地表述了公匙加密与验证过程
http://www.cnblogs.com/chenxizhang/archive/2010/03/24/1693396.html 比较书面的解释和介绍
http://wenku.baidu.com/view/bbb371d5195f312b3169a5b6.html?from=related&hasrec=1 实例很好,与.net结合(待看),tip不错
今天的文章加密与签名de区别是什么【转载内容】分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/31498.html