|
bool public_key::is_canonical( const compact_signature& c ) { |
For canonical signature checks most standard ec libraries only enforce a low_s however the code referenced in this issue is enforcing a low_r (r being less than half of the curve order) as well. I'm wondering why that check is needed? Checking low_s should be enough to protect against signature malleability.
A clarification on why a low_r is being checked would be greatly appreciated, and if there is no need for it can that check be removed?