[package] name = "iota-crypto" version = "0.23.2" license = "Apache-2.0" authors = [ "IOTA Stiftung" ] edition = "2021" readme = "README.md" keywords = [ "iota", "cryptography", "security" ] categories = [ "cryptography" ] description = "The canonical source of cryptographic ground-truth for all IOTA Rust projects" homepage = "https://iota.org" repository = "https://github.com/iotaledger/crypto.rs" exclude = [ "/tests", "/.github", "/.changes" ] [package.metadata.docs.rs] all-features = true rustdoc-args = [ "--cfg", "docsrs" ] [lib] name = "crypto" [features] default = [ ] std = [ "k256?/std", "serde?/std" ] aes-cbc = [ "dep:aes", "cipher", "dep:cbc", "hmac", "sha", "subtle", "zeroize" ] aes-kw = [ "dep:aes" ] aes-gcm = [ "dep:aes-gcm", "cipher" ] chacha = [ "chacha20poly1305", "cipher" ] ed25519 = [ "ed25519-zebra", "zeroize" ] x25519 = [ "x25519-dalek", "curve25519-dalek", "zeroize" ] random = [ "getrandom", "rand?/getrandom" ] rand = [ "dep:rand" ] aes = [ "aes-cbc", "aes-gcm", "aes-kw" ] blake2b = [ "blake2", "digest" ] ternary_hashes = [ ] curl-p = [ "ternary_hashes", "ternary_encoding" ] kerl_deprecated_do_not_use = [ "ternary_hashes", "ternary_encoding", "byteorder", "lazy_static", "dep:tiny-keccak" ] ternary_keys = [ ] ternary_signatures = [ ] wots_deprecated_do_not_use = [ "ternary_keys", "ternary_signatures", "ternary_encoding", "sha3", "zeroize", "dep:rand", "bee-common-derive" ] sha = [ "dep:sha2", "digest" ] keccak = [ "dep:tiny-keccak" ] hmac = [ "dep:hmac" ] pbkdf2 = [ "dep:pbkdf2", "pbkdf2/hmac", "dep:sha2" ] bip39 = [ "dep:iterator-sorted", "dep:unicode-normalization", "pbkdf2", "sha", "zeroize", "zeroize/alloc" ] bip39-en = [ "bip39" ] bip39-jp = [ "bip39" ] bip44 = [ "slip10" ] slip10 = [ "hmac", "sha", "zeroize" ] cipher = [ "aead", "dep:cipher", "generic-array" ] ternary_encoding = [ "serde", "num-traits" ] age = [ "aead", "base64", "chacha20poly1305", "dep:hkdf", "dep:hmac", "dep:scrypt", "dep:sha2", "zeroize" ] secp256k1 = [ "dep:k256", "k256?/ecdsa", "zeroize" ] serde = [ "dep:serde", "ed25519-zebra?/serde", "k256?/serde", "k256?/pem" ] [dependencies] aead = { version = "0.5", optional = true, default-features = false } aes = { version = "0.8", optional = true, default-features = false } aes-gcm = { version = "0.10", optional = true, default-features = false, features = [ "aes" ] } bee-common-derive = { version = "0.1.1-alpha", optional = true, default-features = false } blake2 = { version = "0.10.5", optional = true, default-features = false } byteorder = { version = "1.4", optional = true, default-features = false } cbc = { version = "0.1", optional = true, default-features = false } chacha20poly1305 = { version = "0.10", optional = true, default-features = false } cipher = { version = "0.4", optional = true, default-features = false, features = [ "block-padding" ] } digest = { version = "0.10", optional = true, default-features = false } ed25519-zebra = { version = "4.0.1", optional = true, default-features = false } generic-array = { version = "0.14", optional = true, default-features = false } getrandom = { version = "0.2", optional = true, default-features = false, features = [ "js" ] } hmac = { version = "0.12", optional = true, default-features = false } iterator-sorted = { version = "0.1.0", optional = true, default-features = false } lazy_static = { version = "1.4", optional = true, default-features = false } num-traits = { version = "0.2", optional = true, default-features = false } pbkdf2 = { version = "0.12", optional = true, default-features = false } rand = { version = "0.8", optional = true, default-features = false } subtle = { version = "2.4", default-features = false, optional = true } sha2 = { version = "0.10", optional = true, default-features = false } serde = { version = "1.0", optional = true, default-features = false, features = [ "derive", "alloc" ] } sha3 = { version = "0.10", optional = true, default-features = false } tiny-keccak = { version = "2.0", optional = true, default-features = false, features = [ "keccak" ] } unicode-normalization = { version = "0.1", optional = true, default-features = false } curve25519-dalek = { version = "4.1.3", optional = true, default-features = false } x25519-dalek = { version = "2.0.1", optional = true, default-features = false, features = ["static_secrets", "zeroize"] } zeroize = { version = "1.5", optional = true, default-features = false, features = [ "zeroize_derive" ] } scrypt = { version = "0.11", optional = true, default-features = false } hkdf = { version = "0.12", optional = true, default-features = false } base64 = { version = "0.21", optional = true, default-features = false } k256 = { version = "0.13", optional = true, default-features = false, features = [ "ecdsa" ] } [target."cfg(not(target_family = \"wasm\"))".dependencies] cpufeatures = { version = "0.2", optional = true, default-features = false } [build-dependencies] autocfg = { version = "1.1", default-features = false } [dev-dependencies] hex = { version = "0.4", default-features = false, features = [ "alloc", "std" ] } rand = { version = "0.8", default-features = false, features = [ "std", "std_rng", "min_const_gen" ] } serde = { version = "1.0", default-features = false, features = [ "derive" ] } serde_json = { version = "1.0", default-features = false, features = [ "alloc", "std" ] } age = { version = "0.10", default-features = false } [profile.dev] split-debuginfo = "unpacked" [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(has_i128)', 'cfg(has_u128)'] }