Задать вопрос
@DVoropaev
Ставлю + к карме на хабре за ответы на вопросы

Почему генератор случайных чисел python не проходит NIST тесты?

#!/usr/bin/env python3
import random


while True:
        s = ""
        for i in range(0, 500):
                s = s + str(random.randint(0, 1))
        print(s)
        input()


5cef4f6edd24d742449545.png

Значит ли это, что его нельзя применять в криптографии?
  • Вопрос задан
  • 445 просмотров
Подписаться 1 Простой 1 комментарий
Пригласить эксперта
Ответы на вопрос 2
aRegius
@aRegius
Python Enthusiast
The random module computes random numbers using the Mersenne Twister algorithm... Functions in random() should not be used in programs related to cryptography. If you need such functionality, consider using functions in the ssl module instead. For example, ssl.RAND_bytes() can be used to generate a cryptographically secure sequence of random bytes.

David Beazley
Ответ написан
Комментировать
thelongrunsmoke
@thelongrunsmoke
Программист
Встроенный рандом никогда тесты NIST не проходит. Для нужд криптографии нужны другие источники энтропии, например, модуль secrets.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
Greenway Global Новосибирск
от 150 000 ₽
SPA2099 Москва
До 100 000 ₽
HR Prime Москва
от 300 000 до 3 800 000 ₽