Skip to content

Reference projects

The base library owns generic algebra, circuit compilation, transcripts, commitments, sumcheck, and proof machinery. Named projects turn those tools into statements about particular formats or signature schemes.

ProjectProves or packagesCurve / formatPackage target
mdocSigned mobile-document parsing and selective disclosureISO mdoc, CBOR, ECDSA P-256LongfellowZKMDoc::mdoc
ECDSAECDSA signature verification circuitsP-256LongfellowZKECDSA::ecdsa
BIP340Schnorr verification circuits and witnessessecp256k1 / BIP340LongfellowZKBIP340::bip340

Dependency direction

text
mdoc ──────> ECDSA ──────> liblongfellow-zk
BIP340 ──────────────────> liblongfellow-zk

The base never includes named-project headers. This keeps application-specific document and signature logic outside the reusable cryptographic boundary. See the library boundary inventory for the enforced ownership rules.

Why these three?

They cover two complementary goals. mdoc is an end-to-end identity application: it parses a deployed document, checks its signature, and supports selective claims. ECDSA and BIP340 are smaller cryptographic building blocks that show how legacy and modern signature verification can live inside a private statement.