Создан более быстрый и надежный вариант генератора псевдослучайных чисел

Изображение: (cc) geralt
Кибербезопасность
Кибербезопасность

Новую реализацию генератора псевдослучайных чисел для операционной системы (ОС) Linux реализовал автор VPN (технология виртуальной частной сети) WireGuard Джейсон Доненфилд. Правки к ядру Linux опубликованы 23 декабря в списке рассылки ОС.

Доненфилд присоединился к разработке драйвера генератора псевдослучайных чисел /dev/urandom в ноябре 2021 года и уже через месяц выдал результат. Он изменил хэш-функцию, используемую в механизме смешивания энтропии с SHA1 на BLAKE2s.

Это одновременно увеличило производительность и избавило механизм от уязвимостей, которые выявлены в связи с использованием SHA1. Производительность обновленной версии генератора псевдослучайных чисел выросла на 131% на тестовом стенде с процессором Intel i7-11850H.

В конце 2019 года исследователями из Франции и Сингапура был выявлен механизм атаки на алгоритм SHA1. Атака подразумевает создание такой пары ключей, что хэш-функция для них идентична. Подбор коллизий очень затратен по вычислительному времени, но уже возможен в случае доступа к соответствующим мощностям.

Дополнительно разработчик внес коррективы в криптографически надежный генератор CRNG. Его производительность удалось увеличить в 3,7 раза.

Предложенные Доненфилдом доработки прошли рецензирования другим ответственным разработчиком драйвера random, автором алгоритмов BLAKE2 и BLAKE3, а также ответственным за поддержку стабильной ветки ядра Linux. Доработки планируется включить в ядро Linux 5.17.