
Securely zeroes sensitive memory buffers to prevent compiler optimizations, offering zeroization utilities, provenance headers for traceability, and aiming for feature-parity with upstream utilities.
This is a Kotlin Multiplatform line-by-line transliteration port of RustCrypto/utils.
Original Project: This port is based on RustCrypto/utils. All design credit and project intent belong to the upstream authors; this repository is a faithful port to Kotlin Multiplatform with no behavioural changes intended.
This is an in-progress port. The goal is feature parity with the upstream Rust crate while providing a native Kotlin Multiplatform API. Every Kotlin file carries a // port-lint: source <path> header naming its upstream Rust counterpart so the AST-distance tool can track provenance.
The text below is reproduced and lightly edited from
https://github.com/RustCrypto/utils. It is the upstream project's own description and remains under the upstream authors' authorship; links have been rewritten to absolute upstream URLs so they continue to resolve from this repository.
This repository contains various utility crates used in the RustCrypto project.
| Name | crates.io | Docs | Description |
|---|---|---|---|
aarch64-dit |
Wrappers for enabling/disabling the Data Independent Timing (DIT) feature on AArch64 CPUs | ||
blobby |
Decoder of the simple de-duplicated binary blob storage format | ||
block-buffer |
Fixed size buffer for block processing of data | ||
block‑padding |
Padding and unpadding of messages divided into blocks | ||
cmov |
Conditional move intrinsics | ||
cpubits |
Compile-time detection heuristics for the optimal word size to use for the target CPU | ||
cpufeatures |
Lightweight and efficient alternative to the is_x86_feature_detected! macro |
||
ctutils |
Constant-time utility library with selection and equality testing support targeting cryptographic applications | ||
dbl |
Double operation in Galois Field (GF) | ||
digest-io |
std::io-compatibility wrappers for traits defined in the digest crate |
||
hex-literal |
A macro for converting hexadecimal strings to a byte array at compile time | ||
inout |
Custom reference types for code generic over in-place and buffer-to-buffer modes of operation. | ||
wycheproof2blb |
|||
zeroize |
Securely zero memory while avoiding compiler optimizations |
All crates licensed under either of
at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.
dependencies {
implementation("io.github.kotlinmania:zeroize-kotlin:0.1.0")
}./gradlew build
./gradlew testSee AGENTS.md for translator discipline, port-lint header convention, and Rust -> Kotlin idiom mapping.
This Kotlin port is distributed under the same Apache-2.0 license as the upstream RustCrypto/utils. See LICENSE (and any sibling LICENSE-* / NOTICE files mirrored from upstream) for the full text.
Original work copyrighted by the utils authors.
Kotlin port: Copyright (c) 2026 Sydney Renee and The Solace Project.
Thanks to the RustCrypto/utils maintainers and contributors for the original Rust implementation. This port reproduces their work in Kotlin Multiplatform; bug reports about upstream design or behavior should go to the upstream repository.
This is a Kotlin Multiplatform line-by-line transliteration port of RustCrypto/utils.
Original Project: This port is based on RustCrypto/utils. All design credit and project intent belong to the upstream authors; this repository is a faithful port to Kotlin Multiplatform with no behavioural changes intended.
This is an in-progress port. The goal is feature parity with the upstream Rust crate while providing a native Kotlin Multiplatform API. Every Kotlin file carries a // port-lint: source <path> header naming its upstream Rust counterpart so the AST-distance tool can track provenance.
The text below is reproduced and lightly edited from
https://github.com/RustCrypto/utils. It is the upstream project's own description and remains under the upstream authors' authorship; links have been rewritten to absolute upstream URLs so they continue to resolve from this repository.
This repository contains various utility crates used in the RustCrypto project.
| Name | crates.io | Docs | Description |
|---|---|---|---|
aarch64-dit |
Wrappers for enabling/disabling the Data Independent Timing (DIT) feature on AArch64 CPUs | ||
blobby |
Decoder of the simple de-duplicated binary blob storage format | ||
block-buffer |
Fixed size buffer for block processing of data | ||
block‑padding |
Padding and unpadding of messages divided into blocks | ||
cmov |
Conditional move intrinsics | ||
cpubits |
Compile-time detection heuristics for the optimal word size to use for the target CPU | ||
cpufeatures |
Lightweight and efficient alternative to the is_x86_feature_detected! macro |
||
ctutils |
Constant-time utility library with selection and equality testing support targeting cryptographic applications | ||
dbl |
Double operation in Galois Field (GF) | ||
digest-io |
std::io-compatibility wrappers for traits defined in the digest crate |
||
hex-literal |
A macro for converting hexadecimal strings to a byte array at compile time | ||
inout |
Custom reference types for code generic over in-place and buffer-to-buffer modes of operation. | ||
wycheproof2blb |
|||
zeroize |
Securely zero memory while avoiding compiler optimizations |
All crates licensed under either of
at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.
dependencies {
implementation("io.github.kotlinmania:zeroize-kotlin:0.1.0")
}./gradlew build
./gradlew testSee AGENTS.md for translator discipline, port-lint header convention, and Rust -> Kotlin idiom mapping.
This Kotlin port is distributed under the same Apache-2.0 license as the upstream RustCrypto/utils. See LICENSE (and any sibling LICENSE-* / NOTICE files mirrored from upstream) for the full text.
Original work copyrighted by the utils authors.
Kotlin port: Copyright (c) 2026 Sydney Renee and The Solace Project.
Thanks to the RustCrypto/utils maintainers and contributors for the original Rust implementation. This port reproduces their work in Kotlin Multiplatform; bug reports about upstream design or behavior should go to the upstream repository.