Skip to main content

Appendix: Changes from RFC 4634

The following changes were made to RFC 4634 to produce this document:

1. Add code for HKDF

Add code for HKDF and brief text about HKDF with pointer to [RFC5869].

2. Fix numerous errata

Fix numerous errata filed against [RFC4634] as included below. Note that in no case did the old code return an incorrect hash value.

2.a. Correct error return values

Correct some of the error return values which has erroneously been "shaNull" to the correct "shaInputTooLong" error.

2.b. Update comments and variable names

Update comments and variable names within the code for consistency and clarity and other editorial changes.

2.c. Fix SHA-384 and SHA-512 length limit

The previous code for SHA-384 and SHA-512 would stop after 2^93 bytes (2^96 bits). The fixed code handles up to 2^125 bytes (2^128 bits).

2.d. Add additional error checking

Add additional error checking including a run time check in the test driver to detect attempts to run the test driver after compilation using some other character set instead of [US-ASCII].

3. Update boilerplate

Update boilerplate, remove special license in [RFC4634] as new boilerplate mandates simplified BSD license.

4. Replace getopt version

Replace MIT version of getopt with new code to satisfy IETF incoming and outgoing license restrictions.

5. Add references

Add references to [RFC6194].

6. Other editorial improvements

Other assorted editorial improvements.