Zufallsbytes für TripleDES-Schlüssel C # generieren

8

Ich muss ein Byte-Array für die TripleDES-Verschlüsselung generieren. Ich möchte .generateKey() nicht verwenden, da ich die Bytes im Schlüssel kennen muss, um sie an eine andere Anwendung zu übergeben.

Danke für die Antworten, aber ich habe vergessen eines zu erwähnen: die Bytes müssen ungerade Parität sein. Ansonsten kann ich keinen TripleDES-Schlüssel von ihnen generieren. Ich bin nicht so vertraut mit der ungeraden Parität, also denke ich, muss eine Byte-Prüfung erstellen, ob es ungerade Parität hat oder nicht; dann wenn es in das Array geschrieben wird, sonst nicht.

    
hs2d 18.03.2011, 07:48
quelle

5 Antworten

4

Wenn Sie die ungerade Parität sicherstellen müssen, müssen Sie sie selbst berechnen. Dies sollte tun:

%Vor%     
Mormegil 18.03.2011, 08:36
quelle
3

Wie wäre es mit:

%Vor%

Beachten Sie, dass RandomNumberGenerator für die Kryptografie geeignet ist ( in Bezug auf einigermaßen sichere, schwer zu prognostizierende zufällige Daten), während System.Random nicht ist.

    
Jon Skeet 18.03.2011 07:51
quelle
2

Aber ... was ist das Problem mit nur:

%Vor%

Dort bekommen Sie Ihren Schlüssel von dem En- und Decryptor, der mit dieser Instanz erstellt wurde.

Beachten Sie, dass die anderen Antworten keine TripleDES.IsWeakKey enthalten.

    
ordag 16.11.2011 22:58
quelle
1

GetBytes Methode crypthographically starke Folge von Werten zurückgibt :

%Vor%     
nan 18.03.2011 07:53
quelle
-1

Was ist mit Random.NextBytes()

?

Weitere Informationen hier .

    
Gerrie Schenck 18.03.2011 07:51
quelle

Tags und Links