Рейтинг:2

Сколько случайности, чтобы разумно «отмыть» скомпрометированный TRNG?

флаг id

Предположим, у меня есть физический модуль ГСЧ, который генерирует $n$-битные случайные числа, которые проходят тесты на случайность, такие как пакет Dieharder.Поскольку это устройство типа «черный ящик» с неизвестным источником случайности, давайте также предположим, что оно потенциально было частично скомпрометировано: злоумышленник, знающий работу модуля ГСЧ, учитывая одно предыдущее состояние, может правильно угадать следующее состояние в $2^{нм}$ шаги для $1 \leq m \leq n$.

Давайте также предположим, что у меня есть доступ к другому, проверенно бескомпромиссному, но в остальном низкокачественному источнику энтропии, дающему $х-р$ бит энтропии на $х$ биты вывода для $0 < р < х $. Предположим также, что этот источник энтропии значительно медленнее, чем вышеупомянутый модуль ГСЧ.

  1. Чтобы «отмыть» первый источник ГСЧ так, чтобы он выдавал действительно непредсказуемые числа, сколько работы мне придется проделать?
    • Для отмены эффектов $м$ по выходному числу, сколько бит энтропии мне нужно будет выделить и предоставить из источника энтропии?
    • Какие операции мне нужно будет выполнить, чтобы не получить скомпрометированный номер? Будет ли конкатенация + хеширование с криптографически безопасной хеш-функцией «делать свое дело»?
    • И наоборот, каких операций мне следует избегать, если я хочу, чтобы фальсификация была «отмыта»?
    • Сколько усечений мне придется делать?
  2. При условии, что $м$ достаточно велик/близок к $n$, не лучше ли просто извлечь случайные биты из второго источника и объединить их в одно число, минуя использование потенциально скомпрометированного модуля?

Мои предположения:

  1. мне придется использовать $м$ биты бескомпромиссного случайного вывода, объединить его с первым выводом и хешировать его. Я думаю, что усечение конкатенированного вывода или входного числа не слишком поможет, если я точно не знаю, какие биты скомпрометированы, или если я не знаю вероятности того, какой бит скомпрометирован. Я должен избегать XOR входных данных перед применением хэша.

  2. Я предполагаю, что «отмывание» разумно до $м = п/2$, за пределами которого я, вероятно, должен просто извлечь случайность из второго источника и объединить случайные биты в $n$-битное число, полностью минуя потенциально скомпрометированный модуль.

Рейтинг:1
флаг cn

Дамп TRNG1. И RC4, и Marsienne Twister обгоняют Дихардера.

Это криптография, и, как и беременность, нет понятия «немного» скомпрометированного. Если он скомпрометирован, вы можете предсказать следующий вывод, возможно, всего за несколько шагов, если он засеян из и т. д. время (общее), неважно $2^{да, да, да}.$ Вычислительная неразличимость означает, что если вы не построили ГСЧ самостоятельно, вы никогда не узнаете, что он на самом деле делает. Поэтому избавьтесь от него. (Или притворяйтесь, что используете его, но это становится немного серьезно).

Вы не объединяете биты из TRNG2. Вы измеряете энтропию как $1 - \эпсилон$ бит/бит (потенциальная банка черви). $\эпсилон$ показатель «бедности»; отклонение от идеальной случайности. А затем извлечь из TRNG2 с помощью стандартных методов, таких как матрицы Теплица, стандартное хеширование (Pearson, CRC16, SHAx), универсальные хеш-функции или, если повезет, просто фон Неймана. Скорость будет зависеть от $\эпсилон$.

mezenkur avatar
флаг id
Вы правы, может быть, я был слишком оптимистичен и позволил своему мозгу зайти слишком далеко, опередив практические вопросы. Спасибо за понимание.

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

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