Ranayna
Admiral
- Registriert
- Mai 2019
- Beiträge
- 7.793
Wir verlassen dabei aber eindeutig das Thema "Programmieren" und fangen mit "Philosophie" oder "Religion" an.
Wenn du kein Vertrauen in die Arbeit vieler Mathematiker und Kryptographen hast, ist diese Diskussion aber zuende, denn du kann es immer auf die Spitze treiben.
Grundlegender Punkt beim Zufall, insbesondere beim Computergenerierten Zufall, ist, ob du ihn einfach vorhersehen kannst oder nicht. Ersteres trifft auf die normalen Pseudozufallsgeneratoren in Programmiersprachen zu, und dazu gehoert auch random().
random(), wenn du nicht explizt einen Seed angibts, seeded mit der Systemzeit. Und das kann schon mit folgender einfacherer Schlussfolgerung ein Problem sein.
Ein guter Passwortmanager sollte wissen wann ein Passwort generiert wurde. Und sei es einfach nur um zu sagen das nach Zeit X ein Wechsel ansteht. Also ist das irgendwo gespeichert. Schlimmstenfalls dann unverschluesselt, weil ist ja nicht so wichtig. Und Zack hat ein potenzieller Angreifer einen starken Anhaltspunkt wo er anfangen kann dein mit random() erstelltes Passwort auszuhebeln.
Letztendlich ist alles was man mit random() macht so sicher wie der Seed den man verwendet. Und das alleine ist schon limitiert durch den Faktor, das der Seed maximal ein Int32 sein kann. Das sind nur etwas mehr als 2 Millionen moegliche Passwoerter die du so erstellen kannst.
Cryptographische Zufallsgeneratoren nutzen wesentlich mehr Input fuer den Seed. Sie bieten nichtmal eine Moeglichkeit einen Seed anzugeben. Dazu kann dann auch spezielle Hardware gehoeren, frueher wurden Benutzereingaben ueber eine bestimmte Zeit genommen, oder andere Dinge die letztendlich nicht unter direkter Kontrolle des Computers stehen.
Nun mag es irgendwann moeglich sein "Zufall" bis zum kleinsten subatomaren Partikel zu bestimmen. Oder da ist noch mehr. Keine Ahnung, hier wird es jetzt wie gesagt philosophisch
Wenn du kein Vertrauen in die Arbeit vieler Mathematiker und Kryptographen hast, ist diese Diskussion aber zuende, denn du kann es immer auf die Spitze treiben.
Grundlegender Punkt beim Zufall, insbesondere beim Computergenerierten Zufall, ist, ob du ihn einfach vorhersehen kannst oder nicht. Ersteres trifft auf die normalen Pseudozufallsgeneratoren in Programmiersprachen zu, und dazu gehoert auch random().
random(), wenn du nicht explizt einen Seed angibts, seeded mit der Systemzeit. Und das kann schon mit folgender einfacherer Schlussfolgerung ein Problem sein.
Ein guter Passwortmanager sollte wissen wann ein Passwort generiert wurde. Und sei es einfach nur um zu sagen das nach Zeit X ein Wechsel ansteht. Also ist das irgendwo gespeichert. Schlimmstenfalls dann unverschluesselt, weil ist ja nicht so wichtig. Und Zack hat ein potenzieller Angreifer einen starken Anhaltspunkt wo er anfangen kann dein mit random() erstelltes Passwort auszuhebeln.
Letztendlich ist alles was man mit random() macht so sicher wie der Seed den man verwendet. Und das alleine ist schon limitiert durch den Faktor, das der Seed maximal ein Int32 sein kann. Das sind nur etwas mehr als 2 Millionen moegliche Passwoerter die du so erstellen kannst.
Cryptographische Zufallsgeneratoren nutzen wesentlich mehr Input fuer den Seed. Sie bieten nichtmal eine Moeglichkeit einen Seed anzugeben. Dazu kann dann auch spezielle Hardware gehoeren, frueher wurden Benutzereingaben ueber eine bestimmte Zeit genommen, oder andere Dinge die letztendlich nicht unter direkter Kontrolle des Computers stehen.
Nun mag es irgendwann moeglich sein "Zufall" bis zum kleinsten subatomaren Partikel zu bestimmen. Oder da ist noch mehr. Keine Ahnung, hier wird es jetzt wie gesagt philosophisch