[PATCH] crypto: atmel-sha204a - Set hwrng quality to lowest possible

Ard Biesheuvel ardb at kernel.org
Tue Apr 22 03:02:47 PDT 2025


On Tue, 22 Apr 2025 at 11:57, Marek Behún <kabel at kernel.org> wrote:
>
> According to the review by Bill Cox [1], the Atmel SHA204A random number
> generator produces random numbers with very low entropy.
>
> Set the lowest possible entropy for this chip just to be safe.
>
> [1] https://www.metzdowd.com/pipermail/cryptography/2014-December/023858.html
>
> Fixes: da001fb651b00e1d ("crypto: atmel-i2c - add support for SHA204A random number generator")
> Signed-off-by: Marek Behún <kabel at kernel.org>
> ---
>  drivers/crypto/atmel-sha204a.c | 6 ++++++
>  1 file changed, 6 insertions(+)
>

Wow, that is terrible

Acked-by: Ard Biesheuvel <ardb at kernel.org>


> diff --git a/drivers/crypto/atmel-sha204a.c b/drivers/crypto/atmel-sha204a.c
> index 75bebec2c757..0fcf4a39de27 100644
> --- a/drivers/crypto/atmel-sha204a.c
> +++ b/drivers/crypto/atmel-sha204a.c
> @@ -163,6 +163,12 @@ static int atmel_sha204a_probe(struct i2c_client *client)
>         i2c_priv->hwrng.name = dev_name(&client->dev);
>         i2c_priv->hwrng.read = atmel_sha204a_rng_read;
>
> +       /*
> +        * According to review by Bill Cox [1], this HWRNG has very low entropy.
> +        * [1] https://www.metzdowd.com/pipermail/cryptography/2014-December/023858.html
> +        */
> +       i2c_priv->hwrng.quality = 1;
> +
>         ret = devm_hwrng_register(&client->dev, &i2c_priv->hwrng);
>         if (ret)
>                 dev_warn(&client->dev, "failed to register RNG (%d)\n", ret);
> --
> 2.49.0
>



More information about the linux-arm-kernel mailing list