1. Sep 01, 2014
    • Andrew Poelstra's avatar
      Generate keys from Fortuna rather than always using the OsRng · d94345f7
      Andrew Poelstra authored
      When creating a Secp256k1, we attach a Fortuna CSRNG seeded from the
      OS RNG, rather than using the OS RNG all the time. This moves the
      potential RNG failure to the creation of the object, rather than at
      every single place that keys are generated. It also reduces trust
      in the operating system RNG.
      
      This does mean that Secp256k1::new() now returns an IoResult while
      the generate_* methods no longer return Results, so this is a breaking
      change.
      
      Also add a benchmark for key generation. On my system I get:
      
      test tests::generate_compressed   ... bench:    492990 ns/iter (+/- 27981)
      test tests::generate_uncompressed ... bench:    495148 ns/iter (+/- 29829)
      
      Contrast the numbers with OsRng:
      
      test tests::generate_compressed   ... bench:     66691 ns/iter (+/- 3640)
      test tests::generate_uncompressed ... bench:     67148 ns/iter (+/- 3806)
      
      Not too shabby :)
      
      [breaking-change]
      d94345f7
  2. Aug 31, 2014
  3. Aug 30, 2014
  4. Aug 28, 2014
  5. Aug 27, 2014
  6. Aug 24, 2014
  7. Aug 18, 2014
  8. Aug 16, 2014
  9. Aug 12, 2014
  10. Aug 10, 2014
  11. Aug 05, 2014
  12. Aug 04, 2014
  13. Jul 23, 2014
  14. Jul 07, 2014