![]() |
bitte verschlüsselungsfunktion bewerten/testen
ich hoffe mal das ist hier die richtige stelle für meine frage/bitte.
also ich habe für ein schulprojekt eine verschlüsselungsalgo programmiert und wüsste jetzt gern was ihr dazu sagt bzw. ob ihr verbesserungsvorschläge habt oder andere anregungen. jetzt zu der art der verschlüsselung: die verschlüsselung arbeitet mit einem passwort das prinzipiell natürlich beliebig lang sein kann, es wird intern jedoch in einen hash mit 32 zeichen umgewandelt(mit dem DEC von hagen) weshalb ein längeres passwort eigentlich keinen sinn macht. mit diesem passwort werden dann die ersten 32 zeichen des zu verschlüsselnden textes xor verknüpft. dann wird aus dem hash wiederum ein hash gebildet mit dem die nächsten 32 zeichen xor verknüpft werden. und das immer so weiter bis der text zu ende ist. für wie sicher haltet ihr diese verschlüsselung? habt ihr irgenwelche tipps? natürlich könnte ich auch die verschlüsselungsfunktionen nutzen die im DEC enthalten sind, aber wie schon gesagt es ist für die schule und da zählt halt das selbermachen. und hier noch die funktion:
Delphi-Quellcode:
procedure TForm1.codierenClick(Sender: TObject);
var s: string; //temp string des zu verschlüssenden textes i: Integer; j: Integer; n: Integer; Hpass: string; begin Hpass := THash_MD5.CalcString(pass, nil, fmtHEX); //pass = das passwort das eingegeben wurde if length(pass) > 10 then begin j := 0; s := Inhalt.Text; //Inhalt.Text = text feld mit text der verschlüsselt werden soll for i := 0 to length(s) do begin j := i mod length(Hpass); n := Ord(Hpass[j]); n := n mod 31; s[i] := char(n Xor Ord(s[i])); if (j = 0) and (i <> 0) then begin Hpass := THash_MD5.CalcString(Hpass, nil, fmtHEX); end; end; Inhalt.Text :=s; end else Inhalt.Text := 'Sie müssen ein Passwort mit mehr als 10 Zeichen eingeben'; end; |
Re: bitte verschlüsselungsfunktion bewerten/testen
Zitat:
2 sachen die mir aufgefallen sind: dein hash hat zwar immer 32 zeichen (egal wie lang das ursprungspassword ist) und genau da ist der erste haken ich kann da wunderbar mit bruteforce angreifen wenn das pass sehr kurz ist das nächste ist wohl, das dir das garnix bringt, wenn du den hash mit sich selbst hashest. das ist sicherlich kein problem für einen, der deinen ersten hash bruteforced hat, ihn nochmal zu hashen *g* |
Re: bitte verschlüsselungsfunktion bewerten/testen
Zitat:
|
Re: bitte verschlüsselungsfunktion bewerten/testen
Zitat:
Zitat:
|
Re: bitte verschlüsselungsfunktion bewerten/testen
hmm stimmt aber irgendwie hat mich das iritiert o_O
|
Re: bitte verschlüsselungsfunktion bewerten/testen
Naja sicher in welcher Beziehung?
-wenn der Angreifer darauf aus ist, das passwort zu entschlüsseln um dann eine umkehrfunktion deines algorithmus zu bauen, ist die methode genauso sicher/unsicher wie nur xor mit dem ganzen string und dem einen hash. Das liegt einfach daran weil alles eindeutig ab dem wissen über das pw ist. (vorrausgesetzt man kennt deine aglo, aber das dürfte mit google nicht so schwer werden) -wenn er direkt an den text will, weiß ich nicht genau was passiert. ich habe noch keinen hash selbst gehasht und dann geschaut, was dabei rauskommt bzgl häufigkeit. den ansatz könntest du dir ja evtl. selbstweiterdenken Gruß Thomas |
Re: bitte verschlüsselungsfunktion bewerten/testen
Hi David,
deine Verschlüsselung ist - und bleibt - eine XOR-Verschlüsselung, d.h. sie ist per se unsicher. Eine genaue Argumentation kann ich dir aber leider nicht liefern. Ich empfehle dir dafür auf Hagen zu warten. :mrgreen: Dass Xor jedoch unsicher ist, ist eine ziemlich weit verbreitete Meinung, die schon seine Richtigkeit hat. Das Hashen deines Passwortes bringt da rein gar nichts. Eher wird das ein Nachteil, wie supermuckl schon sagte. Aber der Hash alleine ändert nichts an der Sicherheit der Verschlüsselung. Und dass du dein Passwort zweimal hasht, ändert ebenfalls nichts. Du nimmst dir die ersten 32 Byte und crackst die, nimmst die nächste 32 Byte und so weiter und so fort. Wege und Möglichkeiten gibts immer. Also: ist und bleibt unsicher. ;) Chris |
Re: bitte verschlüsselungsfunktion bewerten/testen
Zitat:
und eine umkehrfunktion braucht man nicht weil mit der verschlüsselungsfunktion auch entschlüsselt wird und wenn man einen hash wieder hasht sollte das keine probleme ergeben schließlich arbeiten manche seiten im internet auch damit(heißt glaub ich one time password) Zitat:
|
Re: bitte verschlüsselungsfunktion bewerten/testen
hallo chris,
das eine xor verschlüsselung grundsätzlich unsicher ist stimmt glaube ich so nicht es kommt nur darauf an wie sie eingesetzt wird und ich meine da jetzt nicht nur den OTP. und ich glaube es ist nicht so leicht die ersten 32 zeichen zu cracken schließlich gibt es für die immerhin 2^255 möglichkeiten ich bin aber gern berait mich eines besseren belehren zu lassen david |
Re: bitte verschlüsselungsfunktion bewerten/testen
Zitat:
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:53 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz