Ich arbeite an dem STM32L152xx, der ein Peripheriegerät für die AES128 (CBC) -Verschlüsselung hat. Um jedoch eine zufällige IV zu initialisieren, suche ich nach einem guten Schema, um eine kryptografisch sichere Zufallszahlenfolge zu erzeugen. Ich benutze einen einfachen LCRG (linear congruential generator) als Platzhalter für jetzt, aber das ist schwach.Kryptographischer Pseudozufallszahlengenerator im eingebetteten System?
Ich bin neu bei der Implementierung von Verschlüsselung auf einer eingebetteten Plattform, also frage ich mich, was ist die übliche Praxis da draußen, um kryptographische PRNG zu erzeugen? Oder was ist eine gute Strategie für die Wahl des Schlüssels und der IV?
Die meisten Antworten zu StackOverflow für kryptografisches PRNG beziehen sich auf die Bibliothek von Drittanbietern, die auf dieser Plattform nicht verfügbar ist. Wenn es sich jedoch lohnt, kann ich versuchen, es zu portieren. Links und Hinweise zu Ressourcen wären auch hilfreich!
Ich habe Zugriff auf die Systemuhr und Beschleunigungsmesser an Bord. Ich betreibe FreeRTOS. Vielen Dank!
Laufen Sie unter Windows, Linux oder einem benutzerdefinierten geschriebenen Betriebssystem? Wenn es benutzerdefiniert ist, wer hat es geschrieben, und haben sie irgendwelche APIs, um kryptografische Variablen zu bekommen? – SecurityMatt
Ich würde eine bereits vorhandene Bibliothek empfehlen, aber wenn Sie unbedingt Ihre eigenen rollen müssen, FIPS 186-2 Change Notice 1 (Abschnitt: ** Überarbeiteter Algorithmus für Computing m Werte von x ** und ** Allgemeine Zufallszahlenerzeugung **) ist einfach zu implementieren. Sie müssen es immer noch mit einem PRNG mit guter Entropie einsetzen, und Sie benötigen eine Bignum-Bibliothek und SHA-Implementierung. – indiv
Danke. Ich betreibe FreeRTOS. – tll