Cargo Features

iota-crypto has no features set by default.

iota-crypto = { version = "0.23.1", features = ["std", "aes-cbc", "aes-kw", "aes-gcm", "chacha", "ed25519", "x25519", "random", "rand", "aes", "blake2b", "ternary_hashes", "curl-p", "kerl_deprecated_do_not_use", "ternary_keys", "ternary_signatures", "wots_deprecated_do_not_use", "sha", "keccak", "hmac", "pbkdf2", "bip39", "bip39-jp", "bip44", "slip10", "cipher", "ternary_encoding", "age", "secp256k1", "serde", "cpufeatures"] }

Enables std of optional k256 and optional serde


Provide impls for common standard library types like Vec<T> and HashMap<K, V>.
Requires a dependency on the Rust standard library.

Affects age::enc_vec, age::decrypt_vec, age::encrypt_vec

aes-cbc aes? = cipher, hmac, sha, subtle, zeroize

Enables aes and cbc

Affects ciphers::aes_cbc

aes-kw aes?

Enables aes

Affects ciphers::aes_kw

aes-gcm aes? = cipher

Enables aes-gcm

Affects ciphers::aes_gcm

chacha = chacha20poly1305, cipher

Affects ciphers::chacha

ed25519 = ed25519-zebra, zeroize

Affects bip44::ed25519, slip10::ed25519, signatures::ed25519

x25519 = curve25519-dalek, x25519-dalek, zeroize

Affects keys::x25519

random = getrandom

Enables getrandom of optional rand


Option: use getrandom package for seeding

Affects traits::Aead.random_nonce, age::encrypt, utils::rand, age::encrypt_vec


Enables rand

aes = aes-cbc, aes-gcm, aes-kw
blake2b = blake2, digest

Affects hashes::blake2b

ternary_hashes curl-p? kerl_deprecated_do_not_use?

Affects hashes::ternary

curl-p = ternary_encoding, ternary_hashes

Affects ternary::curl_p

kerl_deprecated_do_not_use = byteorder, lazy_static, ternary_encoding, ternary_hashes

Enables tiny-keccak

Affects ternary::kerl

ternary_keys wots_deprecated_do_not_use?

Affects keys::ternary

ternary_signatures wots_deprecated_do_not_use?

Affects signatures::ternary

wots_deprecated_do_not_use = bee-common-derive, sha3, ternary_encoding, ternary_keys, ternary_signatures, zeroize

Enables rand

Affects ternary::wots, ternary::wots

sha aes-cbc? bip39? slip10? = digest

Enables sha2

Affects hashes::sha, hmac::HMAC_SHA256, hmac::HMAC_SHA384, hmac::HMAC_SHA512


Enables tiny-keccak

Affects hashes::keccak

hmac aes-cbc? slip10?

Enables hmac

Affects macs::hmac

pbkdf2 bip39?

Enables sha2, hmac of pbkdf2

Affects keys::pbkdf, pbkdf::PBKDF2_HMAC_SHA256, pbkdf::PBKDF2_HMAC_SHA384, pbkdf::PBKDF2_HMAC_SHA512

bip39 bip39-en? bip39-jp? = pbkdf2, sha, zeroize

Enables iterator-sorted ^0.1.0 and unicode-normalization, alloc of zeroize

Affects keys::bip39

bip39-en bip39-jp = bip39
bip44 = slip10

Affects keys::bip44

slip10 bip44? = hmac, sha, zeroize

Affects keys::slip10

cipher aes-cbc? aes-gcm? chacha? = aead, generic-array

Enables cipher

Affects ciphers::traits

ternary_encoding curl-p? kerl_deprecated_do_not_use? wots_deprecated_do_not_use? = num-traits, serde

Affects encoding::ternary

age = aead, base64, chacha20poly1305, zeroize

Enables hkdf, hmac, scrypt, and sha2

Affects keys::age

secp256k1 = zeroize

Enables k256

Affects bip44::secp256k1, slip10::secp256k1, signatures::secp256k1_ecdsa

serde ternary_encoding?

Enables serde, serde of optional ed25519-zebra, pem and serde of optional k256

Features from optional dependencies

In crates that don't use the dep: syntax, optional dependencies automatically become Cargo features.

aead age? cipher?
bee-common-derive wots_deprecated_do_not_use?
blake2 blake2b?
byteorder kerl_deprecated_do_not_use?
chacha20poly1305 age? chacha?
digest blake2b? sha?
ed25519-zebra ed25519?
generic-array cipher?

Enables generic-array ^0.14

getrandom random?
lazy_static kerl_deprecated_do_not_use?
num-traits ternary_encoding?
subtle aes-cbc?
sha3 wots_deprecated_do_not_use?
curve25519-dalek x25519?

Enables curve25519-dalek ^3.2

x25519-dalek x25519?

Enables x25519-dalek ^1.1

zeroize aes-cbc? age? bip39? ed25519? secp256k1? slip10? wots_deprecated_do_not_use? x25519?
base64 age?

Enables base64 ^0.21

cpufeatures not wasm implicit feature