Paper 2019/1421

Extending NIST's CAVP Testing of Cryptographic Hash Function Implementations

Nicky Mouha and Christopher Celi

Abstract

This paper describes a vulnerability in Apple's CoreCrypto library, which affects 11 out of the 12 implemented hash functions: every implemented hash function except MD2 (Message Digest 2), as well as several higher-level operations such as the Hash-based Message Authentication Code (HMAC) and the Ed25519 signature scheme. The vulnerability is present in each of Apple's CoreCrypto libraries that are currently validated under FIPS 140-2 (Federal Information Processing Standard). For inputs of about $2^{32}$ bytes (4 GiB) or more, the implementations do not produce the correct output, but instead enter into an infinite loop. The vulnerability shows a limitation in the Cryptographic Algorithm Validation Program (CAVP) of the National Institute of Standards and Technology (NIST), which currently does not perform tests on hash functions for inputs larger than 65 535 bits. To overcome this limitation of NIST's CAVP, we introduce a new test type called the Large Data Test (LDT). The LDT detects vulnerabilities similar to that in CoreCrypto in implementations submitted for validation under FIPS 140-2.

Metadata
Available format(s)
PDF
Category
Implementation
Publication info
Published elsewhere. CT-RSA 2020
Keywords
CVE-2019-8741FIPSCAVPACVPAppleCoreCryptohash functionvulnerability
Contact author(s)
nicky @ mouha be
History
2019-12-10: received
Short URL
https://ia.cr/2019/1421
License
Creative Commons Attribution
CC BY

BibTeX

@misc{cryptoeprint:2019/1421,
      author = {Nicky Mouha and Christopher Celi},
      title = {Extending {NIST}'s {CAVP} Testing of Cryptographic Hash Function Implementations},
      howpublished = {Cryptology {ePrint} Archive, Paper 2019/1421},
      year = {2019},
      url = {https://eprint.iacr.org/2019/1421}
}
Note: In order to protect the privacy of readers, eprint.iacr.org does not use cookies or embedded third party content.