9581 Commits

Author SHA1 Message Date
Brian Smith
9980176f50 Merge BoringSSL. 2019-07-02 16:30:50 -10:00
Brian Smith
b3f9a918e5 Enable NEON fallback implementation of GCM on AAarch64. 2019-07-02 16:13:32 -10:00
Brian Smith
9a99848d74 Enable VPAES fallback implementation of AES for Aarch64. 2019-07-02 16:13:32 -10:00
Brian Smith
7783933434 Ignore BoringSSL b3239c6..4ef217a. 2019-07-02 10:06:45 -10:00
Brian Smith
ac4fc52cf7 Merge BoringSSL f6eb565: Remove stray underscores. 2019-07-02 10:02:34 -10:00
Brian Smith
1902ed317c Ignore BoringSSL a486c6c..b96d470. 2019-07-02 10:01:56 -10:00
Brian Smith
ee36474775 Merge BoringSSL 586235d: Check for x18 usage in aarch64 assembly. 2019-07-02 10:01:13 -10:00
Brian Smith
88596b8d33 Merge BoringSSL c1d8c5b: Handle errors from close in perlasm scripts. 2019-07-02 10:00:48 -10:00
Brian Smith
9e863213d2 Ignore BoringSSL fdb48f9..777a239. 2019-07-02 09:56:37 -10:00
Brian Smith
0d97b47bc8 Add missing GFp_ prefix to GFp_bsaes_ctr32_encrypt_blocks.
The prefix was accidentally removed during a merge.
2019-07-02 09:54:51 -10:00
Brian Smith
f2f72c2203 Add stricter check for Ed25519 signature malleability.
An approximate check was already implemnted that passed all but one of the
Wycheproof test vectors. Now the check is complete and all Wycheproof test
vectors pass.
2019-07-01 17:54:45 -10:00
Brian Smith
65ab723a19 Move masking of scalars in Curve25519 code to Rust. 2019-07-01 17:54:45 -10:00
Brian Smith
0c21917a7f Merge BoringSSL d22578f: Adapt gcm_*_neon to aarch64. 2019-07-01 14:48:16 -10:00
Brian Smith
72c9ae0131 Ignore BoringSSL 4851041. 2019-07-01 14:46:08 -10:00
Brian Smith
bc92e6c313 Merge BoringSSL 885a63f: Patch out the aes_nohw fallback in bsaes_ctr32_encrypt_blocks. 2019-07-01 14:45:18 -10:00
Brian Smith
0097c88d6b Ignore BoringSSL aadcce3. 2019-07-01 14:43:51 -10:00
Brian Smith
d0f95b1a82 Take BoringSSL 35941f2: Make vpaes-armv8.pl compatible with XOM. 2019-07-01 14:39:32 -10:00
Brian Smith
d37abba0a8 Ignore BoringSSL f9c8d30..1d13453. 2019-07-01 14:38:51 -10:00
Brian Smith
91c4f538e0 Ignore BoringSSL b8d7b74. 2019-07-01 14:38:06 -10:00
Brian Smith
f6fe1b0b0b Ignore BoringSSL da8bb84. 2019-07-01 14:37:40 -10:00
Brian Smith
d1e9b5ba3a Take BoringSSL 8d685ec: modes/asm/ghash-armv4.pl: address "infixes are deprecated" warnings. 2019-07-01 14:35:41 -10:00
Brian Smith
a64a9f7377 Merge BoringSSL 55db667: Enable vpaes for aarch64, with CTR optimizations.
This doesn't enable VPAES for AAarch64 in *ring* though.
2019-07-01 14:35:01 -10:00
Brian Smith
8e658d8b89 Take BoringSSL b1b4ff9: Check in vpaes-armv8.pl from OpenSSL unused and unmodified. 2019-07-01 14:33:24 -10:00
Brian Smith
03b9d14d15 Remove array splitting from polyfill::convert.
Lifetime elision infers the wrong bounds. The code could be fixed by using
explicit lifetime annotations, but it's safer to just avoid the issue
altogether. The problem doesn't seem to affect any of the current code; the
problem was only noticed when trying to use the removed code for new uses.
2019-07-01 12:59:11 -10:00
Brian Smith
284619bc44 Use less unsafe in Block. 2019-07-01 12:59:11 -10:00
Brian Smith
a8d87207d9 Use explicit lifetime annotations when transmuting in Block.
The code seems to compile the same before and after this, but this seems
safer than relying on lifetime inference.
2019-07-01 12:58:09 -10:00
Brian Smith
3e814a4d18 Refactor SHA-1 implementation to be like the SHA-2 implementation. 2019-07-01 00:35:26 -10:00
Brian Smith
87728a783e Add Rust SHA-2 implementation. 2019-07-01 00:35:26 -10:00
Brian Smith
928f936c7b Move rsa::bigint to arithmetic/bigint. 2019-06-30 16:57:16 -10:00
Brian Smith
883379f789 Replace {TryFrom_, TryInto_} with now-stable standard versions. 2019-06-30 16:49:52 -10:00
Brian Smith
fd7d91814e Reverse order of limbs in limbs! macros & simplify implementations.
Have the `limbs!` macros accept the limbs least-significant-first to be consistent
with how they are represented in memory. This has the nice side effect of making
them much simpler.
2019-06-25 11:10:31 -10:00
Brian Smith
d041b730ce Do /dev/urandom fallback on Android too. 2019-06-18 11:50:57 -10:00
Brian Smith
ce56ab1be5 Put all Linux-specific ring::rand documentation together. 2019-06-17 19:49:46 -10:00
Brian Smith
3e6972ebb2 rand: Inline urandom implementation into sysrand_or_random. 2019-06-17 19:18:57 -10:00
Brian Smith
41a621cca2 Remove Redox support.
Nobody is using this and there is no CI coverage.
2019-06-17 19:16:14 -10:00
Brian Smith
b1b75a241f Replace GFp_block128_xor with Rust code. 2019-06-14 14:36:59 -10:00
Brian Smith
6960614893 Remove #includes <string.h> in Curve25519. 2019-06-14 13:48:57 -10:00
Brian Smith
0bab61cd23 Remove #include <string.h> in P-256 and P-384 code. 2019-06-14 13:48:57 -10:00
Brian Smith
a804615ed2 Bring back the ring::c internal C types module. 2019-06-14 09:26:38 -10:00
Brian Smith
8237fac8be Fix Android build. 2019-06-13 16:26:50 -10:00
Brian Smith
0382bfd9fd Document Android always uses getrandom(). 2019-06-13 16:26:50 -10:00
Brian Smith
702754d0c6 Remove obsolete comment in ring::rand about /dev/urandom. 2019-06-13 15:32:08 -10:00
Brian Smith
5e8a2f797a Remove dead code. 2019-06-13 15:32:08 -10:00
Brian Smith
680570f823 Temporarily disable armv7-linux-androideabi testing due to CI failures. 2019-06-13 10:26:26 -10:00
Brian Smith
7633902d7c Move ring::rand tests to tests/rand_tests.rs. 2019-06-13 10:01:06 -10:00
Brian Smith
626c64cf9c cargo fmt. 2019-06-13 09:57:15 -10:00
Brian Smith
db1b33584f Remove obsolete comment about importing ToOwned.
Even using Rust 1.35 the `use` is required.
2019-06-13 09:40:25 -10:00
Brian Smith
efb6ede3cc Limit dev_urandom_fallback to Linux. 2019-06-13 09:34:40 -10:00
Joe Richey
7b0f9ad021 Simplify core vs std usage 2019-06-13 08:51:09 -10:00
Brian Smith
fdc558da0f cargo +nightly fix && cargo fmt. 2019-06-13 08:40:58 -10:00