对称密码的一些备忘

前言

本文涉及对自己长期混淆从来不想搞懂的四个术语进行梳理,并不会涉及加密算法以及加密细节。

IV

Initial Vector。初始矩阵。这个在不同的加密方法中用法和范畴也会有细微变化。总而言之是为了使同一明文生成的密文不同。
解密的时候需要用到IV。

Key

需要保密的内容。知道了Key就可以解密。

Nonce

一次性的随即值。用来防止重放攻击。IV在某些使用case中,也可以作为Nonce的一种。

在Prof of Work的的范畴中,Nonce 作为一个使得整个block的哈希值的前置0的个数大于指定个数的随机值。对整个blockchain生态圈的稳定性有着重要的作用。

Salt

严格来说不在对称加密范畴,Salt的目的是在真正的密码里面插入一些随机值。使得hash之后的密码无法通过彩虹表碰撞破解。
Salt是需要保存的。如果用来混淆每个用户密码的hash值,那么每个用户的Salt最好也是不一样的。

参考