In the process of calculating the hash, use the more accurate type
'u32' instead of the original 'unsigned int' to avoid ambiguity.
Signed-off-by: Tianjia Zhang <[email protected]>
---
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
On Fri, 26 Mar 2021 at 03:22, Tianjia Zhang
<[email protected]> wrote:
>
> In the process of calculating the hash, use the more accurate type
> 'u32' instead of the original 'unsigned int' to avoid ambiguity.
>
> Signed-off-by: Tianjia Zhang <[email protected]>
I don't see the point of this patch. u32 and unsigned int are always
the same type, regardless of architecture.
> ---
> 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
>
On 3/26/21 5:38 PM, Gilad Ben-Yossef wrote:
> Hi,
>
> Thank you for the patch!
>
> On Fri, Mar 26, 2021 at 5:21 AM Tianjia Zhang
> <[email protected]> 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
>
>
Thanks for your opinions. This is just to make the form more uniform.
This is not a mistake. If it is not necessary, just ignore this
modification.
Best regards,
Tianjia