• AngeloGioacchino Del Regno's avatar
    tpm: tpm_tis_spi_cr50: Add default RNG quality · d2704808
    AngeloGioacchino Del Regno authored
    To allow this device to fill the kernel's entropy pool at boot,
    setup a default quality for the hwrng found in Cr50.
    
    After some testing with rngtest and dieharder it was, in short,
    discovered that the RNG produces fair quality randomness, giving
    around 99.93% successes in rngtest FIPS140-2.
    
    Notably, though, when testing with dieharder it was noticed that
    we get 3 WEAK results over 114, which isn't optimal, and also
    the p-values distribution wasn't uniform in all the cases, so a
    conservative quality value was chosen by applying an arbitrary
    penalty to the calculated values.
    
    For reference, this is how the values were calculated:
    
    The dieharder results were averaged, then normalized (0-1000)
    and re-averaged with the rngtest result (where the result was
    given a score of 99.93% of 1000, so 999.3), then aggregated
    together and averaged again.
    An arbitrary penalty of -100 was applied due to the retrieved
    value, which brings us finally to 700.
    Signed-off-by: default avatarAngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
    Reviewed-by: default avatarJarkko Sakkinen <jarkko@kernel.org>
    Signed-off-by: default avatarJarkko Sakkinen <jarkko@kernel.org>
    d2704808
tpm_tis_spi_cr50.c 9.34 KB