ПРИМЕЧАНИЕ: Этот вопрос основан на моем предположении, что $Х$ является «истинно случайным числом» тогда и только тогда, когда его длина, измеренная в битах, равна его энтропии, измеренной в битах.Другими словами, когда каждый бит $Х$ был сгенерирован случайным броском монеты.
Предположим, у меня действительно случайное число $R$ размером 256 бит (256 бит энтропии) и действительно случайное число $S$ длины $n * 256$, куда $n$ некоторое натуральное число, поэтому оно имеет $n * 256$ биты энтропии.
теперь я вывожу четыре ключа $T_1$ к $T_4$ от $R$
- $T_1 = \text{concat}(R, \text{... n раз ...}, R)$
- Рассчитать $t_1 = \text{sha256}(R)$, $t_2 = \text{sha256}(t_1)$, ..., $t_n = \text{sha256}(t_{n-1})$, и делать $T_2=\text{concat}(t_1, ..., t_n)$.
- $T_3$ рассчитывается так же, как и выше, но с использованием HMAC вместо sha256.
- $T_4 = \text{hkdf_expand}(R, \text{null}, n * 256/8)$.
Наконец, я вычисляю $K_i = T_i\text{ xor}S$.
Сколько бит энтропии $K_1$, $K_2$, $K_3$ и $K_4$ имеют?
Мои счастливые догадки:
- $T1$ будет иметь столько энтропии, сколько $R$, поскольку конкатенация путем повторения не увеличивает энтропию вывода, но я подозреваю, что и не уменьшает ее.
- $\text{sha256}$ и $\текст{HMAC}$ считаются сохраняющими биты энтропии входных данных, но поскольку процесс построения $T_2$ и $T_3$ детерминистически рассчитывается из $R$, энтропия $T_2$ и $T_3$ будет примерно равнозначно $T1$.
- понятия не имею о $T_4$. Я думаю, преимущества $\text{hkdf_expand}$ срабатывает, когда его ввод не является действительно случайным числом.
О каждом $K_i$, Я не уверен. Недавно я узнал, что XOR двух действительно случайных чисел дает действительно случайное число, поэтому биты энтропии вывода по-прежнему являются его длиной, но поскольку $T_i$s больше не являются случайными числами, я не знаю, что здесь произойдет.
Моя интуиция подсказывает мне, что энтропия $S$ сохранится($n * 128$ биты), потому что $K_i$ эквивалентно шифрованию $T_i$ с использованием $S$ как ключ одноразового блокнота, делая $T_i$ или же $S$ теоретически нерушимый, так что $K_i$ по-прежнему является действительно случайным числом.