Skip to content
  1. Apr 12, 2015
  2. Apr 11, 2015
  3. Apr 10, 2015
  4. Apr 09, 2015
  5. Apr 06, 2015
    • Andrew Poelstra's avatar
      Update bindings to current secp256k1 library · 1591bba3
      Andrew Poelstra authored
      rust-secp256k1 was based off of https://github.com/sipa/secp256k1,
      which has been inactive nearly as long as this repository (prior to
      a couple days ago anyway). The correct repository is
      
         https://github.com/bitcoin/secp256k1
      
      This is a major breaking change to the library for one reason: there
      are no longer any Nonce types in the safe interface. The signing functions
      do not take a nonce; this is generated internally.
      
      This also means that I was able to drop all my RFC6979 code, since
      libsecp256k1 has its own implementation.
      
      If you need to generate your own nonces, you need to create an unsafe
      function of type `ffi::NonceFn`, then pass it to the appropriate
      functions in the `ffi` module. There is no safe interface for doing
      this, deliberately: there is basically no need to directly fiddle
      with nonces ever.
      1591bba3
    • Andrew Poelstra's avatar
  6. Apr 05, 2015
  7. Apr 04, 2015
  8. Mar 26, 2015
  9. Mar 25, 2015
  10. Jan 17, 2015
  11. Sep 12, 2014
    • Andrew Poelstra's avatar
      Revert "Overhaul interface to use zero-on-free SecretKeys" · 9cab4e02
      Andrew Poelstra authored
      This reverts commit 98890907.
      
      This is not ready for primetime -- the move prevention also prevents
      reborrowing, which makes secret keys nearly unusable.
      9cab4e02
    • Andrew Poelstra's avatar
      Overhaul interface to use zero-on-free SecretKeys · 98890907
      Andrew Poelstra authored
      Using the `secretdata` library, we can store SecretKeys in such a way
      that they cannot be moved or copied, and their memory is zeroed out on
      drop. This gives us some assurance that in the case of memory unsafety,
      there is not secret key data lying around anywhere that we don't expect.
      
      Unfortunately, it means that we cannot construct secret keys and then
      return them, which forces the interface to change a fair bit. I removed
      the `generate_keypair` function from Secp256k1, then `generate_nonce`
      for symmetry, then dropped the `Secp256k1` struct entirely because it
      turned out that none of the remaining functions used the `self` param.
      
      So here we are. I bumped the version number. Sorry about this.
      98890907
  12. Sep 05, 2014
  13. Sep 04, 2014
  14. Sep 01, 2014