| Crates.io | morus |
| lib.rs | morus |
| version | 0.1.3 |
| created_at | 2021-10-28 21:00:51.93762+00 |
| updated_at | 2021-10-29 00:35:05.752661+00 |
| description | MORUS authenticated cipher (MORUS-1280-128) |
| homepage | https://github.com/jedisct1/rust-morus |
| repository | https://github.com/jedisct1/rust-morus |
| max_upload_size | |
| id | 473696 |
| size | 24,143 |
This is a Rust implementation of MORUS (MORUS-1280-128)
MORUS is a fast authenticated cipher for platforms without hardware AES acceleration.
It performs especially well on WebAssembly compared to alternatives.
std: allow dynamic allocationsstd is the default.
A benchmark can be run that way:
export RUSTFLAGS="-C target-cpu=native"
cargo bench
Benchmarks take a 16384 bytes input block. Results are in bytes per second.
Crates:
aes-gcmchacha20poly1305morusMacbook Pro - 2,4 GHz Intel Core i9.
| cipher | speed |
|---|---|
| aes128-gcm | 1.91 G/s |
| chacha20-poly1305 | 1.48 G/s |
| morus | 3.76 G/s |
WebAssembly (Wasmtime)
| cipher | speed |
|---|---|
| aes128-gcm | 44.13 M/s |
| chacha20-poly1305 | 193.05 M/s |
| chacha20-poly1305 (+simd128) | 196.54 M/s |
| morus | 1.07 G/s |
| morus (+simd128) | 1.38 G/s |
WebAssembly (WAVM)
| cipher | speed |
|---|---|
| aes128-gcm | 57.01 M/s |
| chacha20-poly1305 | 335.82 M/s |
| morus | 1.95 G/s |
Other implementations (macOS native)
| cipher (implementation, runtime) | speed |
|---|---|
| zig-morus (Zig) | 5.89 G/s |
Other implementations (WebAssembly)
| cipher (implementation, runtime) | speed |
|---|---|
| zig-morus (Zig, wasmtime+simd128) | 1.77 G/s |
| zig-morus (Zig, WAVM) | 3.50 G/s |