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.