- Rust 100%
| .github | ||
| src | ||
| .editorconfig | ||
| .gitignore | ||
| ARCHITECTURE.md | ||
| Cargo.toml | ||
| CODE_OF_CONDUCT.md | ||
| CONTRIBUTING.md | ||
| LICENSE | ||
| README.md | ||
| ROADMAP.md | ||
| rustfmt.toml | ||
| SECURITY.md | ||
lib-ed25519
Minimal no_std Ed25519 verification crate for EriX secure boot and related
validation paths.
This crate is verification-focused. It provides signature verification primitives for public-key validation in boot-critical code.
UEFI + x86_64 are current primary targets, but this crate is explicitly
portable and architecture-neutral.
Scope
This crate provides:
- Ed25519 public key and signature types
- strict decode/validation helpers for key/signature inputs
- Ed25519 signature verification for message bytes
This crate does not provide:
- private-key operations or signing
- key generation
- random number generation
- certificate chain parsing
Why this crate exists
EriX boot verification requires a small, auditable implementation for Ed25519 verification with no external dependencies.
Keeping this functionality in a dedicated crate improves:
- auditability of TCB code
- reuse across
lib-bootimg, bootloader, and kernel-side validators - deterministic behavior across supported targets
Design constraints
#![no_std]- zero external dependencies
- deterministic, explicit error handling
- constant-time treatment in security-relevant comparisons
- minimal and documented
unsafe(ideally none)
Security notes
This crate is part of a security boundary when used in secure boot.
Invalid encodings or malformed inputs must be rejected strictly. Verification must be fail-closed.
Intended consumers
lib-bootimgverification flow- bootloader signature verification path
- future kernel/user-space signature checks
Status
Implemented baseline.
Strict parsing/validation and verification APIs are implemented with unit coverage. Remaining work is hardening and broader integration fixture coverage.
See ARCHITECTURE.md and ROADMAP.md.