Advanced Encryption Standard (AES)
Development Effort

 Cryptographic API Specifications and Reference Information

(for ANSI C and JavaTM Implementations)

Last Update: June 16, 1999

Sections 2.C.1 and 2.C.2 of the Request for Candidate Algorithm Nominations for the AES require that all submitted implementations conform to an API specified by NIST.

  1. All final (June 15) submissions MUST comply with the following two API specifications:

    1. FINAL Java Cryptographic API (4/6/98) - developed in response to requests for a simpler API; result of NIST collaboration with the Cryptix Development Team

      A toolkit is now freely available (from Cryptix) which includes a version of KAT and MCT command line tools to test and generate KAT/MCT results which must be submitted. *** MANY THANKS to Raif Naffah of the Cryptix Development Team and Jim Dray of NIST for developing the new Java API and NIST-KIT. ***

    2. FINAL ANSI C Cryptographic API (PDF format, 7 pages) (4/15/98)- developed at the request of potential submitters, who voted 9 to 1 in favor of this new ANSI C API over the old 4/6/98 version.

      Example file containing the FINAL ANSI C function calls (4/15/98) - note that this is now also found at the end of the ANSI C API document listed above.

  2. Due to the many changes that recently took place with both APIs, preliminary submissions may either use the FINAL APIs listed above, or the older API versions listed below:
    1. OLD - Cryptographic API Profile for AES Candidate Algorithm Submissions (for Java implementations) (PDF format, 9 pages)
    2. OLD - ANSI C Cryptographic API Profile for AES Candidate Algorithm Submissions (for ANSI C implementations) (PDF format, 6 pages)   (updated 4/6/98)
    3. Example file containing the OLD - ANSI C function calls (updated 4/6/98) - reflects the old ANSI C crypto API profile listed above

     

 ATTENTION, SUBMITTERS! (to re-emphasize)

 Specific questions regarding the Java specifications should be directed to Jim Dray, and questions regarding the ANSI C specifications should be directed to Larry Bassham (Please indicate "AES Crypto API" in the subject field of your mail message.)


TM: Java and Java-based marks are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and other countries.


Computer Security Division
National Institute of Standards and Technology