Ответ 1
Мне было любопытно, поэтому я пошел дальше и написал программу , чтобы проверить это. Для компиляции кода вам понадобится Crypto ++.
Отказ от ответственности: Когда дело доходит до криптографии или даже просто математики вообще, я знаю достаточно, чтобы стрелять себе в ногу. Итак, сделайте следующие результаты с зерном соли и имейте в виду, что у меня есть только поверхностное знание инструментов, которые я использую.
Я выбрал только три подстроки: первые 8 байтов, средние 8 байтов и последние 8 байтов. Короче говоря, они одинаково случайны.
Однако при использовании меньшего пространства выборки кажется, что последние 8 бит немного более случайны. Чем больше пространство для выборки, тем ближе все три подстроки подходят к полной случайности.
1000 итераций:
First: 0.995914
Middle: 0.996546
Last: 0.998104
5000 итераций:
First: 0.998387
Middle: 0.998624
Last: 0.999501
10000 итераций:
First: 0.999614
Middle: 0.999457
Last: 1
30000 итераций:
First: 1
Middle: 1
Last: 1
"Случайность" измеряется классом Crypto ++ MaurerRandomnessTest. Для справки, исполняемый файл, скомпилированный из приведенного выше кода, имеет значение случайности 0.632411
, а копия Шекспира Макбет, загруженная из Project Gutenburg, имеет значение случайности 0.566991
.