密码学基础
极客时间《安全攻防技能 30 讲》学习笔记 02
03 | 密码学基础:如何让你的密码变得“不可见”?
对称加密
DES(数据加密算法,Data Encryption Standard),密钥 56 位,加密强度弱
3DES,密钥长度 168 位,加密强度中等
IDEA(国际数据加密算法,International Data Encryption Algorithm),密钥 128 位,加密强度强
AES(高级加密标准,Advanced Encryption Standard),密钥 128/192/256 位,加密强度强
SM1(SM1 Cryptographic Algorithm)密钥 128 位,算法不公开,国家机密
SM4(SM4 Cryptographic Algorithm)密钥 128 位,算法公开,国家标准
非对称加密:解决了密钥分发问题
RSA(RSA Algorithm):加密强度弱
ECC(椭圆加密算法,Elliptic Curve Cryptography):加密强度强
SM2(SM2 Cryptographic Algorithm):加密强度强
散列算法
MD5(消息摘要算法,Message-Digest Algorithm 5),长度 128,冲突概率中
SHA(安全散列算法,Secure Hash Algorithm),长度 160、256,冲突概率低
SM3(SM3 Cryptographic Algorithm),长度 256,加密强度与 SHA-256 相当,冲突概率低
加盐
对称加密用 AES-CTR、非对称加密用 ECC、散列加密用 SHA256 加盐。
学习过密码学相关的知识,了解区块链技术的时候,也看过非对称加密,不过这篇专栏文章还是比较系统的。即使不是去面试安全岗位,一般的技术岗位对于这些密码基础只是也是应该有所了解的。
重视安全和性能用对称加密 AES-CTR(SM4),国产硬件对称加密 SM1,密钥分发困难用非对称加密 ECC(SM2),散列加密用 SHA256 加盐(SM3 加盐)。
留言里面有同学说 AES,你值得拥有,这样更好记一些。
我对国密和等保比较重视,因为面试的时候问到的可能性比较大(国企)。
如果有更快的计算机,那么密钥的长度也需要不断加长么?至少对于对称加密来说。
Go 语言的学习遇到了一些瓶颈,其实是自己的时间分配有点问题,所以把之前的一些存货拿来发表。这个安全专栏的学习,当初是为了去应聘安全相关的项目经理职位,暂时用不到了,就算是温故知新吧
版权声明: 本文为 InfoQ 作者【escray】的原创文章。
原文链接:【http://xie.infoq.cn/article/f276b428b04c129b400221e6b】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论