160-bit Zufallszahl



  • Hallo zusammen,

    wie könnte ich denn am besten ein 20 byte langes char*-Array mit zufälligen Werten füllen (um eine 160-bit Zufallszahl zu erhalten)? Ich denke da spontan an eine Schleife, die Stelle für Stelle eine Zufallszahl zwischen 0 und 255 erzeugt und in das Array schreibt. Aber vielleicht gibt es da ja wieder irgendwelche netten C++-Tricks (Stichwort: memcpy), die mir als blutiger Anfänger nicht in den Sinn kommen würden, die aber effizienter sind.

    Vielen Dank schon mal im Voraus...



  • Das mit der Schleife klingt schon okay und vernünftig.

    Nur Frage ich mich, wofür du eine 160-bit Zufallszahl brauchst? Für Verscblüsselungszwecke? Falls ja, wäre das ziemlich sinnlos. Denn ich möchte doch mal extrem anzweifeln, dass die Funktion rand() eine Zufallszahl mit einer Entropie von 160-bit liefern kann. Ganz wild ins blaue geschossen würde ich mal auf 20-bit tippen. Damit wäre die 160-bit Verschlüsselung gerade mal so sicher wie eine 20-bit Verschlüsselung, weil der verwendete Schlüssel schwach ist.



  • Nur Frage ich mich, wofür du eine 160-bit Zufallszahl brauchst?

    Ich verwende 160-bit Zahlen als Schlüssel für ein Overlay-Netzwerk. Mein Anliegen ist nun, eben solche Schlüssel zufällig zu generieren, um mit einer Testanwendung das Routing im Overlay simulieren zu können. Sicherheit ist in diesem Fall keine Anforderung, sondern Effizienz.

    Das mit der Schleife klingt schon okay und vernünftig.

    In diesem Fall werde ich es so machen. Trotzdem vielen Dank für die Anmerkungen...


Anmelden zum Antworten