All of lore.kernel.org
 help / color / mirror / Atom feed
* [U-Boot] [U-Boot v2] [PATCH] rsa: add a more flexible way to support different hash algorithms (e.g. sha256)
@ 2013-11-27 12:10 andreas at oetken.name
  2013-12-02  6:10 ` Heiko Schocher
  0 siblings, 1 reply; 3+ messages in thread
From: andreas at oetken.name @ 2013-11-27 12:10 UTC (permalink / raw)
  To: u-boot

As proposed by Heiko I made some small changes and verified the patch with the
checkpatch-script.
?
?

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [U-Boot] [U-Boot v2] [PATCH] rsa: add a more flexible way to support different hash algorithms (e.g. sha256)
  2013-11-27 12:10 [U-Boot] [U-Boot v2] [PATCH] rsa: add a more flexible way to support different hash algorithms (e.g. sha256) andreas at oetken.name
@ 2013-12-02  6:10 ` Heiko Schocher
  2013-12-13 22:40   ` Simon Glass
  0 siblings, 1 reply; 3+ messages in thread
From: Heiko Schocher @ 2013-12-02  6:10 UTC (permalink / raw)
  To: u-boot

Hello Andreas,

Am 27.11.2013 13:10, schrieb andreas at oetken.name:
> As proposed by Heiko I made some small changes and verified the patch with the
> checkpatch-script.
>
>
>> From 169f40e72fceb222bb15dd59c1337f42371e97a5 Mon Sep 17 00:00:00 2001
> From: Andreas Oetken<andreas.oetken@siemens.com>
> Date: Wed, 27 Nov 2013 13:09:19 +0100
> Subject: [PATCH] Added rsa-sha256 support.

Could you fix your commit message?

Please write in the commit message why and what you have changed
in your patch. After "---" you can write for example the changelog
of your patch, see a detailed help for sending patches, here:

http://www.denx.de/wiki/U-Boot/Patches

> Signed-off-by: Andreas Oetken<andreas.oetken@siemens.com>
> ---
>   common/image-sig.c          |   33 +++++++++++++
>   include/image.h             |   20 +++++++-
>   include/rsa-checksum.h      |   25 ++++++++++
>   include/rsa.h               |   17 +++++++
>   lib/rsa/Makefile            |    2 +-
>   lib/rsa/rsa-checksum.c      |  108 +++++++++++++++++++++++++++++++++++++++++++
>   lib/rsa/rsa-sign.c          |   10 ++--
>   lib/rsa/rsa-verify.c        |   80 +++++++++-----------------------
>   test/vboot/sign-configs.its |    2 +-
>   test/vboot/sign-images.its  |    2 +-
>   10 files changed, 233 insertions(+), 66 deletions(-)
>   create mode 100644 include/rsa-checksum.h
>   create mode 100644 lib/rsa/rsa-checksum.c

Hmm.. I tried to apply your patch, but I get:

pollux:u-boot hs [20131202] $ git am mbox
Wende an: rsa: add a more flexible way to support different hash algorithms (e.g. sha256)
fatal: fehlerhafter Patch bei Zeile 24
Anwendung des Patches fehlgeschlagen bei 0001 rsa: add a more flexible way to support different hash algorithms (e.g. sha256)
Die Kopie des fehlgeschlagenen Patches befindet sich in:
    /home/hs/ids/u-boot/.git/rebase-apply/patch
Wenn Sie das Problem gel?st haben, f?hren Sie "git am --resolved" aus.
Falls Sie diesen Patch auslassen m?chten, f?hren Sie stattdessen
"git am --skip" aus.
Um den urspr?nglichen Zweig wiederherzustellen und die Anwendung der
Patches abzubrechen, f?hren Sie "git am --abort" aus.
pollux:u-boot hs [20131202] $ git am --abort
pollux:u-boot hs [20131202] $ vi mbox
pollux:u-boot hs [20131202] $ patch -p1 < mbox
patching file common/image-sig.c
patch: **** malformed patch at line 49:  #endif /* !USE_HOSTCC*/

pollux:u-boot hs [20131202] $

Can you have a look@this issue?

Beside of that, just some nitpicking comment:

[...]
> diff --git a/include/rsa.h b/include/rsa.h
> index add4c78..12ae443 100644
> --- a/include/rsa.h
> +++ b/include/rsa.h
> @@ -15,6 +15,23 @@
>   #include<errno.h>
>   #include<image.h>
>
> +#define RSA2048_BYTES  (2048 / 8)
> +
> +/**
> + * struct rsa_public_key - holder for a public key
> + *
> + * An RSA public key consists of a modulus (typically called N), the inverse
> + * and R^2, where R is 2^(# key bits).
> + */
> +
> +struct rsa_public_key {
> +       uint len;               /* Length of modulus[] in number of uint32_t */
> +       uint32_t n0inv;         /* -1 / modulus[0] mod 2^32 */
> +       uint32_t *modulus;      /* modulus as little endian array */
> +       uint32_t *rr;           /* R^2 as little endian array */
> +};
> +
> +

only one empty line please.

>   #if IMAGE_ENABLE_SIGN
>   /**
>    * sign() - calculate and return signature for given input data
[...]
> diff --git a/lib/rsa/rsa-checksum.c b/lib/rsa/rsa-checksum.c
> new file mode 100644
> index 0000000..e75abb8
> --- /dev/null
> +++ b/lib/rsa/rsa-checksum.c
> @@ -0,0 +1,108 @@
> +/*
> + * Copyright (c) 2013, Andreas Oetken.
> + *
> + * SPDX-License-Identifier:    GPL-2.0+
> + */
> +
> +#include<common.h>
> +#include<fdtdec.h>
> +#include<rsa.h>
> +#include<sha1.h>
> +#include<sha256.h>
> +#include<asm/byteorder.h>
> +#include<asm/errno.h>
> +#include<asm/unaligned.h>
> +
> +

only one empty line please.

> +/* PKCS 1.5 paddings as described in the RSA PKCS#1 v2.1 standard. */
> +
> +

here too.. please fix globally.

[...]

bye,
Heiko
-- 
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [U-Boot] [U-Boot v2] [PATCH] rsa: add a more flexible way to support different hash algorithms (e.g. sha256)
  2013-12-02  6:10 ` Heiko Schocher
