On 2026-08-13T19:58:53, James Hilliard <[email protected]> wrote:
> lib: rsa: internalize PKCS#1 DigestInfo prefixes
>
> The checksum algorithm table is shared by RSA and ECDSA, but its DER
> prefix fields are used only by RSA PKCS#1 v1.5 padding verification.
> Keeping those prefixes in the software hash implementations also ties
> signature metadata to a particular hash backend and duplicates it between
> the legacy and MbedTLS shims.
>
> Keep the SHA-1, SHA-256, SHA-384 and SHA-512 DigestInfo prefixes in the RSA
> verifier instead. Select the prefix by checksum name when checking PKCS#1
> v1.5 padding, include every algorithm in host tools and only configured
> algorithms in target builds, and reject padding which is too short for the
> required eight-byte padding string.
>
> Remove the DER fields from the generic checksum descriptor and remove the
> now-unneeded constants from the hash implementations. ECDSA-only and
> hardware-hash-only builds then carry no RSA-specific DigestInfo data.
>
> Signed-off-by: James Hilliard <[email protected]>
>
> boot/image-sig.c        |  8 ------
>  include/image.h         |  2 --
>  include/u-boot/sha1.h   |  3 ---
>  include/u-boot/sha256.h |  3 ---
>  include/u-boot/sha512.h |  6 -----
>  lib/mbedtls/sha1.c      |  5 ----
>  lib/mbedtls/sha256.c    |  6 -----
>  lib/mbedtls/sha512.c    | 12 ---------
>  lib/rsa/rsa-verify.c    | 67 
> ++++++++++++++++++++++++++++++++++++++++++++++---
>  lib/sha1.c              |  5 ----
>  lib/sha256.c            |  6 -----
>  lib/sha512.c            | 12 ---------
>  tools/image-sig-host.c  |  8 ------
>  13 files changed, 63 insertions(+), 80 deletions(-)

Reviewed-by: Simon Glass <[email protected]>

Reply via email to