CryptGenRandom là một chức năng tạo số ngẫu nhiên trong CryptoAPI trong Windows. Entropy có bộ tạo số ngẫu nhiên như thế nào? Tôi đã nhìn rất nhiều, nhưng tôi không thể tìm thấy nó. Cảm ơn trước.CryptGenRandom Entropy
Trả lời
Thuật toán chính xác của Windows CryptGenRandom chưa bao giờ được xuất bản, do đó, một số chuyên gia bảo mật khuyên bạn không nên sử dụng nó.
Một số kỹ thuật đảo ngược và giải mã được thực hiện. Một nghiên cứu được công bố (Cryptanalysis of the Windows Random Number Generator - Leo Dorrendorf, 2007) đã kiểm tra Windows 2000 RNG và tìm thấy một số điểm yếu của trong thiết kế và triển khai.
Tài liệu cũng mô tả cơ chế thu thập entropy của thuật toán (phần 4.2.3). Các nguồn Entropy là:
Source Bytes requested
CircularHash 256
KSecDD 256
GetCurrentProcessID() 8
GetCurrentThreadID() 8
GetTickCount() 8
GetLocalTime() 16
QueryPerformanceCounter() 24
GlobalMemoryStatus() 16
GetDiskFreeSpace() 40
GetComputerName() 16
GetUserName() 257
GetCursorPos() 8
GetMessageTime() 16
NTQuerySystemInformation calls:
ProcessorTimes 48
Performance 312
Exception 16
Lookaside 32
ProcessorStatistics up to the remaining length (3584 bytes buffer)
ProcessesAndThreads up to the remaining length
Kể từ khi chúng ta đang nói về một pseudo-số-máy phát điện và không phải là một thực-number-máy phát điện, bạn có thể nói rằng không có entropy thực ở tất cả, hoặc chỉ tính các nguồn đó bạn có thể coi là "entropy" (giả entropy).
Tôi không thể tìm thấy thông tin liên quan đến các phiên bản mới hơn trên Windows.
entropy của Windows Vista/7/8 là gì? –
Liên kết nghiên cứu không tốt. Bạn có thể điều chỉnh không? – ahmd0
Liên kết là tốt ... –
Xem thêm [Giải mã máy phát điện số ngẫu nhiên của hệ điều hành Windows] (https://eprint.iacr.org/2007/419.pdf) của Leo Dorrendor. – jww