Không có phương pháp duy nhất để xác định loại PRNG. Thật vậy, đối với PRNG cường độ mã hóa, bạn không thể phân biệt đầu ra của nó với thực sự ngẫu nhiên, vì vậy bạn không thể xác định loại PRNG đó chỉ bằng cách nhìn vào đầu ra của chúng.
Thay vào đó, đối với mỗi chương trình mà bạn liệt kê, có là một cách để khôi phục lại giống và dự đoán tương lai bit từ đầu ra của nó. Cách để làm điều đó là khác nhau đối với từng loại PRNG. Vì vậy, cách tiếp cận tự nhiên là: đối với từng loại ứng cử viên, hãy thử phương pháp khôi phục hạt giống hoạt động cho loại PRNG đó và xem bạn có thành công không. Nếu là bạn, bạn đã tìm ra loại PRNG.
Tôi không nghĩ rằng có một kỹ thuật hiệu quả hơn hoặc chung hơn. Và thành thật mà nói, tôi không nghĩ rằng cần một cái hiệu quả hơn. Đối với các loại bạn liệt kê, có các thuật toán rất hiệu quả để mã hóa chúng, cho đầu ra đủ. Vì vậy, tôi nghi ngờ rằng sẽ rất khó để vượt qua phương pháp "thử tất cả các kế hoạch".
Điều này hoạt động nếu tập hợp các loại PRNG của bạn chỉ chứa các PRNG yếu về mặt mật mã, tức là có thể dự đoán các đầu ra trong tương lai được cung cấp đủ các đầu ra trong quá khứ.
Để biết chi tiết về cách thực hiện việc này đối với bất kỳ loại PRNG cụ thể nào, tôi khuyên bạn nên hỏi một câu hỏi riêng tập trung vào một loại PRNG đó. Dưới đây là một số tài nguyên về một số loại PRNG mà bạn đã liệt kê: