EOSIO / EOSIO/fc

Canonical EC signature check against r value in the signature might be unnecessary.

Open
#238 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
C++
Stars
39
Forks
93
PR merge metrics
No merged PRs in 30d

Description

https://github.com/EOSIO/fc/blob/ff56d25e587f8131cfde06f1eb61baa899bc8a89/src/crypto/elliptic_common.cpp#L161

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?

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.