密码学

2019-10-05  本文已影响0人  SaylerZheng

1、 羊皮卷密码棒,绕着棒子卷羊皮,然后写内容。解密要用同样的棒子

2、 对称算法和非对称加密算法与安全性无关

3、 现代密码学是基于秘钥安全的,因为密码算法都是公开的。

4、 112位秘钥,在2030年可用

5、 2031年后要用128位秘钥

6、密码算法分类:

机密性(对称加密&非对称)

完整性/认证/防抵赖

秘钥交换

7、 推荐使用的强密码算法:

对称密码:AES, 3DES

分组加密: AES-GCM(>128bits)

流加密:AES-CTR(>128bits),AES-OFB(>128bits),chacha20

哈希算法:MD(消息摘要),数字指纹,SHA256以上或者SHA3

非对称加密:RSA(>3072bits)秘钥长度大于3072B,适合对性能有要求的场景

ECC(>256bits)

数字签名:RSA(>3072bits),DSA(>3072bits),ECDSA(>256bits)

秘钥交换:DH(>3072bits)容易收到“中间人”攻击,需要和签名或者身份认证机制配合使用。

AB各自产生秘钥对,然后交换公钥

ECDH(>256bits)

8、随机数使用场景: 产生秘钥,生成IV(初始化向量),生成“盐值”

9、 推荐的随机数产生器:

JDK: java.sesurity.SecureRandom

10、对称加密:加密秘钥和解密秘钥是一样的

11、流密码是对称算法的一种,Bit-flipping攻击

12、 WIFI无线加密协议WEP,存在很多漏洞,由于IV只有3字节

13、对称分组加密工作模式, 优先使用CBC

14、 非对称算法:使用两个秘钥:一个公钥,一个秘钥

15、非对称密码算法: 数字信封+数字签名。

第一个算法是RSA,是以3位数学家1977年发明的,

16、彩虹表:庞大的,针对各种可能的字母组合预先计算好的哈希值的集合

口令使用哈希算法,但是没加盐不能抵御彩虹表攻击

推荐使用PBKDF2的哈希算法。,

17、 消息认证码 MAC,用来校验消息完整性

18、秘钥生成: 随机数,协商秘钥(DH),秘钥导出函数(PBKDF2),秘钥生成工具(OPENSSL,SSH-KEYGEN)

19、秘钥的分发:首选 安全传输通道,,次选 数字信封

20、 秘钥的存储:用途单一化,本地加密存储

21、秘钥的分层保护:根秘钥- 》秘钥加密秘钥-》  存储加密,会话,MAC,签名秘钥

22、TPM硬件保护根秘钥,windows下通过DPAPI来保护

23、不在使用的秘钥应当立即删除:物理销毁,格式化磁盘,清除内存

24、密码协议:SSL/TLS/SSH

TLS位于应用层和传输层之间,分成握手协议,记录协议

SSH协议:通常用来远程登录

SSH协议中禁止使用CBC模式

禁止使用截短的消息认证码

SSH协议优先使用ECC秘钥交换算法和数字签名算法

25、 真正的密码系统应该做到就算有人知道系统的运作过程,仍然是安全的

26、BASE64达不到加密目的

27、算法敏捷性要求:当前认为安全的加密算法,未来某天就是不安全,要有便捷途径升级算法

上一篇 下一篇

猜你喜欢

热点阅读