Crypto API
The NoxTLS C API is organized by module. Each page is generated from Doxygen documentation in the source.
- Common – Memory, debug, and shared utilities
- Version macros – Compile-time version constants
- Build configuration checks – Compile-time feature dependency checks
- Encryption – AES, ARIA, Camellia, ChaCha20
- DRBG – AES-CTR deterministic random bit generation
- Message digest – SHA, MD5, SHA-3, BLAKE2, etc.
- Public key crypto – RSA, ECC/DSA/DH, X25519/X448, EdDSA, and PQC
- ML-KEM – Post-quantum key encapsulation (FIPS 203)
- ML-DSA – Post-quantum signatures (FIPS 204)
- TLS 1.3 PQC – PQ and hybrid key exchange/signature integration
- Certificates – X.509 and certificate handling
- Utility – Base64, file I/O
Documentation pattern
Each API page should include:
- Purpose
- Enablement flags and dependencies
- Key APIs and types
- Typical usage flow
- Security and compatibility notes
Generation pipeline
Docs are generated from Doxygen comments. In CI, the deploy workflow runs Doxygen (XML) then scripts/doxygen-xml-to-md.js to convert XML to Markdown for API and applications pages, including return codes.
When updating source comments (@brief, @param, @return, enum docs), refresh locally:
doxygen Doxyfile
node scripts/doxygen-xml-to-md.js build/doxygen/xml docs/docs/api