Algorithm and Implementation Characteristics (Evaluation Criteria)
Call for Proposals
4.C Algorithm and Implementation Characteristics
4.C.1 Flexibility Assuming good overall security and performance, schemes with greater flexibility will meet the needs of more users than less flexible schemes, and therefore, are preferable.
Some examples of “flexibility” may include (but are not limited to) the following:
- The scheme can be modified to provide additional functionalities that extend beyond the minimum requirements of public-key encryption, KEM, or digital signature (e.g., asynchronous or implicitly authenticated key exchange, etc.).
- It is straightforward to customize the scheme’s parameters to meet a range of security targets and performance goals.
- The algorithms can be implemented securely and efficiently on a wide variety of platforms, including constrained environments, such as smart cards.
- Implementations of the algorithms can be parallelized to achieve higher performance.
- The scheme can be incorporated into existing protocols and applications, requiring as few changes as possible.
4.C.2 Simplicity The submitted scheme will be judged according to its relative design simplicity.
4.C.3 Adoption Factors that might hinder or promote widespread adoption of an algorithm or implementation will be considered in the evaluation process, including, but not limited to, intellectual property covering an algorithm or implementation and the availability and terms of licenses to interested parties. NIST will consider assurances made in the statements by the submitter(s) and any patent owner(s), with a strong preference for submissions as to which there are commitments to license, without compensation, under reasonable terms and conditions that are demonstrably free of unfair discrimination.