Hackerboard WikiHaboBlog

[HaBo]

 
Cryptography & Encryption Ver- und Entschlüsselung, Algorithmen, Kryptoanalyse ? Kryptographie in der Praxis. Blowfish, Triple-DES, XOR u.a.

Welchen Algorhytmus benutzt Mysql?

Diskussion: Welchen Algorhytmus benutzt Mysql? im Forum Cryptography & Encryption, in der Kategorie Security Area; Soo.. Eine kleine Frage, welchen Algo benutzt Mysql um die Passwörter der Mysql User in der Tabelle `mysql` zu verschlüsseln? ...

Antwort
Alt 18.07.06, 21:12   #1 (permalink)
 
Registriert seit: 05.01.06
Devilzimti Leistung: Facit NTK
Likes: 0
Standard Welchen Algorhytmus benutzt Mysql?


Soo..
Eine kleine Frage, welchen Algo benutzt Mysql um die Passwörter der Mysql User in der Tabelle `mysql` zu verschlüsseln? :)

Devilzimti ist offline   Mit Zitat antworten
Alt 18.07.06, 22:10   #2 (permalink)
ba2
Guest
 
Likes:
Standard

Das müsste die SQL-Funktion PASSWORD() sein.

Welcher Algo das ist, weiss ich auch nicht so genau, aber der wert ist nur 16 zeichen lang.


mfg ba2
  Mit Zitat antworten
   
HaBOT
 

Werbung ist gerade online    
Alt 18.07.06, 22:37   #3 (permalink)
Member of Honour
 
Benutzerbild von Sven
 
Registriert seit: 14.09.03
Sven Leistung: 8086Sven Leistung: 8086
Likes: 23
Standard

hier steht ein wenig dazu geschrieben
http://dev.mysql.com/doc/refman/5.1/...d-hashing.html
__________________
Mein Portfolio

best view with open eyes
Sven ist offline   Mit Zitat antworten
Alt 18.07.06, 22:51   #4 (permalink)
ba2
Guest
 
Likes:
Standard

Da steht leider auch nicht welcher Algorithmus genutzt wird.

Ich suche schon ziemlich lange finde aber auch nix gescheites.
  Mit Zitat antworten
Alt 18.07.06, 23:03   #5 (permalink)
Member of Honour
 
Benutzerbild von ivegotmail
 
Registriert seit: 28.05.03
ivegotmail Leistung: Z3
Likes: 1
Standard

mysql ist opensource. also schau dir den quellcode der PASSWORD() funktion an und du weißt was für ein algorithmus verwendet wird.
__________________
http://livehabo.hackerboard.de | http://livebb.sourceforge.net
ivegotmail ist offline   Mit Zitat antworten
Alt 19.07.06, 07:46   #6 (permalink)
 
Registriert seit: 30.05.05
v01d Leistung: Facit NTK
Likes: 0
Standard

mysql benutzt md5
v01d ist offline   Mit Zitat antworten
Alt 19.07.06, 11:09   #7 (permalink)
 
Registriert seit: 01.11.03
lagalopex Leistung: Facit NTK
Likes: 0
Standard

Zitat:
http://dev.mysql.com/doc/refman/5.1/de/password-hashing.html
Seit MySQL 4.1 erzeugt die geänderte PASSWORD()-Funktion einen 41 Byte langen Hash-Wert:
Zitat:
mysql-4.1.20/libmysql/password.c
The new authentication is performed in following manner:

SERVER: public_seed=create_random_string()
send(public_seed)

