AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte Hash-Funktion
Thema durchsuchen
Ansicht
Themen-Optionen

Hash-Funktion

Ein Thema von HugoHase · begonnen am 15. Dez 2008 · letzter Beitrag vom 29. Dez 2008
Antwort Antwort
Seite 1 von 3  1 23      
HugoHase
Registriert seit: 4. Mai 2008
Einen schönen guten Tag an alle.

Ich hoffe Ihr wisst alle was eine Hash-Funktion ist. Für alle die es nicht wissen gibt es diesen Link.
Genau dieses Thema behandel ich in meiner BLL(Facharbeit fürs Abitur).
Und da ich wie ich meine ein weinig kreativ war, ist bei der ganzen Sache auch etwas entstanden:

FP32 - das ist meine eigene Hash-Funktion.
Sie gibt einen 32 Zeichen langen String aus und benutzt folgendes 91 Zeichen langes Ausgabe-Alphabet:
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvw xyz0123456789!"§$%&/()=?_-[]{}+*~#<>:,.|;\"
Im Anhang an dieses Thema werdet ihr die Datei uFP32.dcu finden welche diese Funktion beihaltet.
Quellcode kann ich euch aus sicherheitstechnischen Gründen noch nicht geben, verspreche aber nach der Abgabe
meiner Facharbeit diesen zu posten.
Was ich von euch jetzt möchte, ist das ihr versucht Kollisionen zu finden und mir diese bitte zu melden.
Ansosnten denke ich, dass die Hash-Funktion durchaus geeignet ist um sie in ein kleines privates Projekt
einzubinden, um eventuell eine Passwort abfrage ohne Klartext zu tätigen.

In diesem Sinne viel Spaß damit

Gruß HugoHase
Angehängte Dateien
Dateityp: exe fp32_133.exe (369,0 KB, 19x aufgerufen)
Dateityp: dcu ufp32_157.dcu (4,4 KB, 11x aufgerufen)
I hacked 127.0.0.1
 
Benutzerbild von Xong
Xong

 
Delphi 2006 Professional
 
#2
  Alt 15. Dez 2008, 10:27
Zitat von HugoHase:
FP32 - das ist meine eigene Hash-Funktion.
Sie gibt einen 32 Zeichen langen String aus und benutzt folgendes 91 Zeichen langes Ausgabe-Alphabet:
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvw xyz0123456789!"§$%&/()=?_-[]{}+*~#<>:,.|;\"
Eine Hash-Funktion gibt keine Zeichen aus, sondern eine Bitfolge. Diese Bitfolge kann als hexadezimale Zahl interpretiert werden. Das wären die Zeichen 0-9 und A-F.

Wenn du Hilfe möchtest, solltest du den Algorithmus darlegen.

Zitat von HugoHase:
Quellcode kann ich euch aus sicherheitstechnischen Gründen noch nicht geben, verspreche aber nach der Abgabe meiner Facharbeit diesen zu posten
Du siehst mich mit Unverständnis dreinblicken.
Was versprichst du dir von der Geheimhaltung?

LG,
Xong
  Mit Zitat antworten Zitat
Benutzerbild von Meflin
Meflin
 
#3
  Alt 15. Dez 2008, 10:42
Zitat von Xong:
Du siehst mich mit Unverständnis dreinblicken.
Was versprichst du dir von der Geheimhaltung?
Er kriegt drauf ne Note. Wäre er ja schön blöd, wenn er den code hier veröffentlicht und dann wegen Abschreibens 0 Punkte bekommt
Leo S.
  Mit Zitat antworten Zitat
HugoHase

 
Delphi 7 Enterprise
 
#4
  Alt 15. Dez 2008, 10:47
Danke für die Antwort:
Zitat:
Was versprichst du dir von der Geheimhaltung?
Am 18.12. Ist der Abgabe Termin meiner Arbeit.
Und da dieser Algorithmus ein Hauptbestandteil der Arbeit ist, die noch benotet wird möchte ich diesen nicht preisgeben bis die Arbeit in den Händen des Korektors ist. Ich bitte um Verständnis.


Zitat:
Eine Hash-Funktion gibt keine Zeichen aus, sondern eine Bitfolge. Diese Bitfolge kann als hexadezimale Zahl interpretiert werden. Das wären die Zeichen 0-9 und A-F.
Es ist doch egal ob die Ausgabe nun als String oder Bitfolge geschiet.

