• drskalman's avatar
    Fix `ecdsa_bls` verify in BEEFY primitives (#2066) · b371c357
    drskalman authored
    
    
    BEEFY ECDSA signatures are on keccak has of the messages. As such we can
    not simply call
    
    `EcdsaBlsPair::verify(signature.as_inner_ref(), msg,
    self.as_inner_ref())`
    
    because that invokes ecdsa default verification which perfoms blake2
    hash which we don't want.
    
    This bring up the second issue makes: This makes `sign` and `verify`
    function in `pair_crypto` useless, at least for BEEFY use case.
    Moreover, there is no obvious clean way to generate the signature given
    that pair_crypto does not exposes `sign_prehashed`. You could in theory
    query the keystore for the pair (could you?), invoke `to_raw` and
    re-generate each sub-pair and sign using each. But that sounds extremely
    anticlimactic and will be frow upon by auditors . So I appreciate any
    alternative suggestion.
    
    ---------
    
    Co-authored-by: default avatarDavide Galassi <[email protected]>
    Co-authored-by: default avatarRobert Hambrock <[email protected]>
    b371c357