CLIENT: recv(public_seed)
hash_stage1=sha1("password")
hash_stage2=sha1(hash_stage1)
reply=xor(hash_stage1, sha1(public_seed,hash_stage2)

// this three steps are done in scramble()

send(reply)


SERVER: recv(reply)
hash_stage1=xor(reply, sha1(public_seed,hash_stage2))
candidate_hash2=sha1(hash_stage1)
check(candidate_hash2==hash_stage2)
Weiteres steht in der Datei ab Zeile 410...
lagalopex ist offline   Mit Zitat antworten
Alt 19.07.06, 11:51   #8 (permalink)
Member of Honour
 
Benutzerbild von ivegotmail
 
Registriert seit: 28.05.03
ivegotmail Leistung: Z3
Likes: 1
Standard

Zitat:
Original von v01d
mysql benutzt md5
naja, es gibt bei mysql zwar auch die MD5 funktion zum verschlüsseln der passwörter, aber wenn von mysql speziell die rede ist, ist wohl eher die mysql eigene PASSWORD funktion gemeint, welche je nach version einen 16 bzw 41 byte langen hash erzeugt, wobei es sich nicht um einen md5 hash handelt.

also im speziellen kommts halt drauf an welche hash funktion der jeweilige programmierer eigentlich verwendet hat (password, md5, sha1).
__________________
http://livehabo.hackerboard.de | http://livebb.sourceforge.net
ivegotmail ist offline   Mit Zitat antworten
Alt 19.07.06, 14:39   #9 (permalink)
Themenstarter
 
Registriert seit: 05.01.06
Devilzimti Leistung: Facit NTK
Likes: 0
Standard

Es geht um die Mysql Interne Tabelle `mysql` in der werden die Mysql user gespeichert.
Bei mir aufm Homserver handelt es beim Passwort des Users D**** um 6d707493276a8*** also ein 16 Stelliger Hash.
Es scheint sich also um die Mysqls eigene Verschlüsselung zu handeln.
In was ist den Mysql geschrieben?
Werde gleich mal gucken, ob ich mich da im Source zurechtfinden kann :

Edit:
@lagalopex
Und in der alten MYsql Version?
Devilzimti ist offline   Mit Zitat antworten
Alt 19.07.06, 17:05   #10 (permalink)
Moderator
 
Benutzerbild von Elderan
 
Registriert seit: 30.03.04
Elderan Leistung: 8086
Likes: 14
Standard

Hallo,
Zitat:
Original von DevilzimtiEdit:
@lagalopex
Und in der alten MYsql Version?
Alte MySQL-Version-Source runterladen, die passwort.c öffnen, und nach dem äquvialent dafür suchen.

Sonst in der neuen passwort.c müsste die alte Funktion auch implementiert sein, denn man kann in der Config ändern, ob man die neue, oder doch die alte Variante verwenden möchte.

Außerdem gibts in der neuen Version auch den MySQL Befehl: OLD_PASSWORD
Elderan ist offline   Mit Zitat antworten
Alt 19.07.06, 20:58   #11 (permalink)
Themenstarter
 
Registriert seit: 05.01.06
Devilzimti Leistung: Facit NTK
Likes: 0
Standard

Ok.
Und nun kommt noch die oberpeinliche Frage
Wo finde ich den Source?
Bei Sourceforge bekomm ich über 5000 Results
Devilzimti ist offline   Mit Zitat antworten
Alt 20.07.06, 11:58   #12 (permalink)
Member of Honour
 
Registriert seit: 03.10.01
blueflash Leistung: Facit NTK
Likes: 1
Standard

Wie wärs denn direkt beim Hersteller. Die werden ihr Projekt ja nun nicht auf Sourceforge hosten.
blueflash ist offline   Mit Zitat antworten
Alt 20.07.06, 14:36   #13 (permalink)
Themenstarter
 
Registriert seit: 05.01.06
Devilzimti Leistung: Facit NTK
Likes: 0
Standard

Hab ich auch schon geguckt?
Aber find mich da net zurecht -.- omg
Devilzimti ist offline   Mit Zitat antworten
Alt 20.07.06, 16:52   #14 (permalink)
Member of Honour
 
Benutzerbild von ivegotmail
 
Registriert seit: 28.05.03
ivegotmail Leistung: Z3
Likes: 1
Standard

is ja nicht so einfach mit dir ...

http://downloads.mysql.com/archives.php
MySQL Database Server x.x auswählen -> genauere version auswählen -> ganz unten auf der seite findest du i.d.R. den source (Source and other files).
__________________
http://livehabo.hackerboard.de | http://livebb.sourceforge.net
ivegotmail ist offline   Mit Zitat antworten
Alt 22.08.06, 02:54   #15 (permalink)
 
Registriert seit: 12.11.03
Evil Leistung: Facit NTK
Likes: 0
Standard

Zitat:
Original von ivegotmail
mysql ist opensource. also schau dir den quellcode der PASSWORD() funktion an und du weißt was für ein algorithmus verwendet wird.
Was hat das mit OpenSource zu tun ?( ?( ?(
Das sind ganz normale Post-Befehle die an den Server geschickt werden und je nach dem mit MD5 (128-bit), SHA1 (168-bit) etc. verschlüsselt sind.

Beispiel MD5:
Die Berechnung bedarf mehrerer Schritte:

Schritt 1:
Zunächst muss sichergestellt werden, dass die Länge der Eingabedatei ein Vielfaches von 512 Bit ist. Dazu wird als erstes Füllbit eine 1 angehängt. Dann folgen soviel Nullen, dass noch 64 Bit fehlen um die geforderte Größe zu erreichen. Diese 64 Bit werden nun mit der Länge der Datei gefüllt, wodurch garantiert wird, dass verschiedene Nachrichten nach dem Auffüllen nicht identisch sind.

Schritt 2:
Nun werden vier sogenannte Verkettungsvariablen A, B, C und D initialisiert.
(hexadezimal dargestellt: A=0x01234567, B=0x89abcdef, C=0xfedcba98, D=0x76543210).

Schritt 3:
Die einzelnen 512 Bit langen Teilblöcke werden in sechzehn 32-Bit-Teilblöcke aufgeteilt und durch 4 Runden geschickt, die in jedem Fall gleich ablaufen. Zunächst werden die Variablen A, B, C und D in AA, BB, CC und DD kopiert.

Ablauf der Runden:
In jeder der Runden werden 3 der Variablen A, B, C und DD logisch verknüpft, mit einem solchen 32-Bit-Teilblock addiert. Dann wird noch eine Variable T sowie die 4. (nicht-verknüpfte) Variable addiert. Es folgt eine Links-Rotation um eine variable Anzahl Bits (vgl. Tabelle in Wie funktioniert MD5 (1/2)) und eine weitere Addition von einer der logisch-verknüpften Variablen, bevor das Ergebnis in der 4. Variablen gespeichert wird. (in Wie funktioniert MD5 (2/2) soll der Ablauf dieser Runden noch genauer dargestellt werden, aber als Überblick ist dies zunächst ausreichend)

Nun werden zu den Variablen A, B, C und D noch die Variablen AA, BB, CC und DD addiert. (es werden also die ursprünglichen Werte vor den 4 Runden noch zum Ergebnis addiert)

Dieser Schritt wird nun für alle 512-Bit-Blöcke (bestehend aus 16 32-Bit-Teilblöcken) durchlaufen.

Schritt 4:
Die Variablen A,B,C und D stellen nun den 128-Bit-Hashwert (Message-Digest) dar.

Alles klar?
Evil ist offline   Mit Zitat antworten
Antwort
   

Werbung ist gerade online    

[HaBo] » Security Area » Cryptography & Encryption » Welchen Algorhytmus benutzt Mysql?
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind aus
Pingbacks sind aus
Refbacks sind aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Welchen Html Editor benutzt du? PeAcEmAkEr (Web-) Design und webbasierte Sprachen 72 15.01.11 23:49
Welchen RSS Reader benutzt ihr??? VeoX Applikationen 11 10.01.09 22:23
Welchen Webbrowser benutzt ihr ??? Cracker:P Doppelte Beiträge 2 23.10.07 21:52
Welchen Browser benutzt ihr? methos Umfragen 9 27.05.05 00:03
Welchen Browser benutzt Ihr? Chris Umfragen 85 10.04.04 14:38


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 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61