random_device
-
cooky451 schrieb:
Muss ich eventuell noch entropy() überprüfen?
Kannste machen. Die Entropie ist aber sowieso fast immer maximal.
-
cooky451 schrieb:
Sone schrieb:
Aber kommt das nicht mitunter auf den Anspruch an? Ist das jetzt ein Hobbyprojekt oder arbeitest du für eine Sicherheitsfirma?
Ich arbeite für die NSA und bin beautragt die Software zu schreiben, mit der Dinge verschlüsselt werden bei denen das typische AES-256 mit 14 runden nicht mehr ausreicht. Meinste random_device ist sicher genug für diesen Anspruch?
Wenn AES schon nicht ausreicht, frag ich mich, wieso sie einen 18-Jährigen Hobby-Progger genommen haben?

Aber wenn du schon so fragst: Nein, denn AES ist die beste bekannte Kryptoanalyse...
-
Aber ist es wirklich eine gute Idee, bei sicherheitsrelevanten Anwendungen auf Sone zu hören? Er redet ja des öfteren bei Themen mit, über die er nicht so genau informiert ist.
-
Das ist nett ausgedrückt. Ich würde mal sagen, der Thread hier reicht bereits für ne Namensänderung.
-
Sone schrieb:
Nein, denn AES ist die beste bekannte Kryptoanalyse...
http://i0.kym-cdn.com/photos/images/original/000/101/781/Y0UJC.png
-
@cooky451: Wenn du dir so sicher sein musst, dann hilft dir ein Standard-Dokument welches diese Sicherheit fordert auch nichts wenn die Compiler-Hersteller mit der Implementierung schlampig sind.
Dementsprechend würde ich mir bei erhöhten Sicherheitsanforderungen auf jeden Fall die jeweilige Implementierung eures Compilers ansehen.
Hier bspw. Infos zur aktuellen MSVC-Implementierung von random_device:
http://stackoverflow.com/questions/9549357/the-implementation-of-random-device-in-vs2010MfG SideWinder
-
Okay, Danke. Netter Link.

Also sehe ich das richtig: Wenn es tatsächlich hardwaregeneriert ist, habe ich nichts übersehen, und das ist sicher. Aber ich sollte mich halt lieber nicht darauf verlassen? Was würde man denn sonst nehmen? Plattformunabhängig stelle ich mir das nicht so leicht vor.
-
Ja, du solltest dich nicht darauf verlassen, da es bspw. bei MSVC - trotz entropy()=32.0 - nicht der Fall zu sein scheint. Falls der Artikel noch aktuell ist.
Unter Windows scheint http://msdn.microsoft.com/en-us/library/windows/desktop/aa379942(v=vs.85).aspx ganz brauchbar zu sein.
Portabel? Hmm...
Je nach Wichtigkeit evtl. auch ein Gerät der folgenden Klasse:
http://en.wikipedia.org/wiki/Comparison_of_hardware_random_number_generatorsMein Credo dazu ist aber jedenfalls: Wenn ich in einem Forum nachfragen muss bin ich nicht geeignet in diesem Umfeld Software zu schreiben.
MfG SideWinder
-
Falls du unter einem Unix-basiertem Betriebssystem arbeitest und keine Ansprüche auf Portabilität hast sieh dir mal die Befehle /dev/urandom und /dev/random an. /dev/random ist für "echte" Zufallszahlen, für nicht ganz so hohe Ansprüche reicht auch /dev/urandom. /dev/random hat allerdings nur ein beschränktes Pool und ist auch weit langsamer
-
SideWinder schrieb:
Unter Windows scheint http://msdn.microsoft.com/en-us/library/windows/desktop/aa379942(v=vs.85).aspx ganz brauchbar zu sein.
Das ist doch quasi das, was random_device bei MSVC nutzt. Steht sogar in dem Artikel den du mir verlinkt hast.

SideWinder schrieb:
Je nach Wichtigkeit evtl. auch ein Gerät der folgenden Klasse:
Nein, es geht hier um keine konkrete Anwendung. Ich mache das nur so zum Spaß. (-> Suche nach einer Softwarelösung.)
SideWinder schrieb:
Mein Credo dazu ist aber jedenfalls: Wenn ich in einem Forum nachfragen muss bin ich nicht geeignet in diesem Umfeld Software zu schreiben.
Ich frage ja hier, um mein Wissen zu erweitern. Bis die NSA wirklich anfragt muss ich wohl noch etwas warten.

Es gibt ja durchaus geeignete Softwaregeneratoren. Aber der Seed sollte halt trotzdem möglichst zufällig sein, so wie ich das verstehe. Zeit alleine ist wahrscheinlich nicht ausreichend. Truecrypt hat ja eine (wie ich finde) elegante Methode: Man darf ein bisschen mit der Maus rumfuchteln. Nur ist das natürlich mehr als plattformabhängig. Deshalb frage ich ja hier, ob jemand schöne Ideen dafür hat. Besonders viele Umgebungsvariablen wie Microsoft das macht, kann man plattformunabhängig ja auch nicht abfragen.
Edit: Man könnte natürlich auch einen Server fragen, oder das eingeben lassen. Hm..