mirror of
https://github.com/luxfi/pulsar.git
synced 2026-09-24 00:25:52 +00:00
Initial commit. Holds the technical specification (LaTeX), the design docs, the build/test/bench scripts, the package layout, and the empty ref/go/pkg/pulsarm skeleton. The spec at spec/pulsar-m.tex (11,300 words of LaTeX) is the canonical description of the protocol. docs/nist-mptc-category.md states the Class N1 + N4 claim. CONTRIBUTING.md and SECURITY.md pin the IP and disclosure posture. Subsequent commits land the reference implementation in stages. Signed-off-by: Lux Industries <[email protected]>
Lattice estimator
Concrete classical and post-quantum security-strength tables for each Pulsar-M parameter set, generated by Albrecht et al.'s lattice-estimator (https://github.com/malb/lattice-estimator).
Workflow
- Pin the estimator commit hash in
params.sage. - Run via SageMath:
sage estimator/params.sage > estimator/results.md - Commit
params.sage,results.md, and the estimator commit hash together so reviewers can reproduce.
Targets
NIST MPTC §4.5 minimum:
- Required: classical ≥ 128 bits, NIST PQ Cat ≥ 1, statistical ≥ 40 bits.
- Suggested: classical ≥ 192 bits, NIST PQ Cat ≥ 3, statistical ≥ 64 bits.
Pulsar-M parameter sets:
Pulsar-M-44→ required tierPulsar-M-65→ suggested tier (default for Hanzo / Lux)Pulsar-M-87→ highest NIST PQ Cat 5
Each parameter set's M-LWE instance is restated from FIPS 204 §4 with
the same (q, k, ℓ, η) so estimator output is comparable to ML-DSA.
Status
params.sageskeleton with FIPS 204 parameters- First estimator run on Pulsar-M-65
- Full table for all three parameter sets
- Sanity comparison with FIPS 204 published security levels