iso-cenc 0.1.1

Sans-IO ClearKey ISO Common Encryption (CENC) sample crypto
Documentation
  • Coverage
  • 100%
    17 out of 17 items documented0 out of 0 items with examples
  • Size
  • Source code size: 18.59 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 580.65 kB This is the summed size of all files generated by rustdoc for all configured targets
  • Ø build duration
  • this release: 14s Average build duration of successful builds.
  • all releases: 11s Average build duration of successful builds in releases after 2024-10-23.
  • Links
  • nyxways/mediaway
    1 0 0
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • dev-nyxie

iso-cenc

Status: early development (0.x). Not recommended for production; public APIs may change without notice. Part of the Mediaway media stack.

Sans-IO sample encryption for ISO Common Encryption (ISO/IEC 23001-7): the AES-128-CTR cenc scheme with subsample-aware crypto. Callers supply the keys — this is sample crypto, not a DRM client (no CDM, no license acquisition).

Quick start

use iso_cenc::{decrypt_cenc, Pattern, Subsample};

let key = [0u8; 16];
let iv = [0u8; 16]; // 16-byte CTR init block
let mut sample = [0u8; 64];
let subsamples = &[Subsample { clear_bytes: 16, protected_bytes: 48 }];

decrypt_cenc(&key, &iv, Pattern::NONE, &mut sample, subsamples)?;

Status

Status marks: ✅ first-class (tests for claimed scope) · ⚡ Zero-Copy path (no payload copy; implies ✅) · 🆗 best-effort / prototype · 🛠️ planned · ❌ attempted and genuinely blocked · 👻 not exercisable yet (no hardware / device / session available)

Area Status Notes
cenc AES-128-CTR, subsample-aware Clear ranges do not advance the CTR counter
Used by iso-bmff demux (tenc / senc)
cens / cbc1 / cbcs schemes 🛠️ When a concrete product need appears

Docs

  • docs/roadmap.md — stages, deferred items, design decisions
  • iso-bmff — MP4 mux/demux with ClearKey wiring
  • Root README — container support matrix

Contributing

Contributions are welcome — open an issue or pull request at github.com/nyxways/mediaway.

License

MIT OR Apache-2.0.