[U-Boot] [PATCH 1/4] rsa: cosmetic: rename pad_len to key_len
Andrew Duda
andrew.duda at meraki.net
Fri Nov 11 22:16:28 CET 2016
Simon,
padded_len could work. I decided to go with key_len to be more
RSA-independent since I have been dealing with ECDSA primarily. More
specifically, ECDSA has no notion of padding or padded_len, but it
does have a notion of key_len. And in RSA, I believe the padded_len is
the same as the key_len. So the name key_len name would be applicable
to both RSA and ECDSA. Granted, only RSA is currently supported in
u-boot so I wouldn't have much of a problem updating this to
padded_len.
(sorry for the duplicate Simon)
Thanks,
Andrew
On Fri, Nov 11, 2016 at 8:17 AM, Simon Glass <sjg at chromium.org> wrote:
> Hi,
>
> On 8 November 2016 at 11:53, aduda <aduda at meraki.com> wrote:
>> From: Andrew Duda <aduda at meraki.com>
>>
>> checksum_algo's pad_len field isn't actually used to store the length of
>> the padding but the total length of the RSA key (msg_len + pad_len)
>
> Perhaps it should be padded_key_len or padded_len?
>
>>
>> Signed-off-by: Andrew Duda <aduda at meraki.com>
>> Signed-off-by: aduda <aduda at meraki.com>
>> ---
>>
>> include/image.h | 2 +-
>> lib/rsa/rsa-verify.c | 6 +++---
>> 2 files changed, 4 insertions(+), 4 deletions(-)
>>
>> diff --git a/include/image.h b/include/image.h
>> index 2b1296c..bfe10a0 100644
>> --- a/include/image.h
>> +++ b/include/image.h
>> @@ -1070,7 +1070,7 @@ struct image_region {
>> struct checksum_algo {
>> const char *name;
>> const int checksum_len;
>> - const int pad_len;
>> + const int key_len;
>> #if IMAGE_ENABLE_SIGN
>> const EVP_MD *(*calculate_sign)(void);
>> #endif
>> diff --git a/lib/rsa/rsa-verify.c b/lib/rsa/rsa-verify.c
>> index 442b769..5418f59 100644
>> --- a/lib/rsa/rsa-verify.c
>> +++ b/lib/rsa/rsa-verify.c
>> @@ -84,7 +84,7 @@ static int rsa_verify_key(struct key_prop *prop, const uint8_t *sig,
>> }
>>
>> padding = algo->rsa_padding;
>> - pad_len = algo->pad_len - algo->checksum_len;
>> + pad_len = algo->key_len - algo->checksum_len;
>>
>> /* Check pkcs1.5 padding bytes. */
>> if (memcmp(buf, padding, pad_len)) {
>> @@ -160,7 +160,7 @@ int rsa_verify(struct image_sign_info *info,
>> {
>> const void *blob = info->fdt_blob;
>> /* Reserve memory for maximum checksum-length */
>> - uint8_t hash[info->algo->checksum->pad_len];
>> + uint8_t hash[info->algo->checksum->key_len];
>> int ndepth, noffset;
>> int sig_node, node;
>> char name[100];
>> @@ -171,7 +171,7 @@ int rsa_verify(struct image_sign_info *info,
>> * rsa-signature-length
>> */
>> if (info->algo->checksum->checksum_len >
>> - info->algo->checksum->pad_len) {
>> + info->algo->checksum->key_len) {
>> debug("%s: invlaid checksum-algorithm %s for %s\n",
>> __func__, info->algo->checksum->name, info->algo->name);
>> return -EINVAL;
>> --
>> 2.10.2
>>
>
> Regards,
> Simon
More information about the U-Boot
mailing list