Hi everyone!
I’ve just released a new cryptography library on crates.io — crown — along with its command-line companion crown-bin.
The GitHub release also provides C FFI headers and libraries, so it can be easily used from C or other languages.
- repo: GitHub - cathaysia/crown
- crown docs: crown::envelope - Rust
- crown bin: crates.io: Rust Package Registry
About Crown
Crown is a developer-oriented cryptography library designed to be both easy to use and flexible.
It currently includes:
- AEAD encryption
- Stream ciphers
- Block ciphers
- Hash functions
The library integrates Wycheproof and Cryptography test suites to ensure correctness and compatibility.
It supports no_std
environments and provides an EVP-like interface, similar to OpenSSL, for higher-level use cases.
crown-bin
crown-bin
is a CLI utility that lets you experiment with Crown’s algorithms —
useful for quick tests, performance checks, or generating sample data.
You can try it by:
cargo install crown-bin
crown --help
Motivation
I’ve been working in the field of applied cryptography for over two years.
Earlier, I was involved in DDS Security development, and later worked on a custom network protocol that relied heavily on cryptography.
While using existing libraries, I ran into a few challenges:
aws-lc-rs
is difficult to cross-compile.ring
: the encryption algorithm provided by ring are very limited.RustCrypto
crates are powerful but quite complex to use directly.
That’s why I decided to build Crown — a developer-friendly crypto library with clear interfaces, solid correctness, and the goal of strong performance in the future.
Current Status
This is an early preview release.
I’d love to get feedback on the API design, usability, and performance.
Any suggestions or ideas are very welcome!