| [package] |
| authors = ["Brian Smith <brian@briansmith.org>"] |
| build = "build.rs" |
| categories = ["cryptography", "no-std"] |
| description = "Safe, fast, small crypto using Rust." |
| documentation = "https://briansmith.org/rustdoc/ring/" |
| edition = "2018" |
| keywords = ["crypto", "cryptography", "rand", "ECC", "RSA"] |
| license-file = "LICENSE" |
| name = "ring" |
| readme = "doc/link-to-readme.md" |
| repository = "https://github.com/briansmith/ring" |
| version = "0.16.19" |
| |
| # Prevent multiple versions of *ring* from being linked into the same program. |
| links = "ring-asm" |
| |
| include = [ |
| "LICENSE", |
| "Cargo.toml", |
| |
| "pregenerated/*", |
| |
| "build.rs", |
| |
| "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", |
| "crypto/cpu-intel.c", |
| "crypto/crypto.c", |
| "crypto/curve25519/asm/x25519-asm-arm.S", |
| "crypto/curve25519/curve25519.c", |
| "crypto/curve25519/curve25519_tables.h", |
| "crypto/curve25519/internal.h", |
| "crypto/fipsmodule/aes/aes_nohw.c", |
| "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", |
| "crypto/fipsmodule/aes/asm/vsaes-armv7.pl", |
| "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", |
| "crypto/fipsmodule/ec/asm/ecp_nistz256-armv4.pl", |
| "crypto/fipsmodule/ec/asm/ecp_nistz256-armv8.pl", |
| "crypto/fipsmodule/ec/asm/ecp_nistz256-x86.pl", |
| "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_nistz256.c", |
| "crypto/fipsmodule/ec/ecp_nistz256.h", |
| "crypto/fipsmodule/ec/ecp_nistz256_table.inl", |
| "crypto/fipsmodule/ec/ecp_nistz384.h", |
| "crypto/fipsmodule/ec/ecp_nistz384.inl", |
| "crypto/fipsmodule/ec/gfp_p256.c", |
| "crypto/fipsmodule/ec/gfp_p384.c", |
| "crypto/fipsmodule/ecdsa/ecdsa_verify_tests.txt", |
| "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", |
| "crypto/poly1305/internal.h", |
| "crypto/poly1305/poly1305.c", |
| "crypto/poly1305/poly1305_arm.c", |
| "crypto/poly1305/poly1305_arm_asm.S", |
| "crypto/poly1305/poly1305_vec.c", |
| "doc/link-to-readme.md", |
| "examples/checkdigest.rs", |
| "include/GFp/aes.h", |
| "include/GFp/arm_arch.h", |
| "include/GFp/base.h", |
| "include/GFp/check.h", |
| "include/GFp/cpu.h", |
| "include/GFp/mem.h", |
| "include/GFp/poly1305.h", |
| "include/GFp/type_check.h", |
| "src/aead.rs", |
| "src/aead/aes.rs", |
| "src/aead/aes_gcm.rs", |
| "src/aead/aes_tests.txt", |
| "src/aead/block.rs", |
| "src/aead/chacha.rs", |
| "src/aead/chacha_tests.txt", |
| "src/aead/chacha20_poly1305.rs", |
| "src/aead/chacha20_poly1305_openssh.rs", |
| "src/aead/counter.rs", |
| "src/aead/gcm.rs", |
| "src/aead/gcm/gcm_nohw.rs", |
| "src/aead/iv.rs", |
| "src/aead/nonce.rs", |
| "src/aead/poly1305.rs", |
| "src/aead/poly1305_test.txt", |
| "src/aead/quic.rs", |
| "src/aead/shift.rs", |
| "src/agreement.rs", |
| "src/arithmetic.rs", |
| "src/arithmetic/bigint.rs", |
| "src/arithmetic/bigint_elem_exp_consttime_tests.txt", |
| "src/arithmetic/bigint_elem_exp_vartime_tests.txt", |
| "src/arithmetic/bigint_elem_mul_tests.txt", |
| "src/arithmetic/bigint_elem_reduced_once_tests.txt", |
| "src/arithmetic/bigint_elem_reduced_tests.txt", |
| "src/arithmetic/bigint_elem_squared_tests.txt", |
| "src/arithmetic/constant.rs", |
| "src/arithmetic/montgomery.rs", |
| "src/array.rs", |
| "src/bits.rs", |
| "src/bssl.rs", |
| "src/c.rs", |
| "src/constant_time.rs", |
| "src/cpu.rs", |
| "src/data/alg-rsa-encryption.der", |
| "src/debug.rs", |
| "src/digest.rs", |
| "src/digest/sha1.rs", |
| "src/digest/sha2.rs", |
| "src/ec/curve25519/ed25519/digest.rs", |
| "src/ec/curve25519/ed25519.rs", |
| "src/ec/curve25519/ed25519/signing.rs", |
| "src/ec/curve25519/ed25519/verification.rs", |
| "src/ec/curve25519/ed25519/ed25519_pkcs8_v2_template.der", |
| "src/ec/curve25519.rs", |
| "src/ec/curve25519/ops.rs", |
| "src/ec/curve25519/scalar.rs", |
| "src/ec/curve25519/x25519.rs", |
| "src/ec.rs", |
| "src/ec/keys.rs", |
| "src/ec/suite_b/curve.rs", |
| "src/ec/suite_b/ecdh.rs", |
| "src/ec/suite_b/ecdsa/digest_scalar.rs", |
| "src/ec/suite_b/ecdsa.rs", |
| "src/ec/suite_b/ecdsa/signing.rs", |
| "src/ec/suite_b/ecdsa/verification.rs", |
| "src/ec/suite_b/ecdsa/ecdsa_digest_scalar_tests.txt", |
| "src/ec/suite_b/ecdsa/ecPublicKey_p256_pkcs8_v1_template.der", |
| "src/ec/suite_b/ecdsa/ecPublicKey_p384_pkcs8_v1_template.der", |
| "src/ec/suite_b/ecdsa/ecdsa_sign_asn1_tests.txt", |
| "src/ec/suite_b/ecdsa/ecdsa_sign_fixed_tests.txt", |
| "src/ec/suite_b.rs", |
| "src/ec/suite_b/ops/elem.rs", |
| "src/ec/suite_b/ops.rs", |
| "src/ec/suite_b/ops/p256.rs", |
| "src/ec/suite_b/ops/p256_elem_mul_tests.txt", |
| "src/ec/suite_b/ops/p256_elem_neg_tests.txt", |
| "src/ec/suite_b/ops/p256_elem_sum_tests.txt", |
| "src/ec/suite_b/ops/p256_point_double_tests.txt", |
| "src/ec/suite_b/ops/p256_point_mul_base_tests.txt", |
| "src/ec/suite_b/ops/p256_point_mul_serialized_tests.txt", |
| "src/ec/suite_b/ops/p256_point_mul_tests.txt", |
| "src/ec/suite_b/ops/p256_point_sum_mixed_tests.txt", |
| "src/ec/suite_b/ops/p256_point_sum_tests.txt", |
| "src/ec/suite_b/ops/p256_scalar_mul_tests.txt", |
| "src/ec/suite_b/ops/p256_scalar_square_tests.txt", |
| "src/ec/suite_b/ops/p384.rs", |
| "src/ec/suite_b/ops/p384_elem_div_by_2_tests.txt", |
| "src/ec/suite_b/ops/p384_elem_mul_tests.txt", |
| "src/ec/suite_b/ops/p384_elem_neg_tests.txt", |
| "src/ec/suite_b/ops/p384_elem_sum_tests.txt", |
| "src/ec/suite_b/ops/p384_point_double_tests.txt", |
| "src/ec/suite_b/ops/p384_point_mul_base_tests.txt", |
| "src/ec/suite_b/ops/p384_point_mul_tests.txt", |
| "src/ec/suite_b/ops/p384_point_sum_tests.txt", |
| "src/ec/suite_b/ops/p384_scalar_mul_tests.txt", |
| "src/ec/suite_b/private_key.rs", |
| "src/ec/suite_b/public_key.rs", |
| "src/ec/suite_b/suite_b_public_key_tests.txt", |
| "src/endian.rs", |
| "src/error.rs", |
| "src/hkdf.rs", |
| "src/hmac.rs", |
| "src/hmac_generate_serializable_tests.txt", |
| "src/io.rs", |
| "src/io/der.rs", |
| "src/io/der_writer.rs", |
| "src/io/positive.rs", |
| "src/io/writer.rs", |
| "src/lib.rs", |
| "src/limb.rs", |
| "src/endian.rs", |
| "src/pbkdf2.rs", |
| "src/pkcs8.rs", |
| "src/polyfill.rs", |
| "src/polyfill/convert.rs", |
| "src/rand.rs", |
| "src/rsa/convert_nist_rsa_test_vectors.py", |
| "src/rsa.rs", |
| "src/rsa/padding.rs", |
| "src/rsa/random.rs", |
| "src/rsa/rsa_pss_padding_tests.txt", |
| "src/rsa/signature_rsa_example_private_key.der", |
| "src/rsa/signature_rsa_example_public_key.der", |
| "src/rsa/signing.rs", |
| "src/rsa/verification.rs", |
| "src/signature.rs", |
| "src/test.rs", |
| "src/test_1_syntax_error_tests.txt", |
| "src/test_1_tests.txt", |
| "src/test_3_tests.txt", |
| "tests/aead_aes_128_gcm_tests.txt", |
| "tests/aead_aes_256_gcm_tests.txt", |
| "tests/aead_chacha20_poly1305_tests.txt", |
| "tests/aead_chacha20_poly1305_openssh_tests.txt", |
| "tests/aead_tests.rs", |
| "tests/agreement_tests.rs", |
| "tests/agreement_tests.txt", |
| "tests/constant_time_tests.rs", |
| "tests/digest_tests.rs", |
| "tests/digest_tests.txt", |
| "tests/ecdsa_from_pkcs8_tests.txt", |
| "tests/ecdsa_tests.rs", |
| "tests/ecdsa_test_private_key_p256.p8", |
| "tests/ecdsa_test_public_key_p256.der", |
| "tests/ecdsa_test_public_key_p256_debug.txt", |
| "tests/ecdsa_sign_asn1_tests.txt", |
| "tests/ecdsa_sign_fixed_tests.txt", |
| "tests/ecdsa_verify_asn1_tests.txt", |
| "tests/ecdsa_verify_fixed_tests.txt", |
| "tests/ed25519_from_pkcs8_tests.txt", |
| "tests/ed25519_from_pkcs8_unchecked_tests.txt", |
| "tests/ed25519_tests.rs", |
| "tests/ed25519_tests.txt", |
| "tests/ed25519_test_private_key.bin", |
| "tests/ed25519_test_private_key.p8", |
| "tests/ed25519_test_public_key.bin", |
| "tests/ed25519_test_public_key.der", |
| "tests/hkdf_tests.rs", |
| "tests/hkdf_tests.txt", |
| "tests/hmac_tests.rs", |
| "tests/hmac_tests.txt", |
| "tests/pbkdf2_tests.rs", |
| "tests/pbkdf2_tests.txt", |
| "tests/quic_aes_128_tests.txt", |
| "tests/quic_aes_256_tests.txt", |
| "tests/quic_chacha20_tests.txt", |
| "tests/quic_tests.rs", |
| "tests/rand_tests.rs", |
| "tests/rsa_from_pkcs8_tests.txt", |
| "tests/rsa_pkcs1_sign_tests.txt", |
| "tests/rsa_pkcs1_verify_tests.txt", |
| "tests/rsa_primitive_verify_tests.txt", |
| "tests/rsa_pss_sign_tests.txt", |
| "tests/rsa_pss_verify_tests.txt", |
| "tests/rsa_tests.rs", |
| "tests/rsa_test_private_key_2048.p8", |
| "tests/rsa_test_public_key_2048.der", |
| "tests/rsa_test_public_key_2048_debug.txt", |
| "tests/signature_tests.rs", |
| "third_party/fiat/curve25519_32.h", |
| "third_party/fiat/curve25519_64.h", |
| "third_party/fiat/LICENSE", |
| "third_party/fiat/make_curve25519_tables.py", |
| "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", |
| ] |
| |
| [lib] |
| name = "ring" |
| |
| [dependencies] |
| untrusted = { version = "0.7.1" } |
| |
| [target.'cfg(any(target_arch = "x86",target_arch = "x86_64", all(any(target_arch = "aarch64", target_arch = "arm"), any(target_os = "android", target_os = "fuchsia", target_os = "linux"))))'.dependencies] |
| spin = { version = "0.5.2", default-features = false } |
| |
| [target.'cfg(any(target_os = "android", target_os = "linux"))'.dependencies] |
| libc = { version = "0.2.69", default-features = false } |
| once_cell = { version = "1.5.2", default-features = false, features=["std"], optional = true } |
| |
| [target.'cfg(any(target_os = "dragonfly", target_os = "freebsd", target_os = "illumos", target_os = "netbsd", target_os = "openbsd", target_os = "solaris"))'.dependencies] |
| once_cell = { version = "1.5.2", default-features = false, features=["std"] } |
| |
| [target.'cfg(all(target_arch = "wasm32", target_vendor = "unknown", target_os = "unknown", target_env = ""))'.dependencies] |
| web-sys = { version = "0.3.37", default-features = false, features = ["Crypto", "Window"] } |
| |
| [target.'cfg(target_os = "windows")'.dependencies] |
| winapi = { version = "0.3.8", default-features = false, features = ["ntsecapi", "wtypesbase"] } |
| |
| [target.'cfg(target_arch = "wasm32")'.dev-dependencies] |
| wasm-bindgen-test = { version = "0.3.18", default-features = false } |
| |
| [target.'cfg(any(unix, windows))'.dev-dependencies] |
| libc = { version = "0.2.80", default-features = false } |
| |
| # Keep this in sync with `[dependencies]` in pregenerate_asm/Cargo.toml. |
| [build-dependencies] |
| cc = { version = "1.0.62", default-features = false } |
| |
| [features] |
| # These features are documented in the top-level module's documentation. |
| default = ["alloc", "dev_urandom_fallback"] |
| alloc = [] |
| dev_urandom_fallback = ["once_cell"] |
| internal_benches = [] |
| slow_tests = [] |
| std = ["alloc"] |
| test_logging = [] |
| wasm32_c = [] |
| |
| # XXX: debug = false because of https://github.com/rust-lang/rust/issues/34122 |
| |
| [profile.bench] |
| opt-level = 3 |
| debug = false |
| rpath = false |
| lto = true |
| debug-assertions = false |
| codegen-units = 1 |
| |
| [profile.release] |
| opt-level = 3 |
| debug = false |
| rpath = false |
| lto = true |
| debug-assertions = false |
| codegen-units = 1 |