98 Commits

Author SHA1 Message Date
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
Brian Smith
14b1c56b55 0.6.0-alpha. 2016-11-15 12:12:06 -10:00
Brian Smith
4c9a9c8751 Refactor PSS encoding. 2016-11-15 10:43:29 -10:00
Brian Smith
65e2f51280 Remove ECDSA SHA-1 signature support. Bump version to 0.6.0.
Research by the BoringSSL team has shown that ECDSA-SHA1 support isn't
needed for HTTPS, so we should be safe to get rid of it.

The version number was bumped because this is an incompatible change.
2016-11-05 19:52:48 -10:00
Brian Smith
c3f32c7f88 0.5.3. 2016-10-26 19:30:55 -10:00
Brian Smith
b4b084e9b7 0.5.2. 2016-10-26 09:35:30 -10:00
Brian Smith
e6b1d36a3c Bump version to 0.5.1. 2016-10-25 19:14:58 -10:00
Brian Smith
5f293cc447 Add src/rsa/padding.rs to Cargo.toml. 2016-10-24 18:28:27 -10:00
Brian Smith
8053821b2f Implement chacha20-poly1305@openssh.com. 2016-10-24 16:34:08 -10:00
Brian Smith
66a1b82e40 Factor out Poly1305 into a separate module.
The copyright notice changes are for the tests.
2016-10-24 16:33:59 -10:00
Brian Smith
6f032b0cd4 Factor out ChaCha20 into a separate module.
The copyright notice changes are for the tests.
2016-10-24 16:33:38 -10:00
Артём Павлов [Artyom Pavlov]
6dac94bac6 Replaced crypto/aes/aes_test.cc with Rust code.
I agree to license my contributions to each file under the terms given
at the top of each file I changed.
2016-10-04 16:43:50 -10:00
Артём Павлов [Artyom Pavlov]
3b5ae496b9 Use Rust instead of C for Poly1305 tests.
I agree to license my contributions to each file under the terms given
at the top of each file I changed.
2016-10-04 16:35:17 -10:00