Kryptografie - Testen der Sicherheit eines selbstgeschriebenen Programms
-
warum muss der text englisch sein?
bitte sehr, zwei verschlüsselte englische texte in ascii kodierung:
http://m.uploadedit.com/b021/1379542265646.txt
das zugehörige passwort ist abcd123456789efghhttp://m.uploadedit.com/b021/137954233031.txt
dieses passwort verrate ich nicht, es hat dieselbe länge wie obiges.
-
crypt0r schrieb:
- die leerzeichen, tabulatoren und zeilenumbrüche sind unverändert.
Ich nehme mal an das gilt für die Position und Reihenfolge.
- jede kodierte zahl im verschlüsselten text ist auch eine zahl im original.
- ein großbuchstabe im kodierten text ist auch ein großbuchstabe im original, entsprechendes gilt für kleinbuchstabenOkay, sehr einfache Teaser.
- verschlüsselt werden nur buchstaben und zahlen, d.h. satzzeichen bleiben unverändert
Behalten die auch ihre Position?
-
Ist einfach schrieb:
crypt0r schrieb:
- die leerzeichen, tabulatoren und zeilenumbrüche sind unverändert.
Ich nehme mal an das gilt für die Position und Reihenfolge.
ja.
Ist einfach schrieb:
crypt0r schrieb:
- verschlüsselt werden nur buchstaben und zahlen, d.h. satzzeichen bleiben unverändert
Behalten die auch ihre Position?
ja.
-
Dann ist die Verschlüsselung sinnlos, da ich einfach anhand der länge der Worte enorm viel rauslesen kann ohne auch nur irgendwie was aufwendiges zu machen.
-
Schlechte Verschlüsselungen erkennt man daran, dass der Algorithmus geheimgehalten werden muss.
-
Z schrieb:
Schlechte Verschlüsselungen erkennt man daran, dass der Algorithmus geheimgehalten werden muss.
-
Shade Of Mine schrieb:
Dann ist die Verschlüsselung sinnlos, da ich einfach anhand der länge der Worte enorm viel rauslesen kann ohne auch nur irgendwie was aufwendiges zu machen.
zeig mal.
-
Jester schrieb:
Shade Of Mine schrieb:
Dann ist die Verschlüsselung sinnlos, da ich einfach anhand der länge der Worte enorm viel rauslesen kann ohne auch nur irgendwie was aufwendiges zu machen.
zeig mal.
es ist doch offensichtlich dass man hier einen super einfachen angriffsvector hat oder bist du anderer meinung?
aber gerne, freundschfatspreis von 100 euro die stunde und ich implementiere es dir, ok?
-
wieviele stunden brauchst du denn? man kann ja enorm viel rauslesen, also sollte das ja nicht so lange dauern, oder?
edit: keine frage dass das ein schwachpunkt ist, du klingst nur grad so schön vollmundig, dass ich mal nachfragen wollte.
-
Shade Of Mine schrieb:
es ist doch offensichtlich dass man hier einen super einfachen angriffsvector hat oder bist du anderer meinung?
aber gerne, freundschfatspreis von 100 euro die stunde und ich implementiere es dir, ok?
Nur hohle Phrasen wie immer.
-
Ich würde mal auf etwas ähnliches wie die Enigma tippen...
Aber interresant...
-
crypt0r schrieb:
hi
ich habe aus spaß ein kleines programm geschrieben, dass textdateien verschlüsseln kann.
gibt es eine möglichkeit zu testen, ob sich diese datei leicht, schwer, oder vllt. gar nicht entschlüsseln lässt?
eventuell ne online entschlüsselungsseite oder so? habe recherchiert aber nix gefunden. vielleicht hat ja auch jemand von euch bock sich als dechiffrierer zu versuchen.
es handelt sich um deutschen text, das dateiformat ist ascii.
in dem verschlüsselungs-algorithmus sind absichtlich einige 'teaser' eingebaut:
- die leerzeichen, tabulatoren und zeilenumbrüche sind unverändert.
- jede kodierte zahl im verschlüsselten text ist auch eine zahl im original.
- ein großbuchstabe im kodierten text ist auch ein großbuchstabe im original, entsprechendes gilt für kleinbuchstaben
- verschlüsselt werden nur buchstaben und zahlen, d.h. satzzeichen bleiben unverändertich schätze mal, diese 'teaser' erleichtern das entschlüsseln beträchtlich.
http://m.uploadedit.com/b021/1379535954579.txtviel spaß!
Schau dir die Verteilung der Zeichen an.
Also nimm vom verschlüsselten Text die Zahlenwerte (also eben 'A'=65) und stell die Anzahl jedes Zeichens in irgendsoeinem Excel Diagramm dar.
Wenn dann sehr viele Zeichen irgendwo im Bereich von 65-122 sind, dann ist es schon mal sehr auffällig, dass es sich um eine ziemlich einfache Verschlüsselung handelt.Idealerweise ist der verschlüsselte Text ziemlich gleich verteilt, also die Werte 0-255 sind alle vorhanden und etwa gleich oft vorhanden.
-
Zum Testen des Outputs ist das hier ganz gut: http://www.cryptool.org/de/
Ich kenne nur die ältere Version von vor 4 Jahren, aber die hat mich schon begeistert.
-
Wie hast du die einzelen Zeichen verschlüsselt? Vigenère-Chiffre?
Machst du sowas wie Key-Expansion?
-
lllllllllllllllll schrieb:
Schau dir die Verteilung der Zeichen an.
Also nimm vom verschlüsselten Text die Zahlenwerte (also eben 'A'=65) und stell die Anzahl jedes Zeichens in irgendsoeinem Excel Diagramm dar.
Wenn dann sehr viele Zeichen irgendwo im Bereich von 65-122 sind, dann ist es schon mal sehr auffällig, dass es sich um eine ziemlich einfache Verschlüsselung handelt.Idealerweise ist der verschlüsselte Text ziemlich gleich verteilt, also die Werte 0-255 sind alle vorhanden und etwa gleich oft vorhanden.
innerhalb welcher toleranzen spricht man noch von gleichverteilung?
die buchstaben könnte man bis auf einen sprung beim großen O pi mal daumen und wenn man beide augen zudrückt vllt als ganz gut verteilt ansehen.
alle werte 0-255 zu benutzen wäre in wenigen minuten am code geändert, aber dann würden ja alle teaser flöten gehen.
trotzdem werde ich das mal aus gaudi morgen oder die tage ausprobieren, das mit der verteilung hat mich jetzt neugierig gemacht. :panalysiert wurden 769751 bytes. ascii code: 10 character: haeufigkeit :5598 ascii code: 13 character: haeufigkeit :5598 ascii code: 32 character: haeufigkeit :134005 ascii code: 33 character: ! haeufigkeit :307 ascii code: 34 character: " haeufigkeit :4869 ascii code: 36 character: $ haeufigkeit :2 ascii code: 37 character: % haeufigkeit :1 ascii code: 38 character: & haeufigkeit :9 ascii code: 39 character: ' haeufigkeit :2348 ascii code: 40 character: ( haeufigkeit :45 ascii code: 41 character: ) haeufigkeit :45 ascii code: 42 character: * haeufigkeit :22 ascii code: 44 character: , haeufigkeit :9404 ascii code: 45 character: - haeufigkeit :3780 ascii code: 46 character: . haeufigkeit :8866 ascii code: 47 character: / haeufigkeit :25 ascii code: 48 character: 0 haeufigkeit :14 ascii code: 49 character: 1 haeufigkeit :33 ascii code: 50 character: 2 haeufigkeit :13 ascii code: 51 character: 3 haeufigkeit :30 ascii code: 52 character: 4 haeufigkeit :12 ascii code: 53 character: 5 haeufigkeit :27 ascii code: 54 character: 6 haeufigkeit :23 ascii code: 55 character: 7 haeufigkeit :23 ascii code: 56 character: 8 haeufigkeit :14 ascii code: 57 character: 9 haeufigkeit :27 ascii code: 58 character: : haeufigkeit :92 ascii code: 59 character: ; haeufigkeit :725 ascii code: 63 character: ? haeufigkeit :569 ascii code: 64 character: @ haeufigkeit :2 ascii code: 65 character: A haeufigkeit :673 ascii code: 66 character: B haeufigkeit :703 ascii code: 67 character: C haeufigkeit :702 ascii code: 68 character: D haeufigkeit :676 ascii code: 69 character: E haeufigkeit :556 ascii code: 70 character: F haeufigkeit :683 ascii code: 71 character: G haeufigkeit :894 ascii code: 72 character: H haeufigkeit :589 ascii code: 73 character: I haeufigkeit :823 ascii code: 74 character: J haeufigkeit :503 ascii code: 75 character: K haeufigkeit :994 ascii code: 76 character: L haeufigkeit :630 ascii code: 77 character: M haeufigkeit :569 ascii code: 78 character: N haeufigkeit :634 ascii code: 79 character: O haeufigkeit :1054 ascii code: 80 character: P haeufigkeit :627 ascii code: 81 character: Q haeufigkeit :766 ascii code: 82 character: R haeufigkeit :555 ascii code: 83 character: S haeufigkeit :603 ascii code: 84 character: T haeufigkeit :545 ascii code: 85 character: U haeufigkeit :771 ascii code: 86 character: V haeufigkeit :766 ascii code: 87 character: W haeufigkeit :812 ascii code: 88 character: X haeufigkeit :618 ascii code: 89 character: Y haeufigkeit :805 ascii code: 90 character: Z haeufigkeit :697 ascii code: 91 character: [ haeufigkeit :1 ascii code: 93 character: ] haeufigkeit :1 ascii code: 97 character: a haeufigkeit :21480 ascii code: 98 character: b haeufigkeit :16855 ascii code: 99 character: c haeufigkeit :24839 ascii code: 100 character: d haeufigkeit :19889 ascii code: 101 character: e haeufigkeit :18675 ascii code: 102 character: f haeufigkeit :18823 ascii code: 103 character: g haeufigkeit :31853 ascii code: 104 character: h haeufigkeit :22775 ascii code: 105 character: i haeufigkeit :23451 ascii code: 106 character: j haeufigkeit :18556 ascii code: 107 character: k haeufigkeit :25625 ascii code: 108 character: l haeufigkeit :19192 ascii code: 109 character: m haeufigkeit :21237 ascii code: 110 character: n haeufigkeit :19131 ascii code: 111 character: o haeufigkeit :21870 ascii code: 112 character: p haeufigkeit :21971 ascii code: 113 character: q haeufigkeit :27176 ascii code: 114 character: r haeufigkeit :23329 ascii code: 115 character: s haeufigkeit :18013 ascii code: 116 character: t haeufigkeit :26228 ascii code: 117 character: u haeufigkeit :27599 ascii code: 118 character: v haeufigkeit :23758 ascii code: 119 character: w haeufigkeit :20354 ascii code: 120 character: x haeufigkeit :18573 ascii code: 121 character: y haeufigkeit :21708 ascii code: 122 character: z haeufigkeit :21997 ascii code: 225 character: á haeufigkeit :1 ascii code: 241 character: ñ haeufigkeit :15
Z schrieb:
Zum Testen des Outputs ist das hier ganz gut: http://www.cryptool.org/de/
Ich kenne nur die ältere Version von vor 4 Jahren, aber die hat mich schon begeistert.kann ich da meinen text online knacken lassen? keine option gefunden ich habe und zum installieren des programms bleibt leider keine zeit, da dies hier nur ein hobbyprojekt mit begrenzten zeitlichen ressourcen ist.
Rhombicosidodecahedron schrieb:
Wie hast du die einzelen Zeichen verschlüsselt? Vigenère-Chiffre?
Machst du sowas wie Key-Expansion?
das ist ein ziemlich simpler algorithmus, den ich mir ausgedacht habe, angelehnt am rotationsprinzip, bloß das die rotation vom passwort abhängt.
oops .. gerade mal kurz über vigenere chiffre gelesen. oje, das gibts also schon naja, so ählich läuft das ab, ja. es wird zusätzlich noch ein variabler verschiebungsfaktor generiert, der key wird nicht verlängert.
-
Jester schrieb:
wieviele stunden brauchst du denn? man kann ja enorm viel rauslesen, also sollte das ja nicht so lange dauern, oder?
edit: keine frage dass das ein schwachpunkt ist, du klingst nur grad so schön vollmundig, dass ich mal nachfragen wollte.
Weil es ein trivialer Angriffsvektor ist. Aber gerne, in 5h hab ich etwas fertig - zahlst du im voraus?
-
Würde man den Key des zweiten Passworts als solchen erkennen? Also ist der irgendein Wort oder enthält längere Folgen wie abcd oder 1234?
-
@Cryptor, Cryptool bietet verschiedene Analysemöglichkeiten die den Cyphertext nach Regelmäßigkeiten durchsuchen und damit Schwächen der Verschlüsselungsmethode aufzeigen können.
Eine relativ einfache und gute Verschlüsselung ist SHA-256-XOR-CBC. Daran würde sich unser ambitionierter 100€-Hacker hier aber die Zähne ausbeißen. :p
-
Shade Of Mine schrieb:
Weil es ein trivialer Angriffsvektor ist. Aber gerne, in 5h hab ich etwas fertig - zahlst du im voraus?
was kriege ich wenn du es nicht hinkriegst? -- schade übrigens dass du jetzt so lange zum antworten gebraucht hast, inzwischen sind hier schon wesentlich mehr Informationen im thread als heute morgen.
-
Z schrieb:
Eine relativ einfache und gute Verschlüsselung ist SHA-256-XOR-CBC. Daran würde sich unser ambitionierter 100€-Hacker hier aber die Zähne ausbeißen. :p
Aus SHA-256 kann man ganz einfach einen wirklich sicheren Algorithmus bauen, wo soll da denn der Witz sein?
@TE
cooky451 schrieb:
Würde man den Key des zweiten Passworts als solchen erkennen? Also ist der irgendein Wort oder enthält längere Folgen wie abcd oder 1234?