Design and analysis of password-based key derivation functions

  • Authors:
  • Frances F. Yao;Yiqun Lisa Yin

  • Affiliations:
  • Department of Computer Science, City University of Hong Kong, Kowloon, Hong Kong;Princeton Architecture Laboratory for Multimedia and Security, Princeton University, Princeton, NJ

  • Venue:
  • CT-RSA'05 Proceedings of the 2005 international conference on Topics in Cryptology
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

A password-based key derivation function (KDF) – a function that derives cryptographic keys from a password – is necessary in many security applications. Like any password-based schemes, such KDFs are subject to key search attacks (often called dictionary attacks). Salt and iteration count are used in practice to significantly increase the workload of such attacks. These techniques have also been specified in widely adopted industry standards such as PKCS and IETF. Despite the importance and wide-spread usage, there has been no formal security analysis on existing constructions. In this paper, we propose a general security framework for password-based KDFs and introduce two security definitions each capturing a different attacking scenario. We study the most commonly used construction H(c)(p||s) and prove that the iteration count c, when fixed, does have an effect of stretching the password p by log2c bits. We then analyze the two standardized KDFs in PKCS#5. We show that both are secure if the adversary cannot influence the parameters but subject to attacks otherwise. Finally, we propose a new password-based KDF that is provably secure even when the adversary has full control of the parameters.