krabitls 0.1.0

A TLS13 client lib for microcontrollers.
Documentation

KrabiTLS

Rust Footprint

A hobby no_std TLS 1.3 client for microcontrollers. Don't use it for anything you care about.

  • Locked to one cipher / curve / sig combo per build — won't negotiate with most servers
  • Trust model is "pin a pubkey or trust SAN" — no CA bundle, no chain walking
  • Hand-rolled, unaudited, not constant-time, no scalar blinding

No heap allocations, and prefer reduced flash + stack size over speed.

Resource usage (as of version 0.1.0)

Cortex-M3 and RV32IMAC footprint. Values are real-minus-baseline deltas from the Footprint workflow's step summary. Wire-data scratch buffers live in .bss (via footprint_handshakes::with_buffers), so the stack column reflects only the crypto + protocol cost.

Target Suite Sig .text (KiB) Stack (B)
M3 ChaCha20-Poly1305 Ed25519 35.4 10692
M3 AES-128-GCM Ed25519 40.1 15844
M3 AES-128-GCM RSA-2048-PSS 53.8 27280
RV32IMAC ChaCha20-Poly1305 Ed25519 53.8 10436
RV32IMAC AES-128-GCM Ed25519 63.3 15604
RV32IMAC AES-128-GCM RSA-2048-PSS 86.4 30484

License

Apache 2.0; see LICENSE for details.