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.
-
All final (June 15) submissions MUST comply with the following two
API specifications:
- 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. ***
- 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.
-
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:
-
OLD - Cryptographic API Profile for AES Candidate
Algorithm Submissions (for Java implementations) (PDF
format, 9 pages)
-
OLD - ANSI C Cryptographic API Profile for AES
Candidate Algorithm Submissions (for ANSI C implementations)
(PDF format, 6 pages) (updated 4/6/98)
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)
-
For the April 15 optional deadline, submitters do NOT have
to use the new Java and ANSI C APIs. However, they may choose to
use it. It is acceptable (for the April 15 deadline) to submit implementations that conform to the original Java and ANSI C specifications.
-
For the June 15 FINAL DEADLINE, submitters MUST use the new
Java and ANSI C APIs (the original Java and ANSI C profiles will no longer
be acceptable for submissions).
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