tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
1
ZUGRIFFE
385
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Cromon Cromon ist offline Mitglied Brillant
    Registriert seit
    Apr 2008
    Beiträge
    819
    Hallo zusammen!

    Ich versuche momentan gerade eine korrekte Implementierung des Blowfishalgorithmus hinzubekommen. Dabei scheitere ich momentan gerade bei der Generierung des Schlüssels. Ich weiss nicht, ob dieser Schlüssel einfach irgendwas zufälliges sein kann, oder ob da etwas spezielles vom Format her nötig ist. Momentan verwende ich folgenden Code:
    Code csharp:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    
    namespace Cryptography
    {
        public class BlowfishKey
        {
            public BlowfishKey(int keyLen)
            {
                long salt = DateTime.Now.ToFileTime();
                byte[] saltBytes = BitConverter.GetBytes(salt);
                PasswordDeriveBytes pdb = new PasswordDeriveBytes("_BLOWFISH", saltBytes);
                Key = pdb.GetBytes(keyLen / 8);
            }
     
            public byte[] Key
            {
                get;
                private set;
            }
        }
    }

    Auf anderen Seiten habe ich aber jetzt gelesen, dass man da nicht einfach so wie oben einen Pseudozufallszahlen-Schlüssel verwenden kann sondern der einem gewissen Format genügen muss. Ist das korrekt? Oder geht der Schlüssel, den ich da generiere?

    Gruss
    Cromon
     

  2. #2
    Avatar von Bratkartoffel
    Bratkartoffel Bratkartoffel ist offline gebratene Kartoffel
    tutorials.de Premium-User
    Registriert seit
    Jun 2007
    Ort
    Passau (Niederbayern)
    Beiträge
    1.394
    Hallo,

    soweit ich das richtig aus den Sourcen von Bruce Schneier (Entwickler von Blowfish) sehen kann, ist es relativ egal was als Key verwendet wird. Auch in der Beschreibung des Algorithmus auf Wikipedia oder von Schneier sehe ich nichts besonderes.

    Quelle:
    http://www.schneier.com/blowfish-download.html (Source Code von Blowfish, diverese Programmiersprachen)

    Auszüge aus der README von der Referenz Implementierung:
    [...]
    To generate a password from a text string, I suggest using MD5 (or MD2) to produce a 16 byte message digest that can then be passed directly to BF_set_key().
    [...]
    [...]
    Blowfish is an interesting cipher in that it can be used with a variable length key. 'len' is the length of 'key' to be used as the key. A 'len' of 16 is recomended by me, but blowfish can use upto 72 bytes.
    [...]
    Gruß
    BK
     
    Über eine gute Bewertung freut sich jeder ;)
    Bitte erledigte Threads als "Erledigt" markieren.

    "Though a program be but three lines long, someday it will have to be maintained.''
    -- Geoffrey James, "The Tao of Programming"

Ähnliche Themen

  1. Antworten: 1
    Letzter Beitrag: 21.04.09, 20:46
  2. Blowfish problem
    Von iderise im Forum C/C++
    Antworten: 0
    Letzter Beitrag: 16.10.07, 14:46
  3. Blowfish Frage
    Von Sotares im Forum C/C++
    Antworten: 1
    Letzter Beitrag: 02.02.06, 14:01
  4. Blowfish File Encryption
    Von Mik3e im Forum PHP
    Antworten: 0
    Letzter Beitrag: 29.11.05, 00:23
  5. Antworten: 4
    Letzter Beitrag: 28.09.03, 13:48