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

Key Derivation

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


image

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


image

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

image

HKDF

  • extract: use k \leftarrow HMAC(salt , SK)
  • 然后用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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容