Jason A. Donenfeld, WireGuard VPN autor, on pakkunud välja uuendatud RDRAND pseudorajandi generaatori rakenduse, mis vastutab seadmete /dev/random ja /dev/urandom töö eest Linuxi tuumikus. Novembri lõpus määrati Jason random draiveri hooldajate hulka ja nüüd on ta avaldanud oma töö esimesed tulemused selle ümberkujundamiseks.
Uus rakendus on märkimisväärne üleminekuga BLAKE2s hajufunktsiooni kasutamisele SHA1 asemel entropia segamise operatsioonide jaoks. Muutus on parandanud vale- või juhuslike numbrite generaatori turvalisust, vabastades probleemsetest SHA1 algoritmidest ja välistades RNG initsialiseerimisvektori ümberkirjutamise. Kuna BLAKE2s algoritmi jõudlus ületab SHA1 oma, on selle rakendamisel ka positiivne mõju vale- või juhuslike numbrite generaatori jõudlusele (testimine Intel i7-11850H protsessoriga näitas kiirusete suurendamist 131%). Teine eelis entropia segamise üleminekut BLAKE2s-ile on kasutatavate algoritmide ühtlustamine - BLAKE2 on rakendatud ChaCha šifris, mis on juba kasutusel juhuslike järjestuste väljavõtmiseks.
Lisaks on tehtud parandusi krüptokindla pseudojuhuslike arvude generaatori CRNG suhtes, mida kasutatakse getrandom kutsumisel. Parandused vähendavad aeglase RDRAND generaatori kutse arvu entropia väljatõmbamisel, mis tõstab jõudlust 3,7 korda. Jason näitas, et RDRAND kutsumise mõte on vaid olukordades, kus CRNG ei ole veel täielikult initsialiseeritud, kuid kui CRNG initsialiseerimine on lõpetatud, ei mõjuta selle väärtus genereeritud järjestuse kvaliteeti ning RDRANDi kutsumisega saab sel juhul ka ilma hakkama.
Muutused on kavandatud lisamiseks 5.17 tuumaversi ja on juba üle vaadatud arendajate Ted Ts’o (random draiveri teine hooldaja), Greg Kroah-Hartmani (Linuxi stabiilse haru toe eest vastutav isik) ning Jean-Philippe Aumassoni (BLAKE2/3 algoritmide autor) poolt.
Allikas: opennet.ru
