Commit graph

17 commits

Author SHA1 Message Date
Pieter Wuille
cf7b2b4647 Fix ECDSA message hashes to 32 bytes 2014-12-09 12:50:47 +01:00
Pieter Wuille
be82e92fc4 Require that r and b are different for field multiplication.
Suggested by Peter Dettman, this prepares for slightly faster muitiplication
which writes results immediately to r before finishing reading b.
2014-12-01 13:40:34 +01:00
Gregory Maxwell
8563713a4f Add non-null and unused-result warnings for the external API.
GCC (and clang) supports extensions to annotate functions so that their
 results must be used and so that their arguments can't be statically
 provable to be null. If a caller violates these requirements they
 get a warning, so this helps them write correct code.

I deployed this in libopus a couple years ago with good success, and
 the implementation here is basically copied straight from that.

One consideration is that the non-null annotation teaches the optimizer
 and will actually compile out runtime non-nullness checks as dead-code.
 Since this is usually not whats wanted, the non-null annotations are
 disabled when compiling the library itself.

The commit also removes some dead inclusions of assert.h and introduces
 compatibility macros for restrict and inline in preparation for some
 portability improvements.
2014-11-12 12:23:09 -08:00
Pieter Wuille
c27fdc0b97 Document some preconditions 2014-11-12 03:20:15 -08:00
Pieter Wuille
ae6bc76e32 [API CHANGE] Use secp256k1_ec_ prefix for non-ECDSA key operations 2014-10-27 02:51:58 -07:00
Pieter Wuille
04e34d18c3 Split up signing and verification initialization 2014-09-13 17:14:17 +02:00
HaltingState
315d2560b0 updated documentation 2013-11-04 02:50:59 -08:00
Pieter Wuille
86d3cce2a9 Add support for multiplicative tweaking 2013-07-14 17:58:23 +02:00
Pieter Wuille
194eea065f Public inclue improvements 2013-05-11 23:37:48 +02:00
Pieter Wuille
da3038c757 Privkey import/export 2013-05-05 05:12:43 +02:00
Pieter Wuille
50eb498ece Compact signatures/pubkey recovery 2013-05-05 02:46:07 +02:00
Pieter Wuille
42cccdaf55 More public implementations 2013-05-05 01:02:05 +02:00
Pieter Wuille
7823916781 Add signing to public interface 2013-05-05 00:21:03 +02:00
Pieter Wuille
b2966ce852 public interface docs 2013-04-14 22:44:45 +02:00
Pieter Wuille
eb0be8eec6 Final step in converting to C 2013-04-01 07:52:58 +02:00
Pieter Wuille
254327e49a Begin group C interface + start/stop 2013-03-31 06:36:03 +02:00
Pieter Wuille
2d93809255 Source tree reorganization 2013-03-31 05:03:27 +02:00
Renamed from secp256k1.h (Browse further)