[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAOtvUMfSC02o03c=Q-8d7vy8KS3QmNTBc59An=-m4BmNzt8_GA@mail.gmail.com>
Date: Fri, 26 Mar 2021 12:38:25 +0300
From: Gilad Ben-Yossef <gilad@...yossef.com>
To: Tianjia Zhang <tianjia.zhang@...ux.alibaba.com>
Cc: Herbert Xu <herbert@...dor.apana.org.au>,
"David S. Miller" <davem@...emloft.net>,
Eric Biggers <ebiggers@...gle.com>,
Mimi Zohar <zohar@...ux.ibm.com>,
Linux Crypto Mailing List <linux-crypto@...r.kernel.org>,
Linux kernel mailing list <linux-kernel@...r.kernel.org>,
Jia Zhang <zhang.jia@...ux.alibaba.com>
Subject: Re: [PATCH] crypto: sm3 - use the more precise type u32 instead of
unsigned int
Hi,
Thank you for the patch!
On Fri, Mar 26, 2021 at 5:21 AM Tianjia Zhang
<tianjia.zhang@...ux.alibaba.com> wrote:
>
> In the process of calculating the hash, use the more accurate type
> 'u32' instead of the original 'unsigned int' to avoid ambiguity.
I don't think there is any ambiguity here, as both forms are always
the same size.
Generally, I tend to use the convention of using 'u32' as denoting
variables where the size is meaningful - e.g. mathematical operations
that are defined in the standard on 32 bit buffers, versus using
plain 'int' types where it isn't - e.g. loop counters etc.
Having said that, even under my own definition possibly the w and wt
arrays in sm3_trandform() should be changed to u32.
I don't object to changing those if it bugs you :-)
Cheers,
Gilad
> Signed-off-by: Tianjia Zhang <tianjia.zhang@...ux.alibaba.com>
> ---
> crypto/sm3_generic.c | 12 ++++++------
> 1 file changed, 6 insertions(+), 6 deletions(-)
>
> diff --git a/crypto/sm3_generic.c b/crypto/sm3_generic.c
> index 193c4584bd00..562e96f92f64 100644
> --- a/crypto/sm3_generic.c
> +++ b/crypto/sm3_generic.c
> @@ -36,17 +36,17 @@ static inline u32 p1(u32 x)
> return x ^ rol32(x, 15) ^ rol32(x, 23);
> }
>
> -static inline u32 ff(unsigned int n, u32 a, u32 b, u32 c)
> +static inline u32 ff(u32 n, u32 a, u32 b, u32 c)
> {
> return (n < 16) ? (a ^ b ^ c) : ((a & b) | (a & c) | (b & c));
> }
>
> -static inline u32 gg(unsigned int n, u32 e, u32 f, u32 g)
> +static inline u32 gg(u32 n, u32 e, u32 f, u32 g)
> {
> return (n < 16) ? (e ^ f ^ g) : ((e & f) | ((~e) & g));
> }
>
> -static inline u32 t(unsigned int n)
> +static inline u32 t(u32 n)
> {
> return (n < 16) ? SM3_T1 : SM3_T2;
> }
> @@ -54,7 +54,7 @@ static inline u32 t(unsigned int n)
> static void sm3_expand(u32 *t, u32 *w, u32 *wt)
> {
> int i;
> - unsigned int tmp;
> + u32 tmp;
>
> /* load the input */
> for (i = 0; i <= 15; i++)
> @@ -123,8 +123,8 @@ static void sm3_compress(u32 *w, u32 *wt, u32 *m)
>
> static void sm3_transform(struct sm3_state *sst, u8 const *src)
> {
> - unsigned int w[68];
> - unsigned int wt[64];
> + u32 w[68];
> + u32 wt[64];
>
> sm3_expand((u32 *)src, w, wt);
> sm3_compress(w, wt, sst->state);
> --
> 2.19.1.3.ge56e4f7
>
--
Gilad Ben-Yossef
Chief Coffee Drinker
values of β will give rise to dom!
Powered by blists - more mailing lists