Call for Proposals
All electronic data shall be provided either in a zip file, or on a single CD-ROM, DVD, or USB flash drive labeled with the submitter’s name, as well as the name of the proposed cryptosystem.
2.C.1 Implementations Two implementations are required in the submission package: a reference implementation and an optimized implementation. The goal of the reference implementation is to promote understanding of how the submitted algorithm may be implemented. Since this implementation is intended for reference purposes, clarity in the implementation code is more important than the efficiency of the code. The reference implementation should include appropriate comments and clearly map to the algorithm description included in Section 2.B.1. The optimized implementation, targeting the Intel x64 processor (a 64-bit implementation), is intended to demonstrate the performance of the algorithm. Both implementations shall consist of source code written in ANSI C.
Both implementations shall be capable of fully demonstrating the operation of the proposed algorithm. This includes support for all core features of the algorithm, e.g., encryption, decryption, key generation, public-key validation, shared secret generation, and digital signature generation and verification.
A separate document specifying a set of cryptographic service calls, i.e. a cryptographic API, for the ANSI C implementations, will be made available at http://www.nist.gov/pqcrypto. Both the reference implementation and the optimized implementation shall adhere to the provided API. Separate source code for implementing the KATs shall also be included and shall adhere to the provided API.
The reference implementation shall be provided in a directory labeled: Reference_Implementation.
The optimized implementation shall be provided in a directory labeled: Optimized_Implementation.
Submitters may, at their discretion, submit additional implementations for other platforms. These implementations may be useful during the evaluation process.
2.C.2 Known Answer Tests The files included in the zip file or on the CD–ROM, DVD, or USB flash drive shall contain all of the required test values as specified in Section 2.B.3.
These test values shall be provided in a directory labeled: KAT.
2.C.3 Supporting Documentation To facilitate the electronic distribution of submissions to all interested parties, copies of all written materials must also be submitted in electronic form in the PDF file format. Submitters are encouraged to use the thumbnail and bookmark features, to have a clickable table of contents (if applicable), and to include other links within the PDF as appropriate.
The electronic version of the supporting documentation shall be provided in a directory labeled: Supporting_Documentation.
2.C.4 General Requirements for Digital and Optical Media For the portions of the submission that may be provided electronically, the information shall be provided using the ISO 9660 format. This media shall have the following structure:
The “README” file shall be a plain text file and list all files that are included on the disc with a brief description of each.
All optical media presented to NIST must be free of viruses or other malicious code. The submitted media will be scanned for the presence of such code. If malicious code is found, NIST will notify the submitter and ask that a clean version of the optical media be submitted.