| Hacks & Crackmes Tests, Fragen oder Hilfestellungen. Crackmes und Hackits werden hier diskutiert. |
Diskussion: eigene Codierung im Forum Hacks & Crackmes, in der Kategorie Software Home; Anzeige Ich beschäftige mich noch nicht sehr lange mit Codierungen dennoch hab ich versucht einen eigenen Algorithmus zu schreiben, der ...
![]() |
| | #1 (permalink) |
| Registriert seit: 12.08.06 ![]() Likes: 0 | Anzeige Ich beschäftige mich noch nicht sehr lange mit Codierungen dennoch hab ich versucht einen eigenen Algorithmus zu schreiben, der einen Text mit Hilfe eines PW codiert. Mich würde es interessieren, wie sicher diese Codierung ist. Versucht bitte folgenden String zu decodieren. Das PW besteht nur aus Buchstaben und ist 6 Zeichen lang. Code: ?x?~?~Ô?}§w?7?çw????;kár?m?Ö ???= |
| | |
| HaBOT | - Anzeige - |
| |
| | #3 (permalink) |
| Themenstarter Registriert seit: 12.08.06 ![]() Likes: 0 | Oh sorry mir war nicht klar, dass es so nicht geht. Welche Informationen würden weiterhelfen? Das Passwort oder der Algo? Ok hier ist der Algorithmus. Es ist eine Procedur geschrieben in PureBasic: Code: Procedure.s LS_CodeText(Text.s, Passwort.s) ; Codiert einen Text
Len_Text.l = Len(Text.s)
Len_Passwort.l = Len(Passwort.s)
FingerPrint.l = 0
For i = 1 To Len_Passwort
FingerPrint + Asc(Mid(Passwort, i, 1))
Next
RandomSeed(FingerPrint)
text_out.s = ""
str_counter.l = 1
For i=1 To Len_Text
For n=1 To Len_Passwort
If str_counter > Len_Passwort
str_counter = 1
EndIf
zeichen.b = Random(Asc(Mid(Passwort, str_counter, 1)))
str_counter + 1
Byte.b = Asc(Mid(Text.s, i, 1))
Byte.b + zeichen.b
Next
text_out.s = text_out.s + Chr(Byte.b)
Next
ProcedureReturn text_out.s
EndProcedure Wenn nicht bitte nachfragen. |
| | |
| | #4 (permalink) |
| Moderator ![]() Registriert seit: 20.07.05 ![]() ![]() ![]() ![]() ![]() ![]() Likes: 202 | Wenn Du Dich für die Sicherheit des Verfahrens interessierst - im "Cryptography & Encryption" den Algo freigeben und hoffen, dass jemand sich die Zeit dafür nimmt Ansonsten noch: mehr verschlüsselten Text - eventuell kann man es schon automatisiert mit Cryptoll entschlüsseln. Und da es hier offenbar über den darstellbaren ASCII-Wertebereich geht (komische ASCII-zeichen) wäre es besser, die verschlüsselte Datei anzuhängen, weil man sonst je nach benutzer Schrift bzw wegen dem Browser/Server falsche Ergebnise zu sehen bekommt.
__________________ Noch mal, für alle Pseudo-Geeks: 1+1=0. -> 10 wäre Überlauf! Selig, wer nichts zu sagen hat und trotzdem schweigt. |
| | |
| | #5 (permalink) |
| Registriert seit: 16.08.06 ![]() Likes: 0 | Hallo eXol, Dein Algorithmus funktioniert (vereinfacht) wie folgt : 1. Wert = PasswortZeichen + ZufallsWert. 2. OriginalTextZeichen + Wert = VerschlüsseltesTextZeichen. Da der Wert einen Zufallswert enthält, wirst Du eine verschlüsselte Datei trotz Passwort nicht wieder entschlüsseln können. |
| | |
| | #6 (permalink) | |
| Moderator ![]() Registriert seit: 20.07.05 ![]() ![]() ![]() ![]() ![]() ![]() Likes: 202 | Zitat:
Ein interessanter Ansatz - allerdings habe ich mich noch nie mit Cryptographie beschäftigt und kann leider nicht sagen, in wiefern es etwas "taugt". Als ich mal einige Artikeln zu Pseudo-Random-Algorithmen gelesen habe, stand da auch ausdrücklich, dass nicht jeder "Pseudo-Random-Algo" für Verschlüsselungen verwendet werden sollte bzw. dass da ganz andere Kriterien gesetzt werden.(Was jetzt die Kriterien und Angriffspunkt sind, die sich dadurch ergeben - das wüsste ich auch gern
__________________ Noch mal, für alle Pseudo-Geeks: 1+1=0. -> 10 wäre Überlauf! Selig, wer nichts zu sagen hat und trotzdem schweigt. | |
| | |
| | #7 (permalink) |
| Registriert seit: 16.08.06 ![]() Likes: 0 | http://www.purebasic.com/german/docu...andomseed.html ^^^ hmm, hab' nicht sorgfältig recherchiert. Natürlich wird eine verschlüsselte Datei mit dem Passwort wieder entschlüsselt. Ohne das Passwort wird "Cryptool" aber keine Hilfe sein. Damit lassen sich nur "symmetrisch" verschlüsselte Dateien entschlüsseln. Aber bei diesem Algorithmus kannst Du sicher sein, dass sich im verschlüsselten Text nichts "auffälliges" wiederholt. Allerdings steht und fällt alles mit der Arbeitsweise von RandomSeed() und Random(). Der "MySQL" - Server benutzt deshalb z.B. einen selbstgeschriebenen Zufallsgenerator (Zeile 00079 :-) ) : http://leithal.cool-tools.co.uk/sour...8c-source.html |
| | |
| | #8 (permalink) |
| Themenstarter Registriert seit: 12.08.06 ![]() Likes: 0 | Das bedeutet also, dass die verschlüsselten Daten rel. sicher sind, solange das Passwort nicht bekannt ist!? Hab vor Kurzem festgestellt, dass der Seed rel. klein (<1000) bei dem verwendeten PW ist. Man könnte also alle Seedwerte von 0-x durchgehen und prüfen ob dabei ein Text rauskommt und so das ganze entschlüsseln. Habt ihr vielleicht einen Vorschlag, wie ich diesen Algo verbessern kann? |
| | |
| | #9 (permalink) |
| Registriert seit: 16.08.06 ![]() Likes: 0 | Hallo eXol, wenn Du Deinen Algorithmus verbessern willst, dann hier nur einige Hinweise : Ein guter Verschlüsselungsalgorithmus hat für meine Begriffe nur zwei Kriterien : 1. Ein Hacker muss gezwungen sein, alle denkbaren Möglichkeiten auszuprobieren. 2. Die Rechenzeit zur Verschlüsselung eines Zeichens muss "so lange wie möglich" sein. zu 1.: Durch die Verwendung von RandomSeed() und Random() wird dieses Kriterium bereits erfüllt. Allerdings lässt sich die Anzahl der Möglichkeiten vereinfacht durch folgende Formel darstellen : FingerPrint * (WertebereichDerPasswortZeichen HOCH Passwortlänge). -> erhöhe den FingerPrint durch z.B. ein Polynom höheren Grades : (PWZeichen ^ 3) + (PWZeichen ^ 2) + 12345 (oder so ähnlich) (z.Zt. beträgt der FingerPrint nur alles zwischen WertKleinstesPasswortZeichen und (Passwortlänge * WertGrösstesPasswortZeichen) ). -> erziehe die Nutzer Deines Programms dahingehend, dass sie sich verdammt noch mal gefälligst laaaaange Passwörter ausdenken. zu 2.: Dieses Kriterium unterliegt nur den Gesetzen der Phantasie. Allerdings ist mit "langer Rechenzeit" NICHT gemeint, dass Warteschleifen eingebaut werden. -> lasse meinetwegen die innerste For-Schleife 1,3,10,100,1000 mal durchlaufen -> finde einen Kompromiss zur folgenden Behauptung : Wenn der Algorithmus "ewig" braucht um ein Zeichen zu verschlüsseln, dann braucht auch ein Hacker "ewig" um das Zeichen wieder zu entschlüsseln. Hoffentlich hilft Dir das. Ach so, wie bist Du eigentlich auf "PureBasic" gekommen ? |
| | |
| | #10 (permalink) | |
| Themenstarter Registriert seit: 12.08.06 ![]() Likes: 0 | Danke für deine schnelle Antwort. Ich hab mir gedacht ich mache ein MD5 Fingerprint vom Passwort und anschließend berechne ich aus dem MD5 den Seed-Wert. Mein Algo so wie er jetzt ist braucht ca 2 Sec um 1000000 Zeichen zu verschlüssel. Da ich diese Verschlüsselung für mein Chat-Programm brauche, das ich gerade programmiere, kann ich ruhig die Schleife mehr als 10 mal wiederholen. Das würde dann trotzdem schnell genug gehen bei einem String, der max. 4000 Zeichen lang sein darf. Zitat:
Nachdem ich BlitzBasic, Blitz3D, VisualBasic, Profan?, C und C++ probiert habe, hab ich eine Demoversion von Purebasic entdeckt und war sofort begeistert. PureBasic erfüllte zu 100% meine Anforderungen. Es ist schnell (gleich bzw. schneller als C++) Die .exe sind sehr klein. Die Syntax ist nicht Cryptisch wie bei C++ und das garantiert schnelle Erfolge. PB ist für Anwendungen mit einer GUI und für Spiele in 2D und 3D gut geeignet. Man kann die WinAPI direkt ansprechen. Mit PB kann man direkt ASM (FASM) benutzen. Purebasic ist günstig (unter 100 Euro) und wird ständig weiterentwickelt. Und das Beste, man hat eine lebenslange Updateberechtigung. Als ich mir PB gekauft habe, hatte ich die Version 3.30 und jetzt ist 4.00 rausgekommen. Selbst Wenn PB die Version 10 erreicht, kann ich diese Version ohne zusatzkosten runterladen. Sorry für den langen Text aber ich liebe PB | |
| | |
| | #11 (permalink) |
| Registriert seit: 30.08.06 ![]() Likes: 0 | was ich als nachteil ansehen würde ist bei c/c++ gibt es viele kostenlose compiler man kann sich alles seinen wünschen anpassen läuft unter allen betriebsystemen soll jetzt keine abwertung von purebasic sein (mit pb hab ich nämlich noh nicht programmiert), aber du kannst den source kaum mit anderen austauschen, weil die meisten warscheinlich c/c++ benutzen. |
| | |
| | #12 (permalink) |
| Themenstarter Registriert seit: 12.08.06 ![]() Likes: 0 | Kannst du mir den besten kostenlosen compiler für C++ nennen? Wollte mich mal wieder ein bischen mit C++ beschäftigen. Es gibt 2 große Boards für PureBasic einer englisch und einer deutsch. Auf diesem Board, da hast du recht, wird bestimmt niemand PureBasic kennen/benutzen. Probier doch mal die Demo von PureBasic aus: http://www.purebasic.de/demo.shtml Die gibt es für Windows, Linux und MacOS X Nur mal als Demonstartion was man mit PureBasic in wenigen Tagen machen kann: http://purefrogger.pu.ohost.de/Programme_HTML/NotEx.php Die erste Version von NotEx hab ich in nur 2 Stunden (incl. GUI) programmiert. In den Anderen versionen kamen nur sonderwünsche von den Usern von NotEx rein. Mit C++ würde das wesentlich länger dauern und wegen der Syntax würde die Fehlersuche auch viel Zeit verschwenden. |
| | |
![]() |
| - Anzeige - | |
| |
| Themen-Optionen | |
| Ansicht | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Zeichen in andere Codierung umwandeln & Frage zu Amarok | lb | Applikationen | 4 | 19.12.08 19:12 |
| Eigene IP = UK? | Grafix | Internet Allgemein | 6 | 17.10.06 14:27 |
| codierung von i-tunes Music Store | DaRaffa | (Web-) Design und webbasierte Sprachen | 2 | 23.02.06 01:08 |
| Texteditor für DOS-Codierung | v01d | Applikationen | 1 | 02.11.05 16:35 |
| Eigene Progs | OverKiller | Code Kitchen | 20 | 19.08.04 09:44 |