First Pull Request

Don't use `[0; T]` to construct not-yet-initialized values briansmith/ring

It turns out that some test vectors are using all-zero values as inputs, which then get used as expected outputs when we verify,for example, that decrypting a ciphertext results in the original pla...

Created - 0 comments - good-first-bug static-analysis-and-type-safety test-coverage

Add tests of unaligned inputs for `ring::digest` briansmith/ring

In particular, test on platforms that require 4-byte alignment for 32-bit integers and/or 8-byte alignment for 64-bit integers.

Created - 0 comments - good-first-bug static-analysis-and-type-safety test-coverage

Expand (NIST) ECDH and X25519 testing briansmith/ring

For both, add test cases for: - Overlong inputs - Cases where the inputs are not reduced mod `q`, but which are otherwise correct. These are invalid for NIST ECDH but valid for X25519. (The NIST EC...

Created - 0 comments - good-first-bug test-coverage

Documentation: Add PKCS#8 RSA-PSS example ahead of the RSA PKCS#1 example briansmith/ring

At we have an example using a non-PKCS#8 RSA private key and PKCS#1 padding. Ahead of that e...

Created - 0 comments - good-first-bug rsa usability

Add ECDSA for the secp256k1 curve briansmith/ring

We can probably add support for the secp256k1 curve pretty easily mostly by copy/pasting the P-384 code and changing the constants (number of limbs: 4, new `q` and `n` values). It probably won't be...

Created - 0 comments - good-first-bug

Expand testing of invalid ECDSA signatures briansmith/ring

- [ ] Test cases where the ASN.1 is malformed in various ways. - [ ] Test cases where r is negative, zero, and greater or equal to `n`. - [ ] Test cases where s is negative, zero, and greater or eq...

Created - 1 comment - good-first-bug test-coverage

Ensure assembly language code is built with debug symbols briansmith/ring


Created - 1 comment - good-first-bug static-analysis-and-type-safety test-coverage

Improve consistency of `Algorithm` attributes & accessors briansmith/ring

`ring::digest::Algorithm` uses public attributes, not functions, to expose algorithm properties like `output_len`, `chaining_len`, etc. But, `ring::aead::Algorithm` uses accessor functions like `ta...

Created - 1 comment - good-first-bug usability

Randomize the first bit of X25519 public keys briansmith/ring

When we generate an X25519 private key, there are a few bits of the private key that are unused (always masked off, or masked set). We can steal one of those random bits to choose whether the high-...

Created - 1 comment - good-first-bug

Add support for statically-linked musl libc Linux targets (-unknown-linux-musl) briansmith/ring

[ ] Add -musl targets to CI. [ ] Use `getrandom()` instead of a direct syscall since we can rely on it being available. This should remove the dependency on `libc::syscall`, which is a step (maybe...

Created - 1 comment - good-first-bug static-analysis-and-type-safety test-coverage

Add feature for getting backtraces for `ring::error::Unspecified` briansmith/ring

It would be nice, especially when debugging test failures, if we could enable a feature that would let us get the call stack at the time the (most recent?) `ring::error::Unspecified` was constructe...

Created - 2 comments - good-first-bug usability

Provide an easier-to-use rand API briansmith/ring

Consider adding a function like this to `ring::rand`. ```rust pub fn value<T: Default + AsMut<[u8]>>(rng: &SecureRandom) -> Result<T, error::Unspecified> { let mut r: T = Default::default(...

Created - 2 comments - good-first-bug usability

Optimize PBKDF2 briansmith/ring


Created - 3 comments - enhancement good-first-bug performance

Reverse mode in ISO mode commanderx16/x16-rom

In ISO mode, reverse mode has no effect. Also, the cursor is a block that covers the character instead of inverting it. This can be fixed by swapping the foreground and background colors both fo...

Created - 3 comments - good first issue

Use `BitLength` for all bit-denoted lengths briansmith/ring

See also #345, 346, #347. Without the compiler supporting const fns, we are limited in the contexts in which we can use `BitLength`. @samscott89 noted that we may be able to make `BitLength` a n...

Created - 4 comments - good-first-bug static-analysis-and-type-safety

Add Address Sanitizer (ASAN) configuration to Continuous Integration builds briansmith/ring

We should be doing runs with the tests running under ASAN.

Created - 5 comments - good-first-bug test-coverage

Dover printer PDP-10/its

SYSEN1; DOVER 137 SYSEN1; DVRDEV 115 - DVR: device SYSEN1; DVRHAK 3 INFO; DOVER 22 HUMOR; DOVER POEM See also #242 for DVS, Dover spooler. ![dover](https://user-images.githubusercon...

Created - 6 comments - easy todo

Remove all casts that use the `as` operator briansmith/ring

Rust doesn't have implicit widening, so casts that are lossy (not necessarily safe) look just like casts that are 100% safe. Instead of using the `as` operator for widening casts, we should use (an...

Created - 8 comments - good-first-bug static-analysis-and-type-safety

Reproducible builds: Buildpath embedded in binaries briansmith/ring

hello, I was looking at ring from a [reproducible builds][0] point of view and I noticed that rust programs that depend on ring can not be built reproducibly with a dynamic build path. The fo...

Created - 8 comments - good-first-bug

Add examples for using the AEAD API briansmith/ring

The AEAD API is one of the few that doesn't have example code. Let's add the example code, in a similar style as the existing examples for other features. We're likely to remove the `in_prefix_l...

Created - 9 comments - good-first-bug usability

Add Visual Studio 2017 builds to AppVeyor briansmith/ring

[Note that Visual Studio “15” is the successor to Visual Studio 2015 and will probably have a different name; see] Let's suppo...

Created - 10 comments - good-first-bug usability

implement NIST SP-800-56B-rev1-compliant RSA private key validation. briansmith/ring

See #360, where we've done some work on private key validation in Rust, replacing some similar code written in C. We need to extend that work to comply with [NIST SP-800-56B-rev1](http://nvlpubs...

Created - 10 comments - good-first-bug rsa

LSRDMP - Dump the LSR1 database PDP-10/its


Created - 10 comments - easy todo

Migrate from Python 2 to 3 kervinck/gigatron-rom

``` ./Core/!/usr/bin/env python ./Core/!/usr/bin/env python ./Core/!/usr/bin/env python ./Core/!/usr/bin/env python ./Core/!/usr/bin/env...

Created - 10 comments - compliancy good first issue

Experiment with caching information needed to verify primality of RSA private key primes briansmith/ring

We've been told (IIRC) that Go's crypto library doesn't verify primality of (p, q) in RSA private keys when loading an RSA private key because the primality test is too slow. For similar reasons Bo...

Created - 11 comments - good-first-bug performance rsa

Test aarch64-linux-android in emulator briansmith/ring

At the time we added 32-bit ARM Android to Travis CI, Aarch64 builds of Rust's libstd weren't available. However, now they are available, so we can add AAarch64 targets now.

Created - 12 comments - good-first-bug static-analysis-and-type-safety test-coverage

Use something better than /dev/urandom on FreeBSD briansmith/ring

The main drivers here are performance and the ability to work correctly and automatically in a chroot/jail. This was split off from #316, which is now OpenBSD-only. Note that iOS and MacOS are i...

Created - 18 comments - good-first-bug performance usability

Track test coverage briansmith/ring

- [ ] Measure code coverage - [x] x86 and x86-64 Linux. - [ ] armv6, armv7+neon, and AAarch64: Some progress, but blocked on toolchain issues (see comments below). - [ ] Windows: No progress ...

Created - 50 comments - good-first-bug static-analysis-and-type-safety test-coverage

Displaying all 29 issues