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. In other words, C2SP applies the successful processes of open source software development and maintenance to specification documents.

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 specs (in their steward capacity).

Versions are tracked as git tags of the form <spec-name>/vX.Y.Z like age/v1.2.3.

Specifications should be linked using their c2sp.org short-links. https://c2sp.org/<spec-name> and https://c2sp.org/<spec-name>@<version> are supported. The former is equivalent to @latest and redirects to the latest tagged version. To link to the main branch, use @main. GitHub URLs should not be considered stable.

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/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: