[package]
edition = "2021"
rust-version = "1.87.0"
name = "dstu-core"
version = "0.3.8"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Rust implementations of Ukrainian DSTU cryptographic standards (Kalyna, Kupyna, Strumok)"
homepage = "https://github.com/user137/uacrypt"
documentation = "https://docs.rs/dstu-core"
readme = "README.md"
keywords = [
"dstu",
"kalyna",
"kupyna",
"strumok",
"cryptography",
]
categories = [
"cryptography",
"no-std",
"algorithms",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/user137/uacrypt"
[package.metadata.docs.rs]
all-features = true
[features]
alloc = []
default = ["std"]
getrandom = ["dep:getrandom"]
pwhash = [
"std",
"dep:argon2",
]
selftest = ["std"]
small-tables = []
std = ["getrandom"]
[lib]
name = "dstu_core"
path = "src/lib.rs"
[[example]]
name = "kalyna_diff_cases"
path = "examples/kalyna_diff_cases.rs"
[[example]]
name = "kupyna_diff_cases"
path = "examples/kupyna_diff_cases.rs"
[[example]]
name = "strumok_diff_cases"
path = "examples/strumok_diff_cases.rs"
[[test]]
name = "crypto_auth"
path = "tests/crypto_auth.rs"
[[test]]
name = "crypto_box"
path = "tests/crypto_box.rs"
[[test]]
name = "crypto_box512"
path = "tests/crypto_box512.rs"
[[test]]
name = "crypto_generichash"
path = "tests/crypto_generichash.rs"
[[test]]
name = "crypto_kdf"
path = "tests/crypto_kdf.rs"
[[test]]
name = "crypto_pwhash"
path = "tests/crypto_pwhash.rs"
[[test]]
name = "crypto_secretbox"
path = "tests/crypto_secretbox.rs"
[[test]]
name = "crypto_secretstream"
path = "tests/crypto_secretstream.rs"
[[test]]
name = "crypto_sign"
path = "tests/crypto_sign.rs"
[[test]]
name = "crypto_sign257"
path = "tests/crypto_sign257.rs"
[[test]]
name = "crypto_stream"
path = "tests/crypto_stream.rs"
[[test]]
name = "dstu4145_curve"
path = "tests/dstu4145_curve.rs"
[[test]]
name = "dstu4145_curve257"
path = "tests/dstu4145_curve257.rs"
[[test]]
name = "dstu4145_gf2m"
path = "tests/dstu4145_gf2m.rs"
[[test]]
name = "dstu4145_gf2m257"
path = "tests/dstu4145_gf2m257.rs"
[[test]]
name = "dstu4145_signature"
path = "tests/dstu4145_signature.rs"
[[test]]
name = "dstu4145_signature257"
path = "tests/dstu4145_signature257.rs"
[[test]]
name = "dstu9041_curve"
path = "tests/dstu9041_curve.rs"
[[test]]
name = "dstu9041_curve_512"
path = "tests/dstu9041_curve_512.rs"
[[test]]
name = "dstu9041_encryption"
path = "tests/dstu9041_encryption.rs"
[[test]]
name = "dstu9041_encryption_512"
path = "tests/dstu9041_encryption_512.rs"
[[test]]
name = "dstu9041_field"
path = "tests/dstu9041_field.rs"
[[test]]
name = "dstu9041_field_512"
path = "tests/dstu9041_field_512.rs"
[[test]]
name = "dstu9041_message"
path = "tests/dstu9041_message.rs"
[[test]]
name = "dstu9041_message_512"
path = "tests/dstu9041_message_512.rs"
[[test]]
name = "kalyna"
path = "tests/kalyna.rs"
[[test]]
name = "kalyna_cbc"
path = "tests/kalyna_cbc.rs"
[[test]]
name = "kalyna_ccm"
path = "tests/kalyna_ccm.rs"
[[test]]
name = "kalyna_cfb"
path = "tests/kalyna_cfb.rs"
[[test]]
name = "kalyna_cmac"
path = "tests/kalyna_cmac.rs"
[[test]]
name = "kalyna_ctr"
path = "tests/kalyna_ctr.rs"
[[test]]
name = "kalyna_ecb"
path = "tests/kalyna_ecb.rs"
[[test]]
name = "kalyna_gcm"
path = "tests/kalyna_gcm.rs"
[[test]]
name = "kalyna_gmac"
path = "tests/kalyna_gmac.rs"
[[test]]
name = "kalyna_kw"
path = "tests/kalyna_kw.rs"
[[test]]
name = "kalyna_ofb"
path = "tests/kalyna_ofb.rs"
[[test]]
name = "kalyna_xts"
path = "tests/kalyna_xts.rs"
[[test]]
name = "kupyna"
path = "tests/kupyna.rs"
[[test]]
name = "kupyna_kdf"
path = "tests/kupyna_kdf.rs"
[[test]]
name = "kupyna_kmac"
path = "tests/kupyna_kmac.rs"
[[test]]
name = "randombytes"
path = "tests/randombytes.rs"
[[test]]
name = "selftest"
path = "tests/selftest.rs"
[[test]]
name = "strumok"
path = "tests/strumok.rs"
[[bench]]
name = "kalyna"
path = "benches/kalyna.rs"
harness = false
[[bench]]
name = "kupyna"
path = "benches/kupyna.rs"
harness = false
[[bench]]
name = "strumok"
path = "benches/strumok.rs"
harness = false
[dependencies.argon2]
version = "0.5.3"
features = [
"alloc",
"password-hash",
"zeroize",
]
optional = true
default-features = false
[dependencies.getrandom]
version = "0.3.4"
optional = true
default-features = false
[dependencies.subtle]
version = "2.6.1"
default-features = false
[dependencies.zeroize]
version = "1.9.0"
features = ["derive"]
default-features = false
[dev-dependencies.criterion]
version = "0.8.2"
[dev-dependencies.proptest]
version = "1.11.0"
[lints.rust.unexpected_cfgs]
level = "warn"
priority = 0
check-cfg = ["cfg(kani)"]