斯坦福大学密码学公开课——一些零碎的知识(Odds & Ends)(一)

Key Derivation

这一章节的主要目标是通过一个source key生成许多满足伪随机性质的keys.


image

当key值是均匀分布的时候,我们可以通过下面的方法来构建. CTX的目的是为了让不同应用之间密钥都相互独立.


image

但如果key值不是均匀分布的,那么对应PRF的输出不会是随机的. 在实际生活中,source key经常不是随机分布的,比如在key exchange protocol中,key值只在的一个子集中均匀分布;在hardware RNG中,它可能会输出带有偏置的输出结果.

image

HKDF

  • extract: use
  • 然后用HMAC作为PRF去扩展key

Password-based KDF
密码具有很低的熵,不适合生成随机的key,因此,不应该使用HKDF来根据密码生成对应的key值. 另外,派生出来的key也容易收到 dictionary attack. 这里,PBKDF采用的方法是 salt 和 slow hash function.通过slow hash 使得计算成本提升,让攻击者需要更多的计算资源进行攻击.

Difference between fast & slow hash

Standard approach

你可能感兴趣的:(斯坦福大学密码学公开课——一些零碎的知识(Odds & Ends)(一))