110 Commits

Author SHA1 Message Date
Brian Smith
a13b8e279e Add support for fixed-length ECDSA signatures. 2017-04-01 15:36:09 -10:00
Brian Smith
367d9e9070 Add “asn1” to the name of tests for ASN.1-encoded ECDSA signatures. 2017-04-01 15:36:07 -10:00
Brian Smith
6c0ae8f9d1 Add some tests for mixed Jacobian + affine addition for P-256. 2017-03-31 15:48:05 -10:00
Brian Smith
c67f0552e4 Add basic point doubling tests for P-256 and P-384. 2017-03-30 18:36:36 -10:00
Brian Smith
94d9b0eec7 Add P-256 scalar Montgomery squaring tests. 2017-03-26 15:36:53 -10:00
Brian Smith
9c9546f6e6 Add ECC element and scalar multiplication tests. 2017-03-26 15:36:51 -10:00
Brian Smith
0b54e0b369 Include “elem” in the names of ECC element arithmetic tests. 2017-03-26 15:36:51 -10:00
Brian Smith
8a46eb57b8 0.7.3. 2017-03-19 10:15:07 -10:00
Brian Smith
8195f740da Package test input files. 2017-03-19 08:49:21 -10:00
Brian Smith
2f7ad58965 0.7.2. 2017-03-19 08:02:21 -10:00
Brian Smith
e20bdbe0cc 0.7.2-alpha2 2017-03-18 22:57:09 -10:00
Brian Smith
855d4986a0 0.7.2-alpha1. 2017-03-18 15:33:12 -10:00
Brian Smith
f7f1fb7773 Remove unused crypto/perlasm/x86masm.pl. 2017-03-18 15:31:16 -10:00
Brian Smith
dd659d2994 Improve Perlasm machinery for SHA-2 on X86-64 and ARMv8.
Rename sha-{x86_64, armv8}.pl back to sha512-{x86_64, armv8}.pl. This
will simplify copmarisons between BoringSSL and *ring*.

Replace the *ring*-specific hacky logic done in Perl with hacky logic
done in Rust. The purpose of this hack is to deal with the fact that
sha512-{x86_64, armv8}.pl need to be run twice, once with "512" in the
output file path to generate
`GFp_sha512_block_data_order`, and again with "256" in the output file
path to generate `GFp_sha256_block_data_order`.
2017-03-18 15:31:15 -10:00
Brian Smith
2dddb44ff0 Pregenerate assembly language object files for Windows on crates.io. 2017-03-18 15:31:14 -10:00
Brian Smith
25add85a54 Use pregenerated asm files when not building from Git. 2017-03-18 15:31:12 -10:00
Brian Smith
d320231ccb Move target-specific dependency to dependencies section of Cargo.toml. 2017-03-15 13:07:58 -10:00
Brian Smith
b2ed2666e2 Stop using MSBuild on Windows. 2017-03-05 16:36:01 -10:00
Brian Smith
5c77732c82 Stop using target_build_utils.
target_build_utils has too many dependencies, which slows down the
initial download/build. It also seems mostly unnecessary since Cargo
now passes the target info in the environment.
2017-03-05 15:10:56 -10:00
Georg Semmler
f5fc35a7e0 Build native libraries in parallel.
I agree to license my contributions to each file under the terms given
at the top of each file I changed.
2017-03-05 15:10:53 -10:00
Georg Semmler
86c24b9e6b Use only build.rs to build the native libraries for non-Windows builds.
I agree to license my contributions to each file under the terms
given at the top of each file I changed.
2017-03-05 15:10:51 -10:00
Brian Smith
84fa16b23e Add some tests for elem_reduced_once(). 2017-02-21 14:55:22 -10:00
Brian Smith
e48cdbc5fa 0.7.1: No changes from 0.7.0. 2017-02-19 17:51:22 -10:00
Brian Smith
f0d476018c Add ring::hmac::SigningKey::generate_serializable(). 2017-02-17 15:58:21 -10:00
Brian Smith
05ed20ccc9 Move modular squaring tests from C to Rust. 2017-02-12 01:02:30 -10:00
Brian Smith
229d859806 Move modular multiplication tests from C to Rust.
Instead of normalizing the inputs during the test to be in range,
the inputs are normalized ahead of time. Also, the tests with even
moduli were removed.
2017-02-12 01:02:29 -10:00
Brian Smith
088af8800f Require GFp_BN_mod_exp_mont_consttime() inputs to be reduced.
Require that the input be reduced (mod n), simplifying the code.

