C2SP

The Community Cryptography Specification Project

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).

Specifications

c2sp.org/ageFile encryption format
c2sp.org/age-pluginThe age plugin stdio protocol
c2sp.org/BLAKE3A fast cryptographic hash function (and PRF, MAC, KDF, and XOF)
c2sp.org/chacha20-poly1305-sivMisuse-resistant, key-committing AEAD scheme
c2sp.org/chacha8randFast cryptographic random number generator
c2sp.org/chunked-encryptionAuthenticated, streaming, random-access encryption for large messages
c2sp.org/cocktail-dkgDistributed Key Generation protocol for FROST
c2sp.org/det-keygenDeterministic key pair generation from seed
c2sp.org/FLOEOnline and random access authenticated encryption
c2sp.org/https-bastionBastion (reverse proxy) protocol for exposing HTTPS services
c2sp.org/httpsig-pqPost-quantum algorithms for HTTP Message Signatures
c2sp.org/jq255Prime order groups, key exchange, and signatures
c2sp.org/mtc-tlogA profile of Merkle Tree Certificates (MTCs) that uses tiled transparency logs
c2sp.org/passkey-recordInteroperable format for server-side passkey storage
c2sp.org/phc-stringsPassword Hashing Competition string format
c2sp.org/sequencehashTupleHash-like functionality for arbitrary underlying hash functions
c2sp.org/signed-noteCleartext signed messages
c2sp.org/static-ct-apiStatic asset-based Certificate Transparency logs
c2sp.org/tlog-checkpointInteroperable transparency log signed tree heads
c2sp.org/tlog-cosignatureWitness cosignatures for transparency log checkpoints
c2sp.org/tlog-mirrorHTTP protocol to mirror transparency logs
c2sp.org/tlog-policyEncoding for transparency log proof cosigning policies
c2sp.org/tlog-proofOffline-verifiable transparency log proofs (or "spicy signatures")
c2sp.org/tlog-tilesStatic asset-based transparency log
c2sp.org/tlog-witnessHTTP protocol to obtain transparency log witness cosignatures
c2sp.org/upki-revocationCRLite X.509 revocation data based on Clubcards
c2sp.org/vrf-r255Simplified ristretto255-based ECVRF ciphersuite
c2sp.org/well-known-ssh-hosts.well-known HTTPS address for SSH known_hosts
c2sp.org/XAES-256-GCMExtended-nonce AEAD from NIST-approved components

Associated projects §

The C2SP organization hosts three other testing-focused projects: