Du bist nicht angemeldet.

Comu

Anfänger

  • »Comu« ist der Autor dieses Themas

Beiträge: 19

Wohnort: Nordreihn-Westfalen

Beruf: Schüler

  • Private Nachricht senden

1

12.07.2011, 22:40

Einfache aber sichere Verschlüsselung?

Hi Leute!

Hab mir heute mal Gedanken gemacht.. Über Skripte, welche nicht Public sind. Wenn sie nicht Public sind, könnte man doch theoretisch seine eigene Verschlüsselung benutzen, oder nicht?
Letztendlich haben die meisten "Hacker" immer nur Zugriff auf die Datenbank, und wenn diese keine normal bekannten MD5-Hashes oder sonst was sein sollten, kann man es doch individuell machen.

Hab hier mal nen kleines Script zur Übung gebaut:

PHP-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<?php

  $string htmlspecialchars(strip_tags($_GET['string']));
  $array str_split($string,1);
  
  $hash_pw '';
  
  foreach ($array as & $dummy)
  {
    switch($dummy)
    {
      case 0:
        $dummy 'A';
        break;
      case 1:
        $dummy 'B';
        break;
      case 2:
        $dummy 'C';
        break;
      case 3:
        $dummy 'D';
        break;
      // Für jedes Zeichen kann das weiterführend & Unterschiedlich sein.
    }
    
    $hash_pw .= $dummy;
  }
  
  echo $string.'<br />';
  echo $hash_pw;
  
?>


Ich hatte nun noch daran gedacht, nachdem das Case ausgegeben wurde, nochmals eine Variable Stelle nach XX zu springen und das ganze wiederholen zu lassen. Wie kann man das ganze noch sicherer machen und trotzdem die Möglichkeit haben, es zu encrypten?

Danke für eure Antworten!

MfG,
Comu

/E: Ich weiß, dass es momentan noch nicht sicher bin, suche aber Möglichkeiten, das auszubauen ;)

2

16.07.2011, 10:33

Hi Leute!

Hab mir heute mal Gedanken gemacht.. Über Skripte, welche nicht Public sind. Wenn sie nicht Public sind, könnte man doch theoretisch seine eigene Verschlüsselung benutzen, oder nicht?
Letztendlich haben die meisten "Hacker" immer nur Zugriff auf die Datenbank, und wenn diese keine normal bekannten MD5-Hashes oder sonst was sein sollten, kann man es doch individuell machen.

Stimmt schon, aber wenn die Hacker auch an die Daten kommen sollten wird es ihnen um so leichter fallen die Passwörter wieder zu entschlüsseln. Du kannst das Passwört stattdessen auch mehrfach verschlüsseln, z. B. mit SHA1 und dann nochmal mit MD5.
Tschüß.

Comu

Anfänger

  • »Comu« ist der Autor dieses Themas

Beiträge: 19

Wohnort: Nordreihn-Westfalen

Beruf: Schüler

  • Private Nachricht senden

3

16.07.2011, 11:56

Muss die nachher wieder entschlüsseln. Es kommt ganz selten vor, dass die Leute an die Daten kommen. MD5 ist heutzutage einfach zu unsicher.

4

16.07.2011, 12:29

Wozu musst du die entschlüsseln? Und MD5 ist wie oben beschrieben nicht unsicher, da kommt so schnell auch keiner drauf, du kannst ja bspw. auch 100x mit MD5 verschlüsseln.
Tschüß.

Comu

Anfänger

  • »Comu« ist der Autor dieses Themas

Beiträge: 19

Wohnort: Nordreihn-Westfalen

Beruf: Schüler

  • Private Nachricht senden

5

16.07.2011, 13:17

Wozu ich die entschlüsseln muss? Weil der User die nachher wieder sehen muss. Deshalb hatte ich mir oben nen Grundgerüst gebaut wie sowas aussehen könnte, suche aber jetzt noch Verbesserungen (eventuell statisch abhängig?).

6

16.07.2011, 13:39

Ich bin jetzt davon ausgegangen, dass es sich um eine Verschlüsselung für Passwörter handelt. MD5 kann man sowieso nicht entschlüsseln, aber wie wäre es denn sonst mit AES?
Tschüß.

7

17.07.2011, 19:20

Erstens:

Wozu ver- bzw. entschlüsseln? Alles was verschlüsselt werden kann, kann von jedem auch wieder entschlüsselt werden!
Besonders, wenn man den Weg der verschlüsselung studiert bzw. kennt.

Zweitens:


Seit wann ist MD5 eine Verschlüsselung?
MD5 ist ein Hash-Algorhytmus und hat nichts mit einer verschlüsselung zu tun.
Hat auch nichts mit sicher oder unsicher zu tun.

Klar gibt es sogenannte Rainbow-Tables, aber dieses Thema ist wiederrum das Thema des Entwicklers.
Wer nutzt auch ein direktes MD5-Hashing an einem Passwort? schonmal davon gehört, dies logischerweise "abzusichern"?

Klar dass, MD5(1234) in einer rainbow-Table existiert! Wieso nutzt man dann nicht einfach MD5(PREFIX1234)???

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Blizzard« (19.02.2013, 12:21)


Comu

Anfänger

  • »Comu« ist der Autor dieses Themas

Beiträge: 19

Wohnort: Nordreihn-Westfalen

Beruf: Schüler

  • Private Nachricht senden

8

17.07.2011, 19:40

Überheblicher gings ja wohl nicht.

Man sollte allen Daten Schutz gewähren. Sei es, um den bestimmten Personen den weg zu erschweren. Vielleicht kriegt es ja in der Zeit jemand mit, dass jemand eingedrungen ist, und da das Passwort nicht Entschlüsselt ist, kann man es noch vorher ändern. Daher eine Verschlüsselung.

Und wayne about MD5. Dynamische Salts sollten standart dabei sein, aber darum geht es hier nicht.

9

17.07.2011, 20:22

Seit wann ist MD5 eine Verschlüsselung?

Ich glaube das hat hier auch keiner behauptet. Auch wenn MD5 ein Hash-Algorythmus ist spricht man von Verschlüsseln (Verb).
Tschüß.

10

31.07.2011, 04:07

Wenn es dir darum geht das md5 zu "unsicher" ist, solltest du dich auf jeden Fall mit bcrypt vertraut machen. Ich selbst nutze für größere Projekte nur noch bcrypt.

http://www.phpbuddy.eu/passwort-hash-bcrypt-klasse.html

Mit freundlichen Grüßen Integer