The Community Cryptography Specification Project (C2SP) is a project that facilitates the maintenance of cryptography specifications using software development methodologies, applying the successful processes of open source to specification documents.
Each specification is developed by its maintainers, who are responsible for reviewing and accepting changes, just like open source projects. This enables rapid, focused, and opinionated development.
C2SP specifications follow semantic versioning. While each specific tagged version is immutable, new versions can be created to improve or fix the specification, preserving backwards compatibility for v1.x.x versions.
A small team of stewards maintains the overall project, enforces the C2SP Code of Conduct, assigns new specifications to proposed maintainers, and may intervene in case of maintainer conflict or to replace lapsed maintainers, but they are otherwise not involved in the development of individual specifications (in their steward capacity).
Specifications should be linked using their c2sp.org short-links, like
https://c2sp.org/<spec-name> and https://c2sp.org/<spec-name>@<version>.
For a list of C2SP specifications, see the C2SP homepage. To learn more about consuming and maintaining C2SP specifications, see the C2SP Manual.
All C2SP specifications are licensed under CC BY 4.0. All code and data in this repository is licensed under the BSD 1-Clause License (LICENSE-BSD-1-CLAUSE).
The C2SP organization hosts three other testing-focused projects:
-
Wycheproof, a large library of tests for cryptographic libraries against known attacks.
-
CCTV, the Community Cryptography Test Vectors, a repository of reusable test vectors.
-
x509-limbo, a suite of tests for X.509 certificate path validation.