Skip to content

Implementations

N-AALP ships ten reference SDKs. Go and Rust are the primary references — they produce byte-identical output for every construction (CBOR, signed input, signatures, digests) and both carry the full deterministic ML-DSA (FIPS 204, rnd=0) crypto leg. The other eight SDKs implement the same object model and the shared conformance-adapter contract, and are graded against the same non-circular corpus.

Every SDK exposes the same shape: the full object envelope (Envelope — build → content-id-bind → sign → offline-verify), the post-quantum + Ed25519 COSE layer, and the byte-level primitives (deterministic CBOR + content id, self-certifying identity, effect/authorization, the spine record bodies, causal + federation ordering, the twenty-channel registry).

Language Path Package / registry Crypto leg Quickstart
Go (primary) impl/go/ github.com/bubblefish-tech/naalp_protocol/impl/go (VCS tag) full ML-DSA-65/-87 + Ed25519 Go
Rust (primary) impl/rust/ naalp (crates.io) full ML-DSA-65/-87 + Ed25519 Rust
Python impl/python/ naalp (PyPI) full ML-DSA + Ed25519 Python
TypeScript impl/typescript/ @bubblefish/naalp (npm) full ML-DSA + Ed25519 TypeScript
Java impl/java/ sh.bubblefish:naalp (Maven Central) full ML-DSA + Ed25519 Java
Kotlin impl/kotlin/ sh.bubblefish:naalp-kotlin (Maven Central) full ML-DSA + Ed25519 Kotlin
C# impl/csharp/ Bubblefish.Naalp (NuGet) full ML-DSA + Ed25519 (CI-graded) C#
Ruby impl/ruby/ naalp (RubyGems) full ML-DSA + Ed25519 (OpenSSL ≥ 3.5) Ruby
PHP impl/php/ bubblefish/naalp (Packagist) pure + Ed25519 (ML-DSA skip-tracked) PHP
Swift impl/swift/ Naalp (SwiftPM) pure + Ed25519 (ML-DSA skip-tracked, CI-graded) Swift

Crypto scope, stated honestly

  • Full ML-DSA SDKs sign and verify deterministic ML-DSA and join the cross-language byte-parity consensus (every one produces the same COSE_Sign1 bytes for the same logical input).
  • Pure + Ed25519 SDKs (PHP, Swift) implement the entire pure object surface plus a real Ed25519 leg, but their available libraries have no deterministic-from-seed FIPS 204 path, so the ML-DSA signature step is skip-tracked — an honest Unimplemented, never a false green. They still perform every structural + policy check and assemble byte-identical ML-DSA objects around an externally-produced signature.

Grading

The authoritative grade is the cross-language harness, run from the repo root:

$ bash harness/cross_language.sh
...
CROSS-LANGUAGE CONFORMANCE: PASS (N adapters graded; M byte-identical on deterministic ML-DSA)

It regenerates the corpus from the per-family non-circular oracles (expected values come from the standards / an independent constructor, never the code under test), grades every adapter whose toolchain is present, and asserts deterministic ML-DSA byte-parity across the crypto-capable SDKs. Adapters whose toolchain is CI-only (C#, Swift) are built and graded in CI via setup-dotnet / swift-actions. The single end-to-end gate is bash harness/run.sh.