Рейтинг:1

Может ли AES потерпеть неудачу с PractRand?

флаг tf
Tom

Меллиса О'Нил протестировала Xoroshiro128+ с 512 терабайтами (2 ^ 49 байт) данных. И, наконец, это не удалось. Подведет ли AES PractRand при наличии достаточного количества данных?

Когда мы можем ожидать, что AES выйдет из строя? Может быть, с $2^{64}$ данных?

the default. avatar
флаг id
Я не знаю, может ли PractRand обрабатывать такой объем данных, но я не ожидаю, что AES (при условии режима CTR) выйдет из строя около 2 ^ 64: единственная известная мне статистическая аномалия заключается в том, что не будет повторяющихся выходных данных, но обнаружение для этого потребуется 2 ^ 64 памяти (и более 2 ^ 64 данных для уверенности). Могут быть какие-то статистические аномалии, о которых никто не знает, но о них никто не знает, и маловероятно, что универсальный тест их обнаружит. Я не знаю, как xoroshiro128+ продержался так долго: его младший бит на выходе — это LFSR с периодом 128.
Maarten Bodewes avatar
флаг in
@по умолчанию. показал небольшую проблему с вашим вопросом: AES - это блочный шифр, и поэтому он ограничен 128-битным выходом для 128-битного ввода. Таким образом, указание режима работы действительно необходимо. CFB-8 или AES-CBC могут иметь несколько иные характеристики, чем AES-CTR. Для AES-CTR мы должны были бы предположить, например. допустим 128-битный счетчик. Как правило, мы ожидаем, что AES прослужит долгое время при правильном режиме, но эти тесты могут не сработать в разное время с разными начальными значениями.
Tom avatar
флаг tf
Tom
@по умолчанию. Я ошибался. Она протестировала Xoroshiro128+, отбросив все младшие 32 бита: https://www.pcg-random.org/posts/xoroshiro-fails-truncated.html.
Tom avatar
флаг tf
Tom
@MaartenBodewes Я думал о том, чтобы кормить AES только числами: 1,2,3, ... и так далее. Я забыл написать об этом.
Maarten Bodewes avatar
флаг in
Это будет *ключевой поток* AES в режиме счетчика, если предположить, что ключ не используется повторно для отдельных потоков.
Рейтинг:0
флаг cn

Конечно $AES_{K_1} \oplus AES_{K_2}$ пройдет, поскольку это псевдослучайная функция. Один $AES$ не должно быть. Но как доказать это эмпирически?

PractRand написан одним парнем (извините, Крис). Он не используется в основной литературе. TRNG в основном проверяются с использованием dieharder или NIST STS. Случайность хорошо изучена, но PractRand — нет.Поэтому вы не можете полагаться на какой-то произвольный код, чтобы опровергнуть многие исследования математики.

И эти люксы в любом случае не такие умные. RC4 проходит их все, а Twister проходит 95% из них, пока... И учитывая огромные недостатки твердолобого, но мы все равно его используем. Поэтому, Том, вопрос довольно спорный.

the default. avatar
флаг id
Второй абзац мне кажется совершенно абсурдным. PractRand не становится хуже в обнаружении неслучайного ввода, потому что он не используется в основной литературе. Что означает «PractRand не был изучен» и как из этого следует «вы не можете использовать его для опровержения многих математических исследований»? (и что мешает мне использовать какой-то произвольный код для опровержения хорошо изученной математики? AES, вероятно, не провалит ни один тест на случайность за разумное время, но если бы это произошло, это, очевидно, означало бы, что он не работает)
Tom avatar
флаг tf
Tom
@Paul Uszak Довольно много авторов используют PractRand для оценки случайности своих генераторов. Я думал, что это сейчас один из лучших, самых современных тестеров. Более того, они написали на http://pracrand.sourceforge.net, что Dieharder сильно устарел: «На данный момент довольно плохо, но некоторые части показывают потенциал, который может быть очень хорошим, если немного поработать. Интерфейс командной строки может быть очень удобным для написания сценариев. Я не смог собрать его на win32. Набор тестов по умолчанию особенно ужасен. Некоторые тесты имеют ложноположительные результаты».
Tom avatar
флаг tf
Tom
@Paul Uszak, откуда вы знаете, что исправление двух AES должно пройти, а одного AES - нет?
Paul Uszak avatar
флаг cn
@Tom См. https://crypto.stackexchange.com/q/75535/23115. Для создания правильного неразличимого PRF требуется два (плюс) из них, но люди обычно этого не делают.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.