Điểm:1

Tạo các giá trị ngẫu nhiên duy nhất cho các giá trị đầu vào không cần thiết

lá cờ pk
VSB

tôi sẽ tạo ra duy nhất các giá trị ngẫu nhiên dựa trên một loạt các giá trị đầu vào duy nhất.

Nói cách khác, tôi có phạm vi giá trị đầu vào mà các số này là một phần của chuỗi (như phạm vi số sê-ri đang tăng dần từng cái một) và không có giá trị trùng lặp nào trong số chúng. Tôi muốn tạo các giá trị ngẫu nhiên dựa trên từng giá trị đầu vào mà không được có bất kỳ giá trị trùng lặp nào trong các giá trị đầu ra.

Điều đầu tiên tôi nghĩ đến là sử dụng các mật mã khối tiêu chuẩn như AES vì chúng thuốc tiêm và nếu đầu vào của hàm này không có giá trị trùng lặp thì đảm bảo rằng đầu ra của nó cũng không trùng lặp.

Vì vậy, mối quan tâm của tôi là phương pháp này để tạo các giá trị ngẫu nhiên (giả) có đủ an toàn không?

Ví dụ. nếu ai đó có 1000 giá trị đầu vào liên tiếp (bản rõ) và 1000 giá trị đầu ra (bản mã) cho mỗi giá trị đầu vào này, thì người đó có thể dự đoán giá trị ngẫu nhiên đầu ra cho 1001 khôngthứ tự giá trị đầu vào? Nói cách khác, liệu kẻ tấn công có thể mô hình hóa trình tạo giả ngẫu nhiên này về mặt toán học để tạo ra các giá trị ngẫu nhiên mới mà không cần sử dụng khóa bên trong mật mã khối AES không?

Tôi biết rằng có một số tiêu chuẩn cho "KDF", chẳng hạn như những tiêu chuẩn được định nghĩa trong NIST SP-800 tuy nhiên, tính duy nhất của các giá trị ngẫu nhiên không phải là mối quan tâm ở đó (nếu tôi không nhầm) nhưng đây là mối quan tâm trong ứng dụng mục tiêu của tôi.

Điểm:1
lá cờ cn

Tất nhiên là đủ an toàn. Hãy lùi lại và nghĩ về hậu quả nếu không: Bằng cách xem xét 1000 mã hóa, nếu sau đó bạn có thể dự đoán mã thứ 1001 mà không cần biết khóa, thì bạn đã phá vỡ AES.

Trên thực tế, cấu trúc của bạn là một phương pháp thường được công nhận để biến mật mã khối thành mật mã luồng như: -

prng

Trong khi có vấn đề về hiệu ứng Sinh nhật đối với không gian đầu ra đang đến gần $2^{64}$ bit, chỉ 1000 trong số chúng sẽ không thể phân biệt được với ngẫu nhiên. Và độc đáo.

fgrieu avatar
lá cờ ng
Đúng. Ở đoạn cuối cùng: bởi vì AES là một phép loại bỏ, nên việc lặp lại AES _không_ chịu ảnh hưởng của ngày sinh nhật, giống như việc lặp lại một hàm băm. Xác suất rơi vào một chu kỳ bắt đầu từ một điểm ngẫu nhiên sau $2^{64}$ lặp lại là khoảng $2^{-64}$.
Paul Uszak avatar
lá cờ cn
@fgrieu Ngược lại với hiệu ứng Sinh nhật? Thiếu hiệu ứng Sinh nhật? Vô sinh? Tôi đang tìm kiếm từ ngữ nên có xung đột trong một đầu ra ngẫu nhiên (giả) đúng. Lý do AES PRNG có thể phân biệt được...
fgrieu avatar
lá cờ ng
Mã hóa AES cho một khóa cố định là một hoán vị của một tập hợp các phần tử $k=2^{128}$. Có các hoán vị $k!$ của các phần tử $k$ như vậy. Đối với bất kỳ điểm bắt đầu cố định nào, đối với mọi $\ell$ trong $[1,k]$, chính xác $(k-1)!=k!/k$ trong số các hoán vị này có chu kỳ độ dài $\ell$ khi bắt đầu từ đã nói điểm. Do đó, đối với một hoán vị ngẫu nhiên và bắt đầu từ một điểm ngẫu nhiên, độ dài chu kỳ $\ell$ được phân phối đều trên $[1,k]$. Và độ dài chu kỳ dự kiến ​​(trung bình) là $(k+1)/2$. Điều đó hữu ích cho DES ở [chế độ OFB](https://en.wikipedia.org/wiki/Block_cipher_mode_of_operation#Output_feedback_(OFB)).

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.