318 Commits

Author SHA1 Message Date
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
Brian Smith
ad8b0e9160 Update Cargo.toml for ChaCha20 test C -> Rust replacement.
The replacement was done in commit f5be9c3.
2016-10-01 17:19:12 -10:00
Brian Smith
5f1915293f Move AEAD test vectors from crypto/cipher/test/ to src/aead/. 2016-10-01 16:39:30 -10:00
Brian Smith
acbf75b912 Remove AES key wrap tests & cipher_test.txt.
The AES key wrap code is gone and so is the stuff that
cipher_test.txt tested.
2016-10-01 16:39:28 -10:00
Brian Smith
8f144603a9 Bump version number for backward-incompatible API change. 2016-09-12 11:42:01 -10:00
Dirkjan Ochtman
1fe852c10c 0.4.3: Allow unused_unsafe (until Rust 1.13 goes stable).
See changes in 8b7bb0cf6b649870bdf3150a3122e6ebe2962d24 for more info.

I agree to license my contributions to each file under the terms given
at the top of each file I changed.
2016-09-11 10:23:50 -10:00
Brian Smith
8b7bb0cf6b 0.4.2: Fix build breakaged caused by Rust language change.
Rust Nightly now doesn't allow using an extern "C" static value unless
the reference is wrapped in `unsafe { }`, so do that.
2016-09-11 09:18:05 -10:00
Brian Smith
5778edbb5a 0.4.1 release. 2016-09-10 22:26:48 -10:00
Brian Smith
5b75fb123f Refactor RSA signing API to allow concurrent use of RSAKeyPair. 2016-08-27 10:50:49 -10:00
Brian Smith
5212701f46 Fix build breakage with Rust Nightly.
`drop_with_repr_extern` was removed when Drop flags were removed.
2016-08-26 23:15:24 -10:00
Brian Smith
e10b057679 Rust 1.11.0 or later is required; bump leftmost version number.
Rust 1.11.0 is required since some tests are using the form of
`assert!` that takes a custom error message, which is new in Rust
1.11.0.

Also fix includes in Cargo.toml. Also remove pregenerated/*, which
don't need to be in version control, but which can't be in .gitignore
(if they are, then `cargo package` and `cargo publish` don't work).
2016-08-24 00:38:29 -10:00
Brian Smith
68ad8a4f47 Improve crates.io description. 2016-08-15 15:50:02 -10:00
Brian Smith
8fcfeb315e Windows: Copy pregenerated asm lib to lib dir.
Cargo/rustc wasn't resolving "pregenerated" to an absolute path, so
while the previous scheme for finding the pregenerated libraries worked
for "sh mk/package.sh", it didn't work when building other libraries,
when the current working directory isn't the *ring* source directory.
2016-08-15 15:24:09 -10:00
Brian Smith
d59b70cec3 Windows: Don't require msbuild.exe to be in %PATH%. 2016-08-15 13:27:43 -10:00
Brian Smith
caa4df6e68 Prepare for publishing on crates.io. 2016-08-15 12:38:08 -10:00
Brian Smith
086963a21a Add documentation links. 2016-08-12 10:31:06 -10:00
Brian Smith
ac848e11c5 Use ring::error::Unspecified instead of () as the error type.
This may help users of *ring* map *ring* errors into their own error
types.
2016-08-11 09:09:22 -10:00
Brian Smith
5eecb9d677 Refactor dev/urandom fallback.
Make the fallback to dev/urandom a default feature, renaming it to have
the right sense. Make the dependency on lazy_static a Unix-only
dependency in Cargo.toml.
2016-07-28 16:46:16 -10:00
Brian Smith
d8c25bd7ff Remove the dependency on rustc_serialize. 2016-07-03 10:42:22 -10:00
Brian Smith
cf6dfad269 Remove the dependency on the num crate.
Now we don't have to trust that `num` is doing the math correctly. The
code generator is going away anyway. It's a good idea in theory but in
practice it wasn't worth its complexity.
2016-07-03 10:38:08 -10:00
Brian Smith
abfb6c9470 Require the rsa_signing feature for RSA signing. 2016-07-03 08:35:25 -10:00
Brian Smith
04c6cbf47d Depend on untrusted 0.2 from crates.io instead of from GitHub. 2016-07-02 17:09:10 -10:00
Brian Smith
4d5539d21d Add benchmarks for inversion mod n. 2016-06-28 20:03:52 -10:00
Alex Elsayed
8c8f4e1ff8 Change "no_heap" feature to "use_heap"; enable by default.
Cargo features are additive - Cargo presumes that it is safe to
enable a feature if _any_ dependent requires it, and that doing
so will not break crates that do not require it. As a result,
features that reduce the API surface - as no_heap did - violate
Cargo's invariants and can cause spooky failures at a distance.

Converting to a use_heap feature that enables APIs that may
allocate, and enabling it by default, preserves the current
behavior for users who simply depend on *ring* while better
fitting in to the Cargo ecosystem.

I agree to license my contributions to each file under the terms given
at the top of each file I changed.
2016-06-19 18:54:32 -10:00
Brian Smith
eb761c1f30 Disable debug info in release builds to work around rustc bug. 2016-06-06 13:36:08 -10:00
Brian Smith
77450031a1 Enable doctests again.
It seems doctests are disabled when cross-compiling as of
https://github.com/rust-lang/cargo/pull/2485. Thus, we don't need this
workaround any more.
2016-06-06 12:50:13 -10:00
Brian Smith
3f5739e098 Factor out ring::input into the untrusted crate. 2016-06-05 12:31:17 -10:00
Brian Smith
6aab77f178 Fix doctests by adding back rustc-serialize dev-dependency. 2016-05-31 11:15:26 -10:00
Brian Smith
1f020f30a3 Add and remove some comments about the build configuration. 2016-05-29 18:26:12 -10:00
Brian Smith
09c976cbed Enable debug symbols for release builds.
Now optimized-with-debug-symbols builds work correctly on -msvc,
as of Rust 1.9 and maybe earlier.
2016-05-28 09:30:48 -10:00
Brian Smith
7749647a18 Stop dev-dependency on rustc_serialize for tests.
`cargo test -p ring` will build and run the tests, but apparently without
installing *ring*'s dev-dependencies. Thus, we need to eliminate the
dev-dependencies to make that work.
2016-05-27 01:13:50 -10:00