On Thu, 1 Apr 2021 at 15:54, Chris von Recklinghausen <crecklin@xxxxxxxxxx> wrote: > > On 4/1/21 9:38 AM, Rafael J. Wysocki wrote: > > On Thu, Apr 1, 2021 at 10:47 AM Ard Biesheuvel <ardb@xxxxxxxxxx> wrote: > >> On Tue, 30 Mar 2021 at 21:56, Simo Sorce <simo@xxxxxxxxxx> wrote: > >>> On Tue, 2021-03-30 at 21:45 +0200, Ard Biesheuvel wrote: > >>>> On Tue, 30 Mar 2021 at 20:05, Simo Sorce <simo@xxxxxxxxxx> wrote: > >>>>> On Tue, 2021-03-30 at 16:46 +0200, Rafael J. Wysocki wrote: > >>>>>> On Tue, Mar 30, 2021 at 12:14 AM Dexuan Cui <decui@xxxxxxxxxxxxx> wrote: > >>>>>>> Hi, > >>>>>>> MD5 was marked incompliant with FIPS in 2009: > >>>>>>> a3bef3a31a19 ("crypto: testmgr - Skip algs not flagged fips_allowed in fips mode") > >>>>>>> a1915d51e8e7 ("crypto: testmgr - Mark algs allowed in fips mode") > >>>>>>> > >>>>>>> But hibernation_e820_save() is still using MD5, and fails in FIPS mode > >>>>>>> due to the 2018 patch: > >>>>>>> 749fa17093ff ("PM / hibernate: Check the success of generating md5 digest before hibernation") > >>>>>>> > >>>>>>> As a result, hibernation doesn't work when FIPS is on. > >>>>>>> > >>>>>>> Do you think if hibernation_e820_save() should be changed to use a > >>>>>>> FIPS-compliant algorithm like SHA-1? > >>>>>> I would say yes, it should. > >>>>>> > >>>>>>> PS, currently it looks like FIPS mode is broken in the mainline: > >>>>>>> https://www.mail-archive.com/linux-crypto@xxxxxxxxxxxxxxx/msg49414.html > >>>>> FYI, SHA-1 is not a good choice, it is only permitted in HMAC > >>>>> constructions and only for specified uses. If you need to change > >>>>> algorithm you should go straight to SHA-2 or SHA-3 based hashes. > >>>>> > >>>> What is the reason for using a [broken] cryptographic hash here? if > >>>> this is just an integrity check, better use CRC32 > > Not really. > > > > CRC32 is not really sufficient for integrity checking here AFAICS. It > > might be made a fallback option if MD5 is not available, but making it > > the default would be somewhat over the top IMO. > > > Would ghash be a better choice? It produces the same size digest as md5. > No, ghash is a MAC not a hash. It should only ever be used with GCM and nowhere else. > Does anyone have any other suggestions of algorithms to try? > Just use crc32