Merge #714: doc: document the length requirements of output parameter.
4b48a431060948dc5e29aa590d646a72aa138968 doc: document the length requirements of output parameter. (Rusty Russell)
Pull request description:
It’s subtle, since it is actually only touched by hashfp (though we assert it’s non-NULL), but give explicit advice in the default case.
Signed-off-by: Rusty Russell rusty@rustcorp.com.au
ACKs for top commit: jonasnick: ACK 4b48a431060948dc5e29aa590d646a72aa138968 real-or-random: ACK 4b48a431060948dc5e29aa590d646a72aa138968 diff inspection
Tree-SHA512: d6bedb495e46b27ac9b558e77d814884d782ea78569a2296688eccf374bc880d13846546ad449c2a677865cf6ed56fcbc8be58c21f9daca5084831074e20d769
libsecp256k1
Optimized C library for ECDSA signatures and secret/public key operations on curve secp256k1.
This library is intended to be the highest quality publicly available library for cryptography on the secp256k1 curve. However, the primary focus of its development has been for usage in the Bitcoin system and usage unlike Bitcoin’s may be less well tested, verified, or suffer from a less well thought out interface. Correct usage requires some care and consideration that the library is fit for your application’s purpose.
Features:
Experimental features have not received enough scrutiny to satisfy the standard of quality of this library but are made available for testing and review by the community. The APIs of these features should not be considered stable.
Implementation details
Build steps
libsecp256k1 is built using autotools:
Exhaustive tests
With valgrind, you might need to increase the max stack size:
Test coverage
This library aims to have full coverage of the reachable lines and branches.
To create a test coverage report, configure with
--enable-coverage(use of GCC is necessary):Run the tests:
To create a report,
gcovris recommended, as it includes branch coverage reporting:To create a HTML report with coloured and annotated source code:
Reporting a vulnerability
See SECURITY.md