Was Entropie-Quellen sind verfügbar auf Windows?
Ich gerne produzieren möchte, einen zufälligen kryptografischen Schlüssel auf Windows. Wo erhalte ich die Entropie?
Ich würde gerne meine Entropie-Funktion zu arbeiten, ohne eine Netzwerkverbindung und zuverlässig auf Windows 2000 und aufwärts. Sogar Quellen, die können oder können nicht bieten eine kleine Menge der Entropie kann nützlich sein, als alle Quellen zusammengefasst werden.
Dies ist meine erste Liste der Funktionen:
GetCurrentProcessID,
GetCurrentThreadID,
GetTickCount,
GetLocalTime,
QueryPerformanceCounter,
GlobalMemoryStatus,
GetDiskFreeSpace,
GetComputerName,
GetUserName,
GetCursorPos,
GetMessageTime,
GetSystemInfo,
CryptGenRandom,
GetProcessHandleCount,
GetProcessMemoryInfo.
- Warum nennst du CryptGenRandom, wenn es, nicht wahr, das tut, was Sie wollen?
- Ich war nicht sicher, es funktioniert gut auf allen Rechnern und Windows-Versionen. Sie sagen, ich sollte auf jeden Fall verwenden Sie einfach diese Funktion? Sollte ich stellen Sie es mit der Entropie, wie es schlägt?
- Funktioniert mit allen Versionen von Windows. Überprüfen Sie die Dokumentation Sie eine Verbindung zu sich selbst. Die minimale unterstützte version ist Windows 2000, genau der angegebenen Anforderung.
- und @Cody: ich habe gerade gelesen das Wikipedia-Seite über die CryptGenRandom, die sagt, es tut nicht sehr gut funktionieren, in Bezug auf seine Sicherheit, auf Windows 2000. Ich werde es als die primäre, aber nicht die einzige, Quelle der Zufälligkeit nach meinem Schlüssel.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Obwohl frühen Versionen der CryptGenRandom Funktion enthalten möglicherweise Schwächen späteren Versionen Folgen secure-standards (siehe Anmerkungen auf der CrypGenRandom Seite.)
Es ist schwach,verwenden Sie einfach Ihre Samen. Es ist eine Antwort, die unter Was ist die sicherste seed für random number generation? der erklärt, dass die unberechenbar random seed kann auch nur 128 bits zu erzeugen, einen sicheren PRNG. Deshalb ist es wohl unnötig zu finden mehr Quellen als die angegebenen in Frage, und in der Regel die Funktion CryptGenRandom wird, bereits enthalten und erzeugen genügend Entropie für sich selbst, dass der Anrufer nicht brauchen, zu tun hat.
CryptGenRandom und die Funktion CryptAcquireContext muss preceed kann es sein Aufruf aus Delphi wie diese.
Wenn Ihr eine option, die Sie können Fragen Sie den Benutzer, sich zu bewegen Mauszeiger für eine Weile.
Einzige externe Quelle, die die meisten Maschinen haben, ist Mic-In/Line-In, call waveInOpen+waveInPrepareHeader+waveInAddBuffer+waveInStart. Wie zufällig das ist, hängt wahrscheinlich von der hardware...