2015-07-30 19:48:38 -04:00
|
|
|
[package]
|
|
|
|
authors = ["Brian Smith <brian@briansmith.org>"]
|
|
|
|
build = "build.rs"
|
2017-02-10 13:59:36 -10:00
|
|
|
categories = ["cryptography", "no-std"]
|
2016-08-15 15:45:47 -10:00
|
|
|
description = "Safe, fast, small crypto using Rust."
|
2022-10-20 21:31:39 -07:00
|
|
|
edition = "2021"
|
2017-01-21 23:32:57 -10:00
|
|
|
keywords = ["crypto", "cryptography", "rand", "ECC", "RSA"]
|
2015-07-30 19:48:38 -04:00
|
|
|
license-file = "LICENSE"
|
2015-08-11 13:57:59 -04:00
|
|
|
name = "ring"
|
2015-07-30 19:48:38 -04:00
|
|
|
repository = "https://github.com/briansmith/ring"
|
2017-05-08 15:57:05 -10:00
|
|
|
|
2022-10-28 18:20:59 -07:00
|
|
|
# Keep in sync with .github/workflows/ci.yml ("MSRV") and see the MSRV note
|
|
|
|
# in cpu/arm.rs
|
|
|
|
rust-version = "1.61.0"
|
2022-10-28 22:23:09 -07:00
|
|
|
|
2021-05-03 12:22:04 -07:00
|
|
|
# Keep in sync with `links` below.
|
2023-12-05 13:51:21 -08:00
|
|
|
version = "0.17.7"
|
2021-05-03 12:22:04 -07:00
|
|
|
|
|
|
|
# Keep in sync with `version` above.
|
|
|
|
#
|
|
|
|
# "ring_core_" + version, replacing punctuation with underscores.
|
|
|
|
#
|
|
|
|
# build.rs uses this to derive the prefix for FFI symbols and the file names
|
|
|
|
# of the FFI libraries, so it must be a valid identifier prefix and a valid
|
|
|
|
# filename prefix.
|
2023-12-05 13:51:21 -08:00
|
|
|
links = "ring_core_0_17_7"
|
2015-07-30 19:48:38 -04:00
|
|
|
|
2016-08-14 20:39:12 -10:00
|
|
|
include = [
|
|
|
|
"LICENSE",
|
|
|
|
"Cargo.toml",
|
|
|
|
|
2017-03-16 12:43:18 -10:00
|
|
|
"pregenerated/*",
|
2016-08-14 20:39:12 -10:00
|
|
|
|
2021-06-22 16:17:13 -05:00
|
|
|
"benches/*.rs",
|
2016-08-14 20:39:12 -10:00
|
|
|
"build.rs",
|
|
|
|
|
2018-05-07 13:04:56 -10:00
|
|
|
"crypto/chacha/asm/chacha-armv4.pl",
|
|
|
|
"crypto/chacha/asm/chacha-armv8.pl",
|
|
|
|
"crypto/chacha/asm/chacha-x86.pl",
|
|
|
|
"crypto/chacha/asm/chacha-x86_64.pl",
|
|
|
|
"crypto/cipher_extra/test/aes_128_gcm_siv_tests.txt",
|
|
|
|
"crypto/cipher_extra/test/aes_256_gcm_siv_tests.txt",
|
|
|
|
"crypto/constant_time_test.c",
|
2022-10-31 16:06:08 -07:00
|
|
|
"crypto/cpu_intel.c",
|
2018-05-07 13:04:56 -10:00
|
|
|
"crypto/crypto.c",
|
|
|
|
"crypto/curve25519/asm/x25519-asm-arm.S",
|
2020-06-16 18:21:16 -05:00
|
|
|
"crypto/curve25519/curve25519.c",
|
2023-10-02 12:09:29 -07:00
|
|
|
"crypto/curve25519/curve25519_64_adx.c",
|
2020-06-16 18:21:16 -05:00
|
|
|
"crypto/curve25519/curve25519_tables.h",
|
|
|
|
"crypto/curve25519/internal.h",
|
2020-05-27 16:09:47 -05:00
|
|
|
"crypto/fipsmodule/aes/aes_nohw.c",
|
2018-05-07 13:04:56 -10:00
|
|
|
"crypto/fipsmodule/aes/asm/aesni-x86.pl",
|
|
|
|
"crypto/fipsmodule/aes/asm/aesni-x86_64.pl",
|
|
|
|
"crypto/fipsmodule/aes/asm/aesv8-armx.pl",
|
|
|
|
"crypto/fipsmodule/aes/asm/bsaes-armv7.pl",
|
|
|
|
"crypto/fipsmodule/aes/asm/bsaes-x86_64.pl",
|
2020-05-13 14:58:46 -05:00
|
|
|
"crypto/fipsmodule/aes/asm/vsaes-armv7.pl",
|
2018-05-07 13:04:56 -10:00
|
|
|
"crypto/fipsmodule/aes/asm/vpaes-x86.pl",
|
|
|
|
"crypto/fipsmodule/aes/asm/vpaes-x86_64.pl",
|
|
|
|
"crypto/fipsmodule/bn/asm/armv4-mont.pl",
|
|
|
|
"crypto/fipsmodule/bn/asm/armv8-mont.pl",
|
|
|
|
"crypto/fipsmodule/bn/asm/x86-mont.pl",
|
|
|
|
"crypto/fipsmodule/bn/asm/x86_64-mont.pl",
|
|
|
|
"crypto/fipsmodule/bn/asm/x86_64-mont5.pl",
|
|
|
|
"crypto/fipsmodule/bn/internal.h",
|
|
|
|
"crypto/fipsmodule/bn/montgomery.c",
|
|
|
|
"crypto/fipsmodule/bn/montgomery_inv.c",
|
2022-11-02 13:08:50 -07:00
|
|
|
"crypto/fipsmodule/ec/asm/p256-armv8-asm.pl",
|
2018-05-07 13:04:56 -10:00
|
|
|
"crypto/fipsmodule/ec/asm/p256-x86_64-asm.pl",
|
|
|
|
"crypto/fipsmodule/ec/ecp_nistz.c",
|
|
|
|
"crypto/fipsmodule/ec/ecp_nistz.h",
|
|
|
|
"crypto/fipsmodule/ec/ecp_nistz384.h",
|
|
|
|
"crypto/fipsmodule/ec/ecp_nistz384.inl",
|
|
|
|
"crypto/fipsmodule/ec/gfp_p256.c",
|
|
|
|
"crypto/fipsmodule/ec/gfp_p384.c",
|
2020-06-10 15:50:32 -05:00
|
|
|
"crypto/fipsmodule/ec/p256.c",
|
2022-11-02 13:08:50 -07:00
|
|
|
"crypto/fipsmodule/ec/p256-nistz-table.h",
|
|
|
|
"crypto/fipsmodule/ec/p256-nistz.c",
|
|
|
|
"crypto/fipsmodule/ec/p256-nistz.h",
|
2020-06-10 15:50:32 -05:00
|
|
|
"crypto/fipsmodule/ec/p256_shared.h",
|
|
|
|
"crypto/fipsmodule/ec/p256_table.h",
|
|
|
|
"crypto/fipsmodule/ec/util.h",
|
2018-12-21 15:56:39 -10:00
|
|
|
"crypto/fipsmodule/ecdsa/ecdsa_verify_tests.txt",
|
2018-05-07 13:04:56 -10:00
|
|
|
"crypto/fipsmodule/modes/asm/aesni-gcm-x86_64.pl",
|
|
|
|
"crypto/fipsmodule/modes/asm/ghash-armv4.pl",
|
|
|
|
"crypto/fipsmodule/modes/asm/ghash-x86.pl",
|
|
|
|
"crypto/fipsmodule/modes/asm/ghash-x86_64.pl",
|
|
|
|
"crypto/fipsmodule/modes/asm/ghashv8-armx.pl",
|
|
|
|
"crypto/fipsmodule/sha/asm/sha256-armv4.pl",
|
|
|
|
"crypto/fipsmodule/sha/asm/sha512-armv4.pl",
|
|
|
|
"crypto/fipsmodule/sha/asm/sha512-armv8.pl",
|
|
|
|
"crypto/fipsmodule/sha/asm/sha512-x86_64.pl",
|
|
|
|
"crypto/internal.h",
|
|
|
|
"crypto/limbs/limbs.c",
|
|
|
|
"crypto/limbs/limbs.h",
|
|
|
|
"crypto/limbs/limbs.inl",
|
|
|
|
"crypto/mem.c",
|
|
|
|
"crypto/perlasm/arm-xlate.pl",
|
|
|
|
"crypto/perlasm/x86asm.pl",
|
|
|
|
"crypto/perlasm/x86gas.pl",
|
|
|
|
"crypto/perlasm/x86nasm.pl",
|
|
|
|
"crypto/perlasm/x86_64-xlate.pl",
|
2020-11-13 14:12:45 -08:00
|
|
|
"crypto/poly1305/internal.h",
|
|
|
|
"crypto/poly1305/poly1305.c",
|
|
|
|
"crypto/poly1305/poly1305_arm.c",
|
|
|
|
"crypto/poly1305/poly1305_arm_asm.S",
|
|
|
|
"crypto/poly1305/poly1305_vec.c",
|
2022-11-03 09:16:44 -07:00
|
|
|
"crypto/cipher_extra/asm/chacha20_poly1305_armv8.pl",
|
2020-12-22 21:49:33 -05:00
|
|
|
"crypto/cipher_extra/asm/chacha20_poly1305_x86_64.pl",
|
2021-06-24 11:33:34 -07:00
|
|
|
"examples/**/*.rs",
|
2021-05-02 14:42:05 -07:00
|
|
|
"include/ring-core/aes.h",
|
|
|
|
"include/ring-core/arm_arch.h",
|
2023-09-29 12:52:11 -07:00
|
|
|
"include/ring-core/asm_base.h",
|
2021-05-02 14:42:05 -07:00
|
|
|
"include/ring-core/base.h",
|
|
|
|
"include/ring-core/check.h",
|
|
|
|
"include/ring-core/mem.h",
|
|
|
|
"include/ring-core/poly1305.h",
|
2023-09-29 12:52:11 -07:00
|
|
|
"include/ring-core/target.h",
|
2021-05-02 14:42:05 -07:00
|
|
|
"include/ring-core/type_check.h",
|
2021-06-24 11:33:34 -07:00
|
|
|
"src/**/*.rs",
|
2018-11-26 22:27:03 -10:00
|
|
|
"src/aead/poly1305_test.txt",
|
2017-04-29 14:28:25 -10:00
|
|
|
"src/data/alg-rsa-encryption.der",
|
2018-11-06 11:06:27 -10:00
|
|
|
"src/ec/curve25519/ed25519/ed25519_pkcs8_v2_template.der",
|
2018-05-28 12:18:50 -10:00
|
|
|
"src/ec/suite_b/ecdsa/ecPublicKey_p256_pkcs8_v1_template.der",
|
|
|
|
"src/ec/suite_b/ecdsa/ecPublicKey_p384_pkcs8_v1_template.der",
|
2016-08-14 20:39:12 -10:00
|
|
|
"src/rsa/signature_rsa_example_private_key.der",
|
|
|
|
"src/rsa/signature_rsa_example_public_key.der",
|
2021-06-24 11:33:34 -07:00
|
|
|
"tests/**/*.rs",
|
2019-01-19 18:17:45 -10:00
|
|
|
"tests/ecdsa_test_private_key_p256.p8",
|
|
|
|
"tests/ecdsa_test_public_key_p256.der",
|
|
|
|
"tests/ecdsa_test_public_key_p256_debug.txt",
|
2018-05-07 13:04:56 -10:00
|
|
|
"tests/ed25519_test_private_key.bin",
|
2019-01-19 18:17:45 -10:00
|
|
|
"tests/ed25519_test_private_key.p8",
|
2018-05-07 13:04:56 -10:00
|
|
|
"tests/ed25519_test_public_key.bin",
|
2019-01-19 18:17:45 -10:00
|
|
|
"tests/ed25519_test_public_key.der",
|
|
|
|
"tests/rsa_test_private_key_2048.p8",
|
|
|
|
"tests/rsa_test_public_key_2048.der",
|
|
|
|
"tests/rsa_test_public_key_2048_debug.txt",
|
2021-09-24 10:29:50 -07:00
|
|
|
"tests/rsa_test_public_modulus.bin",
|
2023-10-02 12:09:29 -07:00
|
|
|
"third_party/fiat/asm/fiat_curve25519_adx_mul.S",
|
|
|
|
"third_party/fiat/asm/fiat_curve25519_adx_square.S",
|
2019-02-12 10:26:06 -10:00
|
|
|
"third_party/fiat/curve25519_32.h",
|
|
|
|
"third_party/fiat/curve25519_64.h",
|
2023-10-06 16:01:53 -07:00
|
|
|
"third_party/fiat/curve25519_64_adx.h",
|
2023-09-28 15:04:48 -07:00
|
|
|
"third_party/fiat/curve25519_64_msvc.h",
|
2020-06-10 15:50:32 -05:00
|
|
|
"third_party/fiat/p256_32.h",
|
|
|
|
"third_party/fiat/p256_64.h",
|
2023-09-28 15:04:48 -07:00
|
|
|
"third_party/fiat/p256_64_msvc.h",
|
2018-05-07 13:04:56 -10:00
|
|
|
"third_party/fiat/LICENSE",
|
2018-04-30 13:25:42 -10:00
|
|
|
"third_party/NIST/SHAVS/SHA1LongMsg.rsp",
|
|
|
|
"third_party/NIST/SHAVS/SHA1Monte.rsp",
|
|
|
|
"third_party/NIST/SHAVS/SHA1ShortMsg.rsp",
|
|
|
|
"third_party/NIST/SHAVS/SHA224LongMsg.rsp",
|
|
|
|
"third_party/NIST/SHAVS/SHA224Monte.rsp",
|
|
|
|
"third_party/NIST/SHAVS/SHA224ShortMsg.rsp",
|
|
|
|
"third_party/NIST/SHAVS/SHA256LongMsg.rsp",
|
|
|
|
"third_party/NIST/SHAVS/SHA256Monte.rsp",
|
|
|
|
"third_party/NIST/SHAVS/SHA256ShortMsg.rsp",
|
|
|
|
"third_party/NIST/SHAVS/SHA384LongMsg.rsp",
|
|
|
|
"third_party/NIST/SHAVS/SHA384Monte.rsp",
|
|
|
|
"third_party/NIST/SHAVS/SHA384ShortMsg.rsp",
|
|
|
|
"third_party/NIST/SHAVS/SHA512LongMsg.rsp",
|
|
|
|
"third_party/NIST/SHAVS/SHA512Monte.rsp",
|
|
|
|
"third_party/NIST/SHAVS/SHA512ShortMsg.rsp",
|
2016-08-14 20:39:12 -10:00
|
|
|
]
|
|
|
|
|
2021-01-06 23:35:24 -08:00
|
|
|
[package.metadata.docs.rs]
|
|
|
|
all-features = true
|
|
|
|
|
2015-07-30 19:48:38 -04:00
|
|
|
[lib]
|
2015-08-11 13:57:59 -04:00
|
|
|
name = "ring"
|
2015-07-30 19:48:38 -04:00
|
|
|
|
2016-05-19 13:39:03 -10:00
|
|
|
[dependencies]
|
2023-12-11 09:44:48 -08:00
|
|
|
cfg-if = { version = "1.0.0", default-features = false }
|
2023-10-13 13:38:17 -07:00
|
|
|
getrandom = { version = "0.2.10" }
|
2021-07-13 15:16:41 -07:00
|
|
|
untrusted = { version = "0.9" }
|
2016-05-19 13:39:03 -10:00
|
|
|
|
2023-12-01 14:44:51 -08:00
|
|
|
[target.'cfg(any(target_arch = "aarch64", target_arch = "arm", target_arch = "x86",target_arch = "x86_64"))'.dependencies]
|
2023-10-13 13:37:16 -07:00
|
|
|
spin = { version = "0.9.8", default-features = false, features = ["once"] }
|
2019-01-14 14:26:25 -10:00
|
|
|
|
2023-10-30 17:42:08 -07:00
|
|
|
[target.'cfg(all(any(target_os = "android", target_os = "linux"), any(target_arch = "aarch64", target_arch = "arm")))'.dependencies]
|
2023-10-13 13:35:51 -07:00
|
|
|
libc = { version = "0.2.148", default-features = false }
|
2017-03-14 16:47:46 -10:00
|
|
|
|
2022-10-25 12:10:29 -07:00
|
|
|
[target.'cfg(all(target_arch = "aarch64", target_os = "windows"))'.dependencies]
|
2023-03-07 16:19:14 +01:00
|
|
|
windows-sys = { version = "0.48", features = ["Win32_Foundation", "Win32_System_Threading"] }
|
2019-07-16 11:52:09 -10:00
|
|
|
|
2022-12-15 12:05:28 +01:00
|
|
|
[target.'cfg(all(target_arch = "wasm32", target_os = "unknown"))'.dev-dependencies]
|
2023-10-13 13:39:40 -07:00
|
|
|
wasm-bindgen-test = { version = "0.3.37", default-features = false }
|
2019-06-17 15:15:56 -10:00
|
|
|
|
2022-12-15 12:05:28 +01:00
|
|
|
[target.'cfg(any(unix, windows, target_os = "wasi"))'.dev-dependencies]
|
2023-10-13 13:35:51 -07:00
|
|
|
libc = { version = "0.2.148", default-features = false }
|
2019-02-05 15:48:01 -10:00
|
|
|
|
2017-02-07 23:19:36 +01:00
|
|
|
[build-dependencies]
|
2023-10-13 13:36:11 -07:00
|
|
|
cc = { version = "1.0.83", default-features = false }
|
2017-02-07 23:19:36 +01:00
|
|
|
|
2016-01-07 18:43:41 -10:00
|
|
|
[features]
|
|
|
|
# These features are documented in the top-level module's documentation.
|
2019-07-13 12:49:03 -10:00
|
|
|
default = ["alloc", "dev_urandom_fallback"]
|
2019-07-04 08:06:13 -10:00
|
|
|
alloc = []
|
2022-10-25 12:10:29 -07:00
|
|
|
dev_urandom_fallback = []
|
2023-11-03 14:02:10 +01:00
|
|
|
less-safe-getrandom-custom-or-rdrand = []
|
2016-05-23 09:48:46 -10:00
|
|
|
slow_tests = []
|
2019-07-04 08:06:13 -10:00
|
|
|
std = ["alloc"]
|
2023-10-01 20:46:31 -07:00
|
|
|
unstable-testing-arm-no-hw = []
|
|
|
|
unstable-testing-arm-no-neon = []
|
2019-07-13 12:49:03 -10:00
|
|
|
test_logging = []
|
2022-10-25 12:10:29 -07:00
|
|
|
wasm32_unknown_unknown_js = ["getrandom/js"]
|
2016-01-07 18:43:41 -10:00
|
|
|
|
2016-06-06 13:36:08 -10:00
|
|
|
# XXX: debug = false because of https://github.com/rust-lang/rust/issues/34122
|
|
|
|
|
2015-10-26 17:23:59 -10:00
|
|
|
[profile.bench]
|
|
|
|
opt-level = 3
|
2016-06-06 13:36:08 -10:00
|
|
|
debug = false
|
2015-10-26 17:23:59 -10:00
|
|
|
rpath = false
|
|
|
|
lto = true
|
|
|
|
debug-assertions = false
|
|
|
|
codegen-units = 1
|
|
|
|
|
2015-07-30 19:48:38 -04:00
|
|
|
[profile.release]
|
|
|
|
opt-level = 3
|
2016-06-06 13:36:08 -10:00
|
|
|
debug = false
|
2015-07-30 19:48:38 -04:00
|
|
|
rpath = false
|
|
|
|
lto = true
|
|
|
|
debug-assertions = false
|
|
|
|
codegen-units = 1
|
2021-06-22 16:17:13 -05:00
|
|
|
|
2022-02-02 10:46:17 -08:00
|
|
|
[workspace]
|
|
|
|
members = [
|
|
|
|
# intentionally not a default member so that `cargo test` doesn't cause criterion.rs and all its
|
|
|
|
# dependencies to get built.
|
|
|
|
"bench",
|
|
|
|
]
|