• Andrew Duda's avatar
    rsa: Verify RSA padding programatically · da29f299
    Andrew Duda authored
    Padding verification was done against static SHA/RSA pair arrays which
    take up a lot of static memory, are mostly 0xff, and cannot be reused
    for additional SHA/RSA pairings. The padding can be easily computed
    according to PKCS#1v2.1 as:
    
      EM = 0x00 || 0x01 || PS || 0x00 || T
    
    where PS is (emLen - tLen - 3) octets of 0xff and T is DER encoding
    of the hash.
    
    Store DER prefix in checksum_algo and create rsa_verify_padding
    function to handle verification of a message for any SHA/RSA pairing.
    Signed-off-by: default avatarAndrew Duda <[email protected]>
    Signed-off-by: default avataraduda <[email protected]>
    Reviewed-by: default avatarSimon Glass <[email protected]>
    da29f299
image.h 39.2 KB