对称加密与非对称加密

对称加密与非对称加密

在数字加密算法中,可划分为对称加密和非对称加密。

对称加密

对称加密算法中对于数据的加密与解密使用同一密钥,即使用相同的密码对内容进行加密解密。

内容 + 密钥 = 密文
密文 - 密钥 = 原文

优点

加解密速度快,效率高,适合一对一的信息加密传输

缺点

数据传输前必须协商好密钥,如果任一方密钥被泄漏,那么加密信息就变得不安全了;不适合一对多的情况,若多人共享同一密钥,则增加了密钥泄漏的风险且不能提供抗抵赖性,若每两人之间使用一个密钥,则会使双方拥有过多密钥,难以管理密钥。

常用算法

  • DES(Data Encryption Standard):数据加密标准,是一个分组算法,它以64位分组对数据进行加解密。
  • 3DES:原理和DES几乎是一样的,只是使用3个密钥,对相同的数据执行三次加密,增强加密强度。
  • AES(Advanced Encryption Standard):高级数据加密标准,AES算法可以有效抵制针对DES的攻击算法
  • 此外还有BlowfishIDEARC4RC5RC6等算法

非对称加密

非对称加密算法需要两个密钥:公开密钥和私有密钥,私钥不能被其他任何人知道,公钥则可以随意公开。对于数据他们可以相互加解密,公钥对数据进行加密,只有用对应的私钥才能解密;私钥对数据进行加密,只有用对应的公钥才能解密。公钥加密,私钥解密;私钥数字签名,公钥验证。
对于公钥加密的内容,只有私钥能够解开,只要自己的私钥没有泄漏,那么数据传输就是安全的,其他人截获了密文也无法解密其中内容。
对于私钥加密的内容,同样也只有公钥能解开,但是公钥是已经分发出去了,任何人都可以解密私钥内容,其应用场景在于验证数字签名,也就是验证此消息是否由我发送而不是其他人发送,我将要发送的内容进行HASH,然后将HASH的摘要信息使用我的私钥进行加密作为数字签名,当接收者使用公钥解开我的数字签名后再使用同样的HASH算法将内容HASH验证内容由我发送且数据并未被篡改。

优点

安全性更高,保护通信安全方面有着绝对优势

缺点

加解密速度要远远慢于对称加密,加密算法极其复杂,安全性依赖算法与密钥

常用算法

  • RSA:是目前最有影响力和最常用的非对称加密算法,它能够抵抗到目前为止已知的绝大多数密码攻击,已被ISO推荐为公钥数据加密标准。
  • 此外还有ECCDiffie-HellmanEl GamalDSA等算法

HASH算法

HASH算法是一种消息摘要算法,不是一种加密算法,但由于其单向运算,具有不可逆性,成为加密算法中的一个构成部分,完整的加密机制不能仅依赖HASH算法。HASH也称散列,加密性强的散列一定是不可逆的,这就意味着通过散列结果,无法推出任何部分的原始信息。任何输入信息的变化,哪怕仅一位,都将导致散列结果的明显变化,这称之为雪崩效应。散列还应该是防冲突的,即找不出具有相同散列结果的两条信息。具有这些特性的散列结果就可以用于验证信息是否被修改。

常用算法

MD5SHAMACCRCSM3

每日一题

https://github.com/WindrunnerMax/EveryDay

参考

http://www.ruanyifeng.com/blog/2011/08/what_is_a_digital_signature.html
  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

北航程序员小C

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值