Also, move the tests for `elem_exp_consttime()` to Rust and split the
vectors out into their own file, like was done for the
`elem_exp_vartime()` tests. The test vectors were taken directly from
BoringSSL, filtered as described in the comment at the top of the file.
2017-02-12 01:02:27 -10:00
Brian Smith
4807e4f222 Add "no-std" category to Cargo.toml. 2017-02-11 17:26:49 -10:00
Brian Smith
9ddd5195b0 0.7.0. 2017-01-28 20:00:52 -10:00
Brian Smith
be1e17583a 0.6.3. 2017-01-26 10:19:12 -10:00
Brian Smith
b88b633179 Don't depend on lazy_static on MacOS or iOS. 2017-01-25 14:45:38 -10:00
Brian Smith
4281b8d4e6 Manage dropping for BIGNUM and BN_MONT_CTX in Rust. 2017-01-24 14:26:38 -10:00
Brian Smith
1879e1057a Make GFp_BN_new() test-only. 2017-01-24 14:25:08 -10:00
Brian Smith
93a74ea55e Add categories to Cargo.toml & update keywords. 2017-01-21 23:33:22 -10:00
Brian Smith
c431705216 Add new crypto/limbs files to Cargo.toml so they'll be packaged. 2017-01-13 10:42:22 -10:00
Brian Smith
5f0a958b67 0.6.2. 2017-01-12 06:06:41 -10:00
Jeremy Soller
8a0976b363 Fix for building for Redox.
I agree to license my contributions to each file under the terms given
at the top of each file I changed.
2017-01-12 06:06:41 -10:00
Brian Smith
368279ffd2 Implement RSA signing using the CRT using Rust. 2017-01-01 20:13:46 -10:00
Brian Smith
7c2fafeaf0 Use Rust for exponentiation with public exponents. 2017-01-01 17:33:38 -10:00
Brian Smith
d4204736cd Implement RSA blinding in Rust. 2016-12-30 19:19:47 -10:00
Brian Smith
e9149cfc96 Use Rust for RSA signature verification. 2016-12-30 19:10:28 -10:00
Brian Smith
9855c6bda6 0.6.1. 2016-12-22 14:07:57 -10:00
Brian Smith
8596c786db 0.6.0. 2016-12-20 22:41:42 -10:00
Brian Smith
53fd7f97b9 Remove currently-unused RSAZ code.
This code isn't being used since $AVX isn't set in the asm code. This
may get ressurrected later, but if so it will probably be done slightly
differently.
2016-12-12 14:59:36 -10:00
Brian Smith
94c056dd90 Remove unused GFp_suite_b_wnaf function. 2016-12-12 09:10:06 -10:00
Brian Smith
864b3bc1bf Encapsulate ring::rsa::signing::Blinding internals better. 2016-12-11 07:50:25 -10:00
Brian Smith
75557a5f55 Rename ring::rsa::blinding to ring::rsa::random.
There is actually not anything specific to blinding in `ring::rsa::blinding`
and the code in that module may be useful for other reasons later. Split it
out so we can use the name `ring::rsa::blinding` for code actually specific to
blinding.
2016-12-11 07:50:23 -10:00
Brian Smith
98b94f5bd6 0.6.0-alpha1. 2016-12-08 21:03:10 -10:00
Peter Reid
986185e521 Port C code supporting poly1305 to Rust.
I agree to license my contributions to each file under the terms given
at the top of each file I changed.
2016-12-02 16:02:58 -10:00
Brian Smith
9b2b75098b Factor out bignum code into ring::rsa::bignum. 2016-11-28 09:25:20 -10:00