@ 2013-12-13 22:40   ` Simon Glass
  0 siblings, 0 replies; 3+ messages in thread
From: Simon Glass @ 2013-12-13 22:40 UTC (permalink / raw)
  To: u-boot

Hi,

On 1 December 2013 23:10, Heiko Schocher <hs@denx.de> wrote:
> Hello Andreas,
>
> Am 27.11.2013 13:10, schrieb andreas at oetken.name:
>
>> As proposed by Heiko I made some small changes and verified the patch with
>> the
>> checkpatch-script.

You can also use patman to generate, check and send your patch if you like.

I couldn't apply it due to the problems Heiko mentioned, but it looks
promising. One I think I wonder if whether you could use the existing
infrastructure in common/hash.c to select the hash algorithm?

Regards,
Simon

>>
>>
>>> From 169f40e72fceb222bb15dd59c1337f42371e97a5 Mon Sep 17 00:00:00 2001
>>
>> From: Andreas Oetken<andreas.oetken@siemens.com>
>> Date: Wed, 27 Nov 2013 13:09:19 +0100
>> Subject: [PATCH] Added rsa-sha256 support.
>
>
> Could you fix your commit message?
>
> Please write in the commit message why and what you have changed
> in your patch. After "---" you can write for example the changelog
> of your patch, see a detailed help for sending patches, here:
>
> http://www.denx.de/wiki/U-Boot/Patches
>
>
>> Signed-off-by: Andreas Oetken<andreas.oetken@siemens.com>
>> ---
>>   common/image-sig.c          |   33 +++++++++++++
>>   include/image.h             |   20 +++++++-
>>   include/rsa-checksum.h      |   25 ++++++++++
>>   include/rsa.h               |   17 +++++++
>>   lib/rsa/Makefile            |    2 +-
>>   lib/rsa/rsa-checksum.c      |  108
>> +++++++++++++++++++++++++++++++++++++++++++
>>   lib/rsa/rsa-sign.c          |   10 ++--
>>   lib/rsa/rsa-verify.c        |   80 +++++++++-----------------------
>>   test/vboot/sign-configs.its |    2 +-
>>   test/vboot/sign-images.its  |    2 +-
>>   10 files changed, 233 insertions(+), 66 deletions(-)
>>   create mode 100644 include/rsa-checksum.h
>>   create mode 100644 lib/rsa/rsa-checksum.c
>
>
> Hmm.. I tried to apply your patch, but I get:
>
> pollux:u-boot hs [20131202] $ git am mbox
> Wende an: rsa: add a more flexible way to support different hash algorithms
> (e.g. sha256)
> fatal: fehlerhafter Patch bei Zeile 24
> Anwendung des Patches fehlgeschlagen bei 0001 rsa: add a more flexible way
> to support different hash algorithms (e.g. sha256)
> Die Kopie des fehlgeschlagenen Patches befindet sich in:
>    /home/hs/ids/u-boot/.git/rebase-apply/patch
> Wenn Sie das Problem gel?st haben, f?hren Sie "git am --resolved" aus.
> Falls Sie diesen Patch auslassen m?chten, f?hren Sie stattdessen
> "git am --skip" aus.
> Um den urspr?nglichen Zweig wiederherzustellen und die Anwendung der
> Patches abzubrechen, f?hren Sie "git am --abort" aus.
> pollux:u-boot hs [20131202] $ git am --abort
> pollux:u-boot hs [20131202] $ vi mbox
> pollux:u-boot hs [20131202] $ patch -p1 < mbox
> patching file common/image-sig.c
> patch: **** malformed patch at line 49:  #endif /* !USE_HOSTCC*/
>
> pollux:u-boot hs [20131202] $
>
> Can you have a look at this issue?
>
> Beside of that, just some nitpicking comment:
>
> [...]
>
>> diff --git a/include/rsa.h b/include/rsa.h
>> index add4c78..12ae443 100644
>> --- a/include/rsa.h
>> +++ b/include/rsa.h
>> @@ -15,6 +15,23 @@
>>   #include<errno.h>
>>   #include<image.h>
>>
>> +#define RSA2048_BYTES  (2048 / 8)
>> +
>> +/**
>> + * struct rsa_public_key - holder for a public key
>> + *
>> + * An RSA public key consists of a modulus (typically called N), the
>> inverse
>> + * and R^2, where R is 2^(# key bits).
>> + */
>> +
>> +struct rsa_public_key {
>> +       uint len;               /* Length of modulus[] in number of
>> uint32_t */
>> +       uint32_t n0inv;         /* -1 / modulus[0] mod 2^32 */
>> +       uint32_t *modulus;      /* modulus as little endian array */
>> +       uint32_t *rr;           /* R^2 as little endian array */
>> +};
>> +
>> +
>
>
> only one empty line please.
>
>
>>   #if IMAGE_ENABLE_SIGN
>>   /**
>>    * sign() - calculate and return signature for given input data
>
> [...]
>
>> diff --git a/lib/rsa/rsa-checksum.c b/lib/rsa/rsa-checksum.c
>> new file mode 100644
>> index 0000000..e75abb8
>> --- /dev/null
>> +++ b/lib/rsa/rsa-checksum.c
>> @@ -0,0 +1,108 @@
>> +/*
>> + * Copyright (c) 2013, Andreas Oetken.
>> + *
>> + * SPDX-License-Identifier:    GPL-2.0+
>> + */
>> +
>> +#include<common.h>
>> +#include<fdtdec.h>
>> +#include<rsa.h>
>> +#include<sha1.h>
>> +#include<sha256.h>
>> +#include<asm/byteorder.h>
>> +#include<asm/errno.h>
>> +#include<asm/unaligned.h>
>> +
>> +
>
>
> only one empty line please.
>
>
>> +/* PKCS 1.5 paddings as described in the RSA PKCS#1 v2.1 standard. */
>> +
>> +
>
>
> here too.. please fix globally.
>
> [...]
>
> bye,
> Heiko
> --
> DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
> HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2013-12-13 22:40 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-11-27 12:10 [U-Boot] [U-Boot v2] [PATCH] rsa: add a more flexible way to support different hash algorithms (e.g. sha256) andreas at oetken.name
2013-12-02  6:10 ` Heiko Schocher
2013-12-13 22:40   ` Simon Glass

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.