基础
哈希
消息认证码
密钥派生函数
随机数
对称密码
非对称密码
公钥加密
数字信封
数字签名
密钥交换
认证密钥交换(AKE)
密码认证密钥协商(PAKE)
传输层安全
证书(Certificate)
业务场景(Use Case)
new SecureRandom() 之后,如果直接调用nextBytes,默认使用SecureRandom对象(例如/dev/urandom)自身做为seed。
setSeed是往当前seed数组增补内容,而非替换。
因此,不要在SecureRandom之后直接调用setSeed设置可预测/固定seed。
可以考虑先SecureRandom,再nextBytes,再setSeed。
Random Numbers
Is intel’s RdRand TRNG or PRNG?
Pseudorandom number generator
The Right Way to Use SecureRandom
SecureRandom
Insufficient cryptographic randomness
Class SecureRandom
SecureRandom漏洞解析