Elderan: 128 Bit Schlüssel erzeugen

Beitrag lesen

Hallo,

Oder man macht halt sowas:
$passwort = substr(sha1($_GET['passwort']), 0, 16);

Ich kann aber nicht beurteilen, wie sicher/unsicher das ist.

das ist deutlich unsicherer, den der SHA1 Hash besteht aus Hexadezimal, also nur 32 Zeichen anstatt 256 Zeichen.

Dadurch hätte man nur einen Schlüsselraum von: 32^16 = 1,2*10^24
Möglich wäre aber: 3,4*10^38
Also ist der Schlüsselraum um ca. 10^14 mal kleiner.

Also man kann es so machen

C:
for(i=0;i<4;i++)
     {
     k[i] = (key[(i*4)%lng]<<24)+(key[(i*4+1)%lng]<<16)+(key[(i*4+2)%lng]<<8)+(key[(i*4+3)%lng]);
     }

Dabei enthält lng die Länge des PWs.
Wenn es z.B. 7 Zeichen hat, dann würde der 128 Bit Key wie folgt berechnet:
0123 4560 1234 5601

Dabei ist die Zahl (0,1,2,3...) jeweils der x Buchstabe im Key, angefangen beim 0. (ersten) Buchstaben.

Oder man schickt den Key durch den MD5 Algorithmus, als Ausgabe erhält man einen 128 Bit Hash (als Hexadezimal).
Man _muss_ diese Ausgabe als Hexadezimal, und _nicht_ als String betrachten.

Oder noch ne Möglichkeit in PHP:
$key = str2long(substr(str_pad($key, 16, md5($key)),0,16));
str2long(); wandelt den Key in Long Zahlen um.
str_pad(); füllt den $key auf 16 Zeichen auf (mit dem MD5 Hash).
substr(); würde einen zulangen Key auf 16 Zeichen kürzen.

Grüße
Elderan

0 47

128 Bit Schlüssel erzeugen

sp7
  • programmiertechnik
  1. 0
    Elderan
    1. 0
      Sven Rautenberg
      1. 0
        Alexander Brock
        1. 0
          Elderan
          1. 0
            Christoph Zurnieden
            1. 0
              Alexander Brock
            2. 0
              Elderan
              1. 0
                Christoph Zurnieden
                1. 0
                  Elderan
                  1. 0
                    Christoph Zurnieden
                    1. 0
                      Elderan
                      1. 0
                        Christoph Zurnieden
                        1. 0
                          Christian Kruse
                          1. 0
                            Christoph Zurnieden
                            1. 0
                              Christian Kruse
                        2. 0
                          Elderan
                          1. 0
                            Christoph Zurnieden
                            1. 0
                              Alexander Brock
                              1. 0
                                Christoph Zurnieden
                                1. 0
                                  Christian Kruse
                                  1. 0
                                    Elderan
                                    1. 0
                                      Christian Kruse
                                      1. 0
                                        Elderan
                                        1. 0
                                          Christian Kruse
                                          1. 0
                                            Elderan
                                            1. 0
                                              Christian Kruse
                                              1. 0
                                                Alexander Brock
                                                1. 0
                                                  Christoph Zurnieden
                                                  1. 0
                                                    Alexander Brock
                                                  2. 0
                                                    Henryk Plötz
                                                    1. 0
                                                      Christoph Zurnieden
                                                2. 0
                                                  Christoph Zurnieden
                                                  1. 0
                                                    Alexander Brock
                                                    1. 0
                                                      Christoph Zurnieden
                                                      1. 0
                                                        Alexander Brock
                                                        1. 0
                                                          Christoph Zurnieden
                                        2. 0
                                          Christoph Zurnieden
                                      2. 0
                                        Henryk Plötz
                                        1. 0
                                          Christoph Zurnieden
                                    2. 0
                                      Christoph Zurnieden
                                      1. 0
                                        Henryk Plötz
                                        1. 0
                                          Christoph Zurnieden
                            2. 0
                              Elderan
                              1. 0
                                Christoph Zurnieden
              2. 0
                Christian Kruse
    2. 0
      Henryk Plötz