Gruß
  Mit Zitat antworten Zitat
Benutzerbild von sx2008
sx2008

 
Delphi 2007 Professional
 
#5
  Alt 15. Dez 2008, 11:18
Zitat von HugoHase:
Sie gibt einen 32 Zeichen langen String aus und benutzt folgendes 91 Zeichen langes Ausgabe-Alphabet
Das wären 91^32 = 4,89e+62 verschiedene Möglichkeiten.
Im Vergleich dazu hat MD4 oder MD5 ungefähr 3,40e+38 Möglichkeiten.
Ich denke mal, durch Brute Force lässt sich bei deiner Hash-Funktion keine Kollision finden.
Da aber deine Hashfunktion 10 Trilliarden (!) mehr Möglichkeiten als MD4 oder MD5 hat ist das völlig aussichtslos.
Nur wenn der Algorithmus bekannt wäre könnte man rückwärts rechnen und Hinweise auf eine schwache Implementierung finden.
  Mit Zitat antworten Zitat
HugoHase

 
Delphi 7 Enterprise
 
#6
  Alt 15. Dez 2008, 11:23
Dann guck bitte am besten noch mal am 18. oder 19. Dezember rein wenn ich den Quelltext poste
  Mit Zitat antworten Zitat
Benutzerbild von Xong
Xong

 
Delphi 2006 Professional
 
#7
  Alt 15. Dez 2008, 11:37
Zitat von HugoHase:
Danke für die Antwort:
Zitat:
Eine Hash-Funktion gibt keine Zeichen aus, sondern eine Bitfolge. Diese Bitfolge kann als hexadezimale Zahl interpretiert werden. Das wären die Zeichen 0-9 und A-F.
Es ist doch egal ob die Ausgabe nun als String oder Bitfolge geschiet.
Naja, einige Bits bleiben bei dir halt ungenutzt.
Das ist ineffizient.

Letztendlich hast du recht: Für die Funktionsweise einer Hashfunktion ist das irrelevant. Allerdings solltest du darauf in deiner Arbeit hinweisen.
  Mit Zitat antworten Zitat
Benutzerbild von sx2008
sx2008

 
Delphi 2007 Professional
 
#8
  Alt 15. Dez 2008, 11:47
Zitat von Xong:
Naja, einige Bits bleiben bei dir halt ungenutzt. Das ist ineffizient.
Es kommt auf den Zweck an.
Bei vielen Dateien (vorallem Programme und ISO-Images) werden ja MD5 und SHA1-Prüfsummen als Hexstring angegeben,
damit derjenige, der die Dateien runtergeladen hat prüfen kann ob die Dateien unverfälscht sind.
Beispiel: http://ftp.uni-kl.de/pub/linux/knoppix/
In drei Jahren wird es nur "HugoHaseHash" geben; auch bekannt als Tripple-H.
  Mit Zitat antworten Zitat
HugoHase

 
Delphi 7 Enterprise
 
#9
  Alt 15. Dez 2008, 11:55
Zitat:
Naja, einige Bits bleiben bei dir halt ungenutzt.
Das ist ineffizient.
Danke ich mus die Auswertung noch schreiben.
Dein Kommentar wird sich also darin wieder finden
Wenn man den Hash als Zufallswert nutzt ist es auf jeden Fall ineffizient.
Solange man sich jedoch auf das vergleichen der Strings konzentriert,
ist das denke ich mal irrelevant.
Aber auch der Speicher für den Hash wird nicht optimal ausgenutzt,
da man ja für jeden Char ein Byte(256Bits) speicher aber nur 91 Bits benutzt.

Gruß
  Mit Zitat antworten Zitat
HugoHase

 
Delphi 7 Enterprise
 
#10
  Alt 15. Dez 2008, 12:01
Zitat:
In drei Jahren wird es nur "HugoHaseHash" geben; auch bekannt als Tripple-H.
Tripple-H ist genial ich lag flach als ich es laß, xD
aber ich kann in meiner Facharbeit schlecht erklären,
dass mein Internet-Pseudonym HugoHase ist und ich die Funktion deshalb so nenne,
was mich irgendwie ärgert.

Gruß
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

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

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:55 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz