This gem follows Semantic Versioning 2.0.0. All classes and public methods are part of the public API, unless explicitly noted otherwise in their documentation.
Released on 2014-09-14.
- Adds aliases to
ECDSA::Pointso you can do point arithmetic with+and*operators. (Thanks to Stephen McCarthy.)
Released on 2014-04-20.
New features:
ECDSA.recover_public_keywas added. It finds all possible public keys that could have been used to make a signature.Group#valid_public_key?andGroup#partially_valid_public_key?were added. They are different fromGroup#include?because they both return false for the infinity point andGroup#valid_public_key?checks to make sure that the point can be expressed as the generator point times a scalar.PrimeField#square_rootsnow works all prime fields.
Bug fixes:
- The signing and verification operations now properly take the leftmost bits of the digest if it is a string. If it is an integer, it is left alone.
- Nicer exception error messages from
ECDSA.check_signature!. They start with "Invalid signature: " so they could be understood in the context of a larger application without looking at the class of the exception. ECDSA.signreturns nil if r is zero.
Released on 2014-04-06.
- PointOctetString: Made the
decodemethod treat all strings as binary. - Group: Changed two methods to be private:
#point_satisfies_equation?and#equation_right_hand_side. - Group: made
#include?return false instead of raising an exception when a point in another group is passed in. - Added lots of documentation.