|
|
|
@ -27,14 +27,15 @@ library RSA { |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* @dev Verifies a PKCSv1.5 signature given a digest according to the verification |
|
|
|
|
* method described in https://datatracker.ietf.org/doc/html/rfc8017#section-8.2.2[section 8.2.2 of RFC8017] with support |
|
|
|
|
* for explicit or implicit NULL parameters in the DigestInfo (no other optional parameters are supported). |
|
|
|
|
* method described in https://datatracker.ietf.org/doc/html/rfc8017#section-8.2.2[section 8.2.2 of RFC8017] with |
|
|
|
|
* support for explicit or implicit NULL parameters in the DigestInfo (no other optional parameters are supported). |
|
|
|
|
* |
|
|
|
|
* IMPORTANT: For security reason, this function requires the signature and modulus to have a length of at least 2048 bits. |
|
|
|
|
* If you use a smaller key, consider replacing it with a larger, more secure, one. |
|
|
|
|
* IMPORTANT: For security reason, this function requires the signature and modulus to have a length of at least |
|
|
|
|
* 2048 bits. If you use a smaller key, consider replacing it with a larger, more secure, one. |
|
|
|
|
* |
|
|
|
|
* WARNING: PKCS#1 v1.5 allows for replayability given the message may contain arbitrary optional parameters in the |
|
|
|
|
* DigestInfo. Consider using an onchain nonce or unique identifier to include in the message to prevent replay attacks. |
|
|
|
|
* WARNING: This verification algorithm doesn't prevent replayability. If called multiple times with the same |
|
|
|
|
* digest, public key and (valid signature), it will return true every time. Consider including an onchain nonce or |
|
|
|
|
* unique identifier in the message to prevent replay attacks. |
|
|
|
|
* |
|
|
|
|
* @param digest the digest to verify |
|
|
|
|
* @param s is a buffer containing the signature |
|
|
|
@ -79,7 +80,7 @@ library RSA { |
|
|
|
|
// - PS is padding filled with 0xFF |
|
|
|
|
// - DigestInfo ::= SEQUENCE { |
|
|
|
|
// digestAlgorithm AlgorithmIdentifier, |
|
|
|
|
// [optional algorithm parameters] |
|
|
|
|
// [optional algorithm parameters] -- not currently supported |
|
|
|
|
// digest OCTET STRING |
|
|
|
|
// } |
|
|
|
|
|
|
|
|
|