07 | 怎么选择对称密钥算法?
范学雷
你好,我是范学雷。
上一讲,我们讨论了什么是对称密钥,你还记得决定对称密钥系统安全性的两个关键因素吗?密钥的保密性和算法的安全性。和单向散列函数一样,我们也要分析如何选择对称密钥算法。
所以,有哪些算法是值得我们信任的呢?这就是我们这一次要解决的问题。首先,我们还是先来一起看看曾经流行的和现在流行的对称密钥算法。
数据加密影响性能吗?
像单向散列函数一样,我们可以把对称密钥算法也按照退役的、遗留的以及现行的算法来分类。
在下面的表格里,我给你总结了常见的一些算法,以及一些相关的信息。其中,计算性能参考的是 ECRYPT 性能基准测试在 2020 年 7 月对较长数据的运行结果。
对于不同的系统,这个计算性能数据差距可能很大,不过,它足以让我们有一个大致的感受。
(文末附各个算法的参考文献链接)
如果我们关注一下上表里的计算性能,每个字节的加密、解密运算需要大约 0.5 个时钟周期。你看这个数字,对比我们在前面提到的单向散列函数的计算性能,我们可以感受到,加密、解密运算是一种很快的运算。之后,我们还会交代非对称密钥的计算性能,你也会有同样的感受。
很快的运算,也是需要额外的运算的。对比数据不加密和数据加密,计算性能的影响到底有多大呢?这个答案当然依赖于具体的环境。不过,我们可以看一个最常见的场景,感受一下数据加密给计算性能带来的影响。这个场景就是我们常用的互联网 Web 服务。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
对称密钥算法在数据加密中起着重要作用,选择合适的算法对系统安全性至关重要。本文从对称密钥算法的选择、数据加密对性能的影响、序列算法和分组算法的区别等方面进行了深入讨论。 首先,文章介绍了对称密钥算法的分类和常见算法的性能对比,重点关注了计算性能和数据加密对性能的影响。通过对HTTPS协议的性能影响进行分析,指出数据加密对性能的影响并不显著,从而强调了数据加密的重要性。 其次,文章对序列算法和分组算法进行了比较,指出序列算法相对于分组算法具有更高的效率和便于使用的优势。在推荐对称密钥算法时,建议优先选择ChaCha20、AES-256和AES-128,但也提到了需要考虑数据分组的影响等其他因素。 最后,文章提出了思考题,鼓励读者在实际项目中搜索退役和遗留的对称密钥算法的使用情况,并提出建议。通过这些内容,读者可以快速了解对称密钥算法的选择原则、性能影响以及序列算法与分组算法的区别,为实际项目中的算法选择提供了指导和思考。 总的来说,本文通过对对称密钥算法的选择、性能影响和算法类型的讨论,为读者提供了全面的技术概览,帮助他们更好地理解和应用对称密钥算法。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《实用密码学》,新⼈⾸单¥59
《实用密码学》,新⼈⾸单¥59
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(7)
- 最新
- 精选
- Geek_d68bf9ChaCha20这名字为啥是这个,听起来不是很牛逼,反而有点喜感
作者回复: 喜感从何而来? dance the cha-cha。
2022-07-031 - Geek_e13bc6DES: RFC 1829
作者回复: 谢谢帮助找到这个错误。 编辑,咱们改过来?
2022-12-26归属地:美国 - rocedusm4应该排前面2022-03-183
- 全麦小面包有没有js的ChaCha20的加密资源啊?2021-02-041
- ifelse良好的性能,以及皮实的用法,这是我倾向于优先使用序列算法的两个基本原因。--记下来2022-11-04归属地:浙江
- ifelse学习打卡2022-11-04归属地:浙江
- 全麦小面包有没有js的ChaCha20的算法包啊? 下面试了一个: https://github.com/quartzjer/chacha20 结果生成的是56位的密文,比老师讲的256位差了200位。。。2021-02-042
收起评论