1[package] 2authors = ["Brian Smith <brian@briansmith.org>"] 3build = "build.rs" 4categories = ["cryptography", "no-std"] 5description = "Safe, fast, small crypto using Rust." 6documentation = "https://briansmith.org/rustdoc/ring/" 7edition = "2018" 8keywords = ["crypto", "cryptography", "rand", "ECC", "RSA"] 9license-file = "LICENSE" 10name = "ring" 11readme = "doc/link-to-readme.md" 12repository = "https://github.com/briansmith/ring" 13 14# Keep in sync with `links` below. 15version = "0.17.0-alpha.11" 16 17# Keep in sync with `version` above. 18# 19# "ring_core_" + version, replacing punctuation with underscores. 20# 21# build.rs uses this to derive the prefix for FFI symbols and the file names 22# of the FFI libraries, so it must be a valid identifier prefix and a valid 23# filename prefix. 24links = "ring_core_0_17_0_alpha_11" 25 26include = [ 27 "LICENSE", 28 "Cargo.toml", 29 30 "pregenerated/*", 31 32 "build.rs", 33 34 "crypto/chacha/asm/chacha-armv4.pl", 35 "crypto/chacha/asm/chacha-armv8.pl", 36 "crypto/chacha/asm/chacha-x86.pl", 37 "crypto/chacha/asm/chacha-x86_64.pl", 38 "crypto/cipher_extra/test/aes_128_gcm_siv_tests.txt", 39 "crypto/cipher_extra/test/aes_256_gcm_siv_tests.txt", 40 "crypto/constant_time_test.c", 41 "crypto/cpu-intel.c", 42 "crypto/crypto.c", 43 "crypto/curve25519/asm/x25519-asm-arm.S", 44 "crypto/curve25519/curve25519.c", 45 "crypto/curve25519/curve25519_tables.h", 46 "crypto/curve25519/internal.h", 47 "crypto/fipsmodule/aes/aes_nohw.c", 48 "crypto/fipsmodule/aes/asm/aesni-x86.pl", 49 "crypto/fipsmodule/aes/asm/aesni-x86_64.pl", 50 "crypto/fipsmodule/aes/asm/aesv8-armx.pl", 51 "crypto/fipsmodule/aes/asm/bsaes-armv7.pl", 52 "crypto/fipsmodule/aes/asm/bsaes-x86_64.pl", 53 "crypto/fipsmodule/aes/asm/vsaes-armv7.pl", 54 "crypto/fipsmodule/aes/asm/vpaes-x86.pl", 55 "crypto/fipsmodule/aes/asm/vpaes-x86_64.pl", 56 "crypto/fipsmodule/bn/asm/armv4-mont.pl", 57 "crypto/fipsmodule/bn/asm/armv8-mont.pl", 58 "crypto/fipsmodule/bn/asm/x86-mont.pl", 59 "crypto/fipsmodule/bn/asm/x86_64-mont.pl", 60 "crypto/fipsmodule/bn/asm/x86_64-mont5.pl", 61 "crypto/fipsmodule/bn/internal.h", 62 "crypto/fipsmodule/bn/montgomery.c", 63 "crypto/fipsmodule/bn/montgomery_inv.c", 64 "crypto/fipsmodule/ec/asm/p256-x86_64-asm.pl", 65 "crypto/fipsmodule/ec/ecp_nistz.c", 66 "crypto/fipsmodule/ec/ecp_nistz.h", 67 "crypto/fipsmodule/ec/ecp_nistz384.h", 68 "crypto/fipsmodule/ec/ecp_nistz384.inl", 69 "crypto/fipsmodule/ec/gfp_p256.c", 70 "crypto/fipsmodule/ec/gfp_p384.c", 71 "crypto/fipsmodule/ec/p256.c", 72 "crypto/fipsmodule/ec/p256-x86_64-table.h", 73 "crypto/fipsmodule/ec/p256-x86_64.c", 74 "crypto/fipsmodule/ec/p256-x86_64.h", 75 "crypto/fipsmodule/ec/p256_shared.h", 76 "crypto/fipsmodule/ec/p256_table.h", 77 "crypto/fipsmodule/ec/util.h", 78 "crypto/fipsmodule/ecdsa/ecdsa_verify_tests.txt", 79 "crypto/fipsmodule/modes/asm/aesni-gcm-x86_64.pl", 80 "crypto/fipsmodule/modes/asm/ghash-armv4.pl", 81 "crypto/fipsmodule/modes/asm/ghash-x86.pl", 82 "crypto/fipsmodule/modes/asm/ghash-x86_64.pl", 83 "crypto/fipsmodule/modes/asm/ghashv8-armx.pl", 84 "crypto/fipsmodule/rsa/padding.c", 85 "crypto/fipsmodule/sha/asm/sha256-armv4.pl", 86 "crypto/fipsmodule/sha/asm/sha512-armv4.pl", 87 "crypto/fipsmodule/sha/asm/sha512-armv8.pl", 88 "crypto/fipsmodule/sha/asm/sha512-x86_64.pl", 89 "crypto/internal.h", 90 "crypto/limbs/limbs.c", 91 "crypto/limbs/limbs.h", 92 "crypto/limbs/limbs.inl", 93 "crypto/mem.c", 94 "crypto/perlasm/arm-xlate.pl", 95 "crypto/perlasm/x86asm.pl", 96 "crypto/perlasm/x86gas.pl", 97 "crypto/perlasm/x86nasm.pl", 98 "crypto/perlasm/x86_64-xlate.pl", 99 "crypto/poly1305/internal.h", 100 "crypto/poly1305/poly1305.c", 101 "crypto/poly1305/poly1305_arm.c", 102 "crypto/poly1305/poly1305_arm_asm.S", 103 "crypto/poly1305/poly1305_vec.c", 104 "crypto/cipher_extra/asm/chacha20_poly1305_x86_64.pl", 105 "doc/link-to-readme.md", 106 "examples/checkdigest.rs", 107 "include/ring-core/aes.h", 108 "include/ring-core/arm_arch.h", 109 "include/ring-core/base.h", 110 "include/ring-core/check.h", 111 "include/ring-core/cpu.h", 112 "include/ring-core/mem.h", 113 "include/ring-core/poly1305.h", 114 "include/ring-core/type_check.h", 115 "src/aead.rs", 116 "src/aead/aes.rs", 117 "src/aead/aes_gcm.rs", 118 "src/aead/aes_tests.txt", 119 "src/aead/block.rs", 120 "src/aead/chacha.rs", 121 "src/aead/chacha/fallback.rs", 122 "src/aead/chacha_tests.txt", 123 "src/aead/chacha20_poly1305.rs", 124 "src/aead/chacha20_poly1305_openssh.rs", 125 "src/aead/gcm.rs", 126 "src/aead/gcm/gcm_nohw.rs", 127 "src/aead/less_safe_key.rs", 128 "src/aead/nonce.rs", 129 "src/aead/opening_key.rs", 130 "src/aead/poly1305.rs", 131 "src/aead/poly1305_test.txt", 132 "src/aead/quic.rs", 133 "src/aead/sealing_key.rs", 134 "src/aead/shift.rs", 135 "src/aead/unbound_key.rs", 136 "src/agreement.rs", 137 "src/arithmetic.rs", 138 "src/arithmetic/bigint.rs", 139 "src/arithmetic/bigint_elem_exp_consttime_tests.txt", 140 "src/arithmetic/bigint_elem_exp_vartime_tests.txt", 141 "src/arithmetic/bigint_elem_mul_tests.txt", 142 "src/arithmetic/bigint_elem_reduced_once_tests.txt", 143 "src/arithmetic/bigint_elem_reduced_tests.txt", 144 "src/arithmetic/bigint_elem_squared_tests.txt", 145 "src/arithmetic/constant.rs", 146 "src/arithmetic/montgomery.rs", 147 "src/array.rs", 148 "src/bits.rs", 149 "src/bssl.rs", 150 "src/c.rs", 151 "src/constant_time.rs", 152 "src/cpu.rs", 153 "src/data/alg-rsa-encryption.der", 154 "src/debug.rs", 155 "src/digest.rs", 156 "src/digest/sha1.rs", 157 "src/digest/sha2.rs", 158 "src/ec/curve25519/ed25519/digest.rs", 159 "src/ec/curve25519/ed25519.rs", 160 "src/ec/curve25519/ed25519/signing.rs", 161 "src/ec/curve25519/ed25519/verification.rs", 162 "src/ec/curve25519/ed25519/ed25519_pkcs8_v2_template.der", 163 "src/ec/curve25519.rs", 164 "src/ec/curve25519/ops.rs", 165 "src/ec/curve25519/scalar.rs", 166 "src/ec/curve25519/x25519.rs", 167 "src/ec.rs", 168 "src/ec/keys.rs", 169 "src/ec/suite_b/curve.rs", 170 "src/ec/suite_b/ecdh.rs", 171 "src/ec/suite_b/ecdsa/digest_scalar.rs", 172 "src/ec/suite_b/ecdsa.rs", 173 "src/ec/suite_b/ecdsa/signing.rs", 174 "src/ec/suite_b/ecdsa/verification.rs", 175 "src/ec/suite_b/ecdsa/ecdsa_digest_scalar_tests.txt", 176 "src/ec/suite_b/ecdsa/ecPublicKey_p256_pkcs8_v1_template.der", 177 "src/ec/suite_b/ecdsa/ecPublicKey_p384_pkcs8_v1_template.der", 178 "src/ec/suite_b/ecdsa/ecdsa_sign_asn1_tests.txt", 179 "src/ec/suite_b/ecdsa/ecdsa_sign_fixed_tests.txt", 180 "src/ec/suite_b.rs", 181 "src/ec/suite_b/ops/elem.rs", 182 "src/ec/suite_b/ops.rs", 183 "src/ec/suite_b/ops/p256.rs", 184 "src/ec/suite_b/ops/p256_elem_mul_tests.txt", 185 "src/ec/suite_b/ops/p256_elem_neg_tests.txt", 186 "src/ec/suite_b/ops/p256_elem_sum_tests.txt", 187 "src/ec/suite_b/ops/p256_point_double_tests.txt", 188 "src/ec/suite_b/ops/p256_point_mul_base_tests.txt", 189 "src/ec/suite_b/ops/p256_point_mul_serialized_tests.txt", 190 "src/ec/suite_b/ops/p256_point_mul_tests.txt", 191 "src/ec/suite_b/ops/p256_point_sum_mixed_tests.txt", 192 "src/ec/suite_b/ops/p256_point_sum_tests.txt", 193 "src/ec/suite_b/ops/p256_scalar_mul_tests.txt", 194 "src/ec/suite_b/ops/p256_scalar_square_tests.txt", 195 "src/ec/suite_b/ops/p384.rs", 196 "src/ec/suite_b/ops/p384_elem_div_by_2_tests.txt", 197 "src/ec/suite_b/ops/p384_elem_mul_tests.txt", 198 "src/ec/suite_b/ops/p384_elem_neg_tests.txt", 199 "src/ec/suite_b/ops/p384_elem_sum_tests.txt", 200 "src/ec/suite_b/ops/p384_point_double_tests.txt", 201 "src/ec/suite_b/ops/p384_point_mul_base_tests.txt", 202 "src/ec/suite_b/ops/p384_point_mul_tests.txt", 203 "src/ec/suite_b/ops/p384_point_sum_tests.txt", 204 "src/ec/suite_b/ops/p384_scalar_mul_tests.txt", 205 "src/ec/suite_b/private_key.rs", 206 "src/ec/suite_b/public_key.rs", 207 "src/ec/suite_b/suite_b_public_key_tests.txt", 208 "src/endian.rs", 209 "src/error.rs", 210 "src/hkdf.rs", 211 "src/hmac.rs", 212 "src/hmac_generate_serializable_tests.txt", 213 "src/io.rs", 214 "src/io/der.rs", 215 "src/io/der_writer.rs", 216 "src/io/positive.rs", 217 "src/io/writer.rs", 218 "src/lib.rs", 219 "src/limb.rs", 220 "src/endian.rs", 221 "src/pbkdf2.rs", 222 "src/pkcs8.rs", 223 "src/polyfill.rs", 224 "src/polyfill/array_map.rs", 225 "src/polyfill/chunks_fixed.rs", 226 "src/prefixed.rs", 227 "src/rand.rs", 228 "src/rsa/convert_nist_rsa_test_vectors.py", 229 "src/rsa.rs", 230 "src/rsa/bounds.rs", 231 "src/rsa/keypair.rs", 232 "src/rsa/keypair/asn1.rs", 233 "src/rsa/keypair/components.rs", 234 "src/rsa/keypair/core.rs", 235 "src/rsa/keypair/oaep.rs", 236 "src/rsa/keypair/signature_rsa_example_private_key.der", 237 "src/rsa/keypair/signature_rsa_example_public_key.der", 238 "src/rsa/keypair/signing.rs", 239 "src/rsa/padding.rs", 240 "src/rsa/public.rs", 241 "src/rsa/public/components.rs", 242 "src/rsa/public/key.rs", 243 "src/rsa/public/oaep.rs", 244 "src/rsa/random.rs", 245 "src/rsa/rsa_pss_padding_tests.txt", 246 "src/rsa/verification.rs", 247 "src/signature.rs", 248 "src/test.rs", 249 "src/test_1_syntax_error_tests.txt", 250 "src/test_1_tests.txt", 251 "src/test_3_tests.txt", 252 "tests/aead_aes_128_gcm_tests.txt", 253 "tests/aead_aes_256_gcm_tests.txt", 254 "tests/aead_chacha20_poly1305_tests.txt", 255 "tests/aead_chacha20_poly1305_openssh_tests.txt", 256 "tests/aead_tests.rs", 257 "tests/agreement_tests.rs", 258 "tests/agreement_tests.txt", 259 "tests/constant_time_tests.rs", 260 "tests/digest_tests.rs", 261 "tests/digest_tests.txt", 262 "tests/ecdsa_from_pkcs8_tests.txt", 263 "tests/ecdsa_tests.rs", 264 "tests/ecdsa_test_private_key_p256.p8", 265 "tests/ecdsa_test_public_key_p256.der", 266 "tests/ecdsa_test_public_key_p256_debug.txt", 267 "tests/ecdsa_sign_asn1_tests.txt", 268 "tests/ecdsa_sign_fixed_tests.txt", 269 "tests/ecdsa_verify_asn1_tests.txt", 270 "tests/ecdsa_verify_fixed_tests.txt", 271 "tests/ed25519_from_pkcs8_tests.txt", 272 "tests/ed25519_from_pkcs8_unchecked_tests.txt", 273 "tests/ed25519_tests.rs", 274 "tests/ed25519_tests.txt", 275 "tests/ed25519_test_private_key.bin", 276 "tests/ed25519_test_private_key.p8", 277 "tests/ed25519_test_public_key.bin", 278 "tests/ed25519_test_public_key.der", 279 "tests/hkdf_tests.rs", 280 "tests/hkdf_tests.txt", 281 "tests/hmac_tests.rs", 282 "tests/hmac_tests.txt", 283 "tests/pbkdf2_tests.rs", 284 "tests/pbkdf2_tests.txt", 285 "tests/quic_aes_128_tests.txt", 286 "tests/quic_aes_256_tests.txt", 287 "tests/quic_chacha20_tests.txt", 288 "tests/quic_tests.rs", 289 "tests/rand_tests.rs", 290 "tests/rsa_from_pkcs8_tests.txt", 291 "tests/rsa_pkcs1_sign_tests.txt", 292 "tests/rsa_pkcs1_verify_tests.txt", 293 "tests/rsa_primitive_verify_tests.txt", 294 "tests/rsa_pss_sign_tests.txt", 295 "tests/rsa_pss_verify_tests.txt", 296 "tests/rsa_tests.rs", 297 "tests/rsa_test_private_key_2048.p8", 298 "tests/rsa_test_public_key_2048.der", 299 "tests/rsa_test_public_key_2048_debug.txt", 300 "tests/signature_tests.rs", 301 "third_party/fiat/curve25519_32.h", 302 "third_party/fiat/curve25519_64.h", 303 "third_party/fiat/p256_32.h", 304 "third_party/fiat/p256_64.h", 305 "third_party/fiat/LICENSE", 306 "third_party/NIST/SHAVS/SHA1LongMsg.rsp", 307 "third_party/NIST/SHAVS/SHA1Monte.rsp", 308 "third_party/NIST/SHAVS/SHA1ShortMsg.rsp", 309 "third_party/NIST/SHAVS/SHA224LongMsg.rsp", 310 "third_party/NIST/SHAVS/SHA224Monte.rsp", 311 "third_party/NIST/SHAVS/SHA224ShortMsg.rsp", 312 "third_party/NIST/SHAVS/SHA256LongMsg.rsp", 313 "third_party/NIST/SHAVS/SHA256Monte.rsp", 314 "third_party/NIST/SHAVS/SHA256ShortMsg.rsp", 315 "third_party/NIST/SHAVS/SHA384LongMsg.rsp", 316 "third_party/NIST/SHAVS/SHA384Monte.rsp", 317 "third_party/NIST/SHAVS/SHA384ShortMsg.rsp", 318 "third_party/NIST/SHAVS/SHA512LongMsg.rsp", 319 "third_party/NIST/SHAVS/SHA512Monte.rsp", 320 "third_party/NIST/SHAVS/SHA512ShortMsg.rsp", 321] 322 323[package.metadata.docs.rs] 324all-features = true 325 326[lib] 327name = "ring" 328 329[dependencies] 330untrusted = { version = "0.7.1" } 331 332[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] 333spin = { version = "0.5.2", default-features = false } 334 335[target.'cfg(any(target_os = "android", target_os = "linux"))'.dependencies] 336libc = { version = "0.2.84", default-features = false } 337once_cell = { version = "1.5.2", default-features = false, features=["std"], optional = true } 338 339[target.'cfg(any(target_os = "dragonfly", target_os = "freebsd", target_os = "illumos", target_os = "netbsd", target_os = "openbsd", target_os = "solaris"))'.dependencies] 340once_cell = { version = "1.5.2", default-features = false, features=["std"] } 341 342[target.'cfg(all(target_arch = "wasm32", target_vendor = "unknown", target_os = "unknown", target_env = ""))'.dependencies] 343web-sys = { version = "0.3.37", default-features = false, features = ["Crypto", "Window"] } 344 345[target.'cfg(target_os = "windows")'.dependencies] 346winapi = { version = "0.3.8", default-features = false, features = ["ntsecapi", "wtypesbase"] } 347 348[target.'cfg(target_arch = "wasm32")'.dev-dependencies] 349wasm-bindgen-test = { version = "0.3.18", default-features = false } 350 351[target.'cfg(any(unix, windows))'.dev-dependencies] 352libc = { version = "0.2.84", default-features = false } 353 354[build-dependencies] 355cc = { version = "1.0.66", default-features = false } 356 357[features] 358# These features are documented in the top-level module's documentation. 359default = ["alloc", "dev_urandom_fallback"] 360alloc = [] 361dev_urandom_fallback = ["once_cell"] 362internal_benches = [] 363slow_tests = [] 364std = ["alloc"] 365test_logging = [] 366wasm32_c = [] 367 368# XXX: debug = false because of https://github.com/rust-lang/rust/issues/34122 369 370[profile.bench] 371opt-level = 3 372debug = false 373rpath = false 374lto = true 375debug-assertions = false 376codegen-units = 1 377 378[profile.release] 379opt-level = 3 380debug = false 381rpath = false 382lto = true 383debug-assertions = false 384codegen-units = 1 385