使用随机数的密码技术

如果说随机数和密码技术是相关的,可能有些人无法理解。实际上,和对称密码、公钥密码、数字签名等技术相比,生成随机数的技术确实不是很引人注目,但是,随机数在密码技术中却扮演着十分重要的角色。

例如,下面的场景中会用到随机数。

  • 生成密钥

用于对称密码和消息认证码

  • 生成密钥对

用于公钥密码和数字签名

  • 生成初始化向量

用于分组密码的CBC、CFB和OFB模式

  • 生成nonce

用于防御重放攻击以及分组密码的CTR模式等。

  • 生成盐

用于基于口令的密码(PBE)等。

上面这些用途都很重要,但其中尤为重要的是“生成密钥”和“生成密钥对”这两个。即使密码算法的强度再高,只要攻击者知道了密钥,就会立刻变得形同虚设。因此,我们需要用随机数生成器来生成密钥,使之无法被攻击者看穿。

需要记住是为了不被攻击者看穿而使用随机数这一观点。

你可能感兴趣的:(安全)