GHI CHÚ: Câu hỏi này dựa trên giả định của tôi rằng $X$ là một "số thực sự ngẫu nhiên" khi và chỉ khi độ dài của nó được đo bằng bit bằng với entropy của nó được đo bằng bit.Nói cách khác, khi mỗi bit của $X$ đã được tạo ra bằng cách tung đồng xu ngẫu nhiên.
Giả sử tôi có một số thực sự ngẫu nhiên $R$ có kích thước 256 bit (256 bit entropy) và một số thực sự ngẫu nhiên $S$ chiều dài $n * 256$, ở đâu $n$ là một số tự nhiên nên nó có $n * 256$ bit của entropy.
Bây giờ tôi lấy được bốn chìa khóa $T_1$ đến $T_4$ từ $R$
- $T_1 = \text{concat}(R, \text{... n lần ...}, R)$
- Tính toán $t_1 = \text{sha256}(R)$, $t_2 = \text{sha256}(t_1)$, ..., $t_n = \text{sha256}(t_{n-1})$, và làm $T_2=\text{concat}(t_1, ..., t_n)$.
- $T_3$ được tính giống như trên, nhưng sử dụng HMAC thay vì sha256.
- $T_4 = \text{hkdf_expand}(R, \text{null}, n * 256/8)$.
Cuối cùng, tôi tính toán $K_i = T_i\text{ xor }S$.
Có bao nhiêu bit entropy $K_1$, $K_2$, $K_3$ và $K_4$ có?
Dự đoán hạnh phúc của tôi:
- $T1$ sẽ có nhiều entropy nhất $R$, vì phép nối bằng cách lặp lại không làm tăng entropy của đầu ra, nhưng tôi nghi ngờ rằng nó cũng sẽ không làm giảm nó.
- $\text{sha256}$ và $\text{HMAC}$ được cho là bảo toàn các bit entropy của đầu vào, nhưng vì quá trình xây dựng $T_2$ và $T_3$ được tính toán một cách xác định từ $R$, entropi của $T_2$ và $T_3$ sẽ gần tương đương với $T1$.
- Không có ý tưởng về $T_4$. Tôi đoán những lợi ích của $\text{hkdf_expand}$ kích hoạt khi đầu vào của nó không phải là một số thực sự ngẫu nhiên.
về mỗi $K_i$, Tôi không chắc. Gần đây tôi đã biết rằng XORting hai số thực sự ngẫu nhiên sẽ cho một số thực sự ngẫu nhiên, do đó, các bit của entropy của đầu ra vẫn là độ dài của nó, nhưng vì $T_i$s không còn là những con số ngẫu nhiên nữa, tôi không biết điều gì sẽ xảy ra ở đây.
Trực giác của tôi nói với tôi rằng entropy của $S$ sẽ được giữ nguyên ($n * 128$ bit), bởi vì $K_i$ tương đương với mã hóa $T_i$ sử dụng $S$ như một phím pad một lần, làm cho $T_i$ hoặc $S$ về mặt lý thuyết không thể phá vỡ, vì vậy $K_i$ vẫn là một số thực sự ngẫu nhiên.