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、算法敏捷性要求:当前认为安全的加密算法,未来某天就是不安全,要有便捷途径升级算法
网友评论