Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Пусть генератор основывается на выводе бит какого-то представления числа Пи, начиная с какой то неизвестной точки. Такой генератор, возможно и пройдет «тест на следующий бит», так как ПИ, видимо, является случайной последовательностью (это было бы гарантированно, если доказать что Пи является нормальным числом). Однако этот подход не является критографически надежным — если криптоаналитик определит, какой бит числа Пи используется в данный момент, он сможет вычислить и все предшествующие биты.
если криптоаналитик определит, какой бит числа Пи используется в данный момент, он сможет вычислить и все предшествующие биты.
если часть полученной последовательности скомпрометирована, (т.е. стал известен порядковый номер цифры числа)
Берём 76352843-ю цифру числа Пи. С одной стороны она абсолютно случайная. С другой стороны, не более случайная чем 76352843.
Вам достаточно было бы получить одно случайное число-ключ с медленного физического генератора, а не забирать с него всю последовательность, например.
В том же RC4 когда ваш браузер безопасно соединяется вас же не смущает, что генерируется очень большая гамма из маленького начального ключа? Допустим, всего 128 бит?
Тут довольно тонкий момент есть: 76352843 можно уместить и в 32-битное число, и в 128-битное и в 512-битное.
Величайшей ошибкой в моей жизни было то, что я позволил Боруэйну и Бэйли называться соавторами формулы, когда они не открыли ничего вообще.
(ориг. This is where I made the biggest mistake in my life: To accept the collaboration of Peter Borwein and David H. Bailey as co-founders of that algorithm and formula when they have found nothing at all)
И, похоже, вы только что прочитали первую русскоязычную статью об этом алгоритме в рунете — других я найти не смог.
We outline a method for computing the n'th decimal (or any other base) digit of Pi in
C*n^3*log(n)^3 time and with very little memory.
Согласно эмпирическим данным, дробная часть числа Пи представляет собой нормальную числовую последовательность (хотя доказать это достоверно ещё не удалось), а значит, последовательности цифр из него можно использовать в генерации паролей и просто случайных чисел, или в криптографических алгоритмах (например, в хэшировании). Способов применения можно найти великое множество — надо только включить фантазию.
Вычисление N-го знака числа Пи без вычисления предыдущих