tag:forum.selfhtml.org,2005:/selfWettangebot: Verschlüsselung knacken – SELFHTML-Forum2008-04-30T03:15:50Zhttps://forum.selfhtml.org/self/2008/apr/18/wettangebot-verschluesselung-knacken/1235764#m1235764Kalle_Bremso@web.dehttp://remso.de/wette.php2008-04-18T01:18:52Z2008-04-18T01:18:52ZWettangebot: Verschlüsselung knacken<p>Hallöle,</p>
<p>gestern gab es einen sportlichen Disput, ob meine wenigen PHP- Zeilen zur Verschlüsselung einer zu übertragenden Datei sicher genug sind.<br>
<a href="https://forum.selfhtml.org/?t=169920&m=1110084" rel="noopener noreferrer">https://forum.selfhtml.org/?t=169920&m=1110084</a></p>
<p>Hier ist eine verschlüsselte Datei nach meinem Muster:<br>
aWRZYWpoZiBrMDsqJydvaVVPIE9IYiU6L1O1tcggtHkgVVnkFoz9SPpPP84eapS/pzTsc...(abgebrochen)</p>
<p>(hat die Forensoftware abgelehnt "Sie sind wohl etwas geschwätzig?")<br>
also angegebene URL anschauen</p>
<p>Wer daraus bis zum 24. April 2008 24:00 Uhr als Erster wieder eine Datei machen kann und HIER IM FORUM seinen Weg beschreibt und sich den Zeitstempel holt, bekommt von mir 100 EUR in bar (Briefumschlag).</p>
<p>MfG Kalle</p>
https://forum.selfhtml.org/self/2008/apr/18/wettangebot-verschluesselung-knacken/1235818#m1235818Christoph Schnaußchristoph.schnauss@berlin.dehttp://www.christoph-schnauss.de2008-04-18T01:32:21Z2008-04-18T01:32:21ZWettangebot: Verschlüsselung knacken<p>hallo Kalle,</p>
<blockquote>
<p>(...) bekommt von mir 100 EUR in bar.</p>
</blockquote>
<p>Überweise die 100 Euronen doch bitte gleich als Spende an SELFHTML.</p>
<p>Grüße aus Berlin</p>
<p>Christoph S.</p>
<div class="signature">-- <br>
<a href="http://community.de.selfhtml.org/visitenkarten/view.php?key=26" rel="nofollow noopener noreferrer">Visitenkarte</a><br>
ss:| zu:) ls:& fo:) va:) sh:| rl:|
</div>
https://forum.selfhtml.org/self/2008/apr/18/wettangebot-verschluesselung-knacken/1235816#m1235816ChrisB2008-04-18T03:08:36Z2008-04-18T03:08:36ZWettangebot: Verschlüsselung knacken<p>Hi,</p>
<blockquote>
<p>Wer daraus bis zum 24. April 2008 24:00 Uhr als Erster wieder eine Datei machen kann</p>
</blockquote>
<p>Kann ich!</p>
<blockquote>
<p>und HIER IM FORUM seinen Weg beschreibt</p>
</blockquote>
<p>Ganz einfach: Copy & Paste, Einfuegen in neue leeres Dokument in meinem Editor, Abspeichern, fertig.</p>
<p>(Damit habe ich "daraus wieder eine Datei gemacht", und von mehr war in deiner Anforderung nicht die Rede - von *sinnvollem* Inhalt schon gar nicht ...)</p>
<blockquote>
<p>und sich den Zeitstempel holt, bekommt von mir 100 EUR in bar (Briefumschlag).</p>
</blockquote>
<p>Ich bin auch dafuer, dass du die 100 EUR als Spende an SELFHTML e.V. ueberweist.<br>
Nachweis darueber haette ich aber gern, Danke.</p>
<p>MfG ChrisB</p>
https://forum.selfhtml.org/self/2008/apr/18/wettangebot-verschluesselung-knacken/1235808#m1235808suitsuit@blub.at2008-04-18T08:57:32Z2008-04-18T08:57:32ZWettangebot: Verschlüsselung knacken<blockquote>
<p>Hier ist eine verschlüsselte Datei nach meinem Muster:<br>
aWRZYWpoZiBrMDsqJydvaVVPIE9IYiU6L1O1tcggtHkgVVnkFoz9SPpPP84eapS/pzTsc...(abgebrochen)</p>
</blockquote>
<p>ein symetrischer algorithmus ist niemals sicher - sobald bekannt ist, wie er funktioniert ist er problemlos zurückzurechnen.</p>
<p>ein asymetrisches verfahren kan sicher sein, allerdings lässt sich die sicherheit nur dann prüfen, wenn der algorithmus zugänglich ist.</p>
<p>Was du betreibst, ist security through obscurity - und das ist potentiell gefährlich</p>
<p>security through obscurity -> rot13 -> frphevgl guebhtu bofphevgl</p>
<p>schon sieht das ganze "verschlüsselt" aus, ein mensch der den mechanismus hinter rot13 nicht kennt, wird sicher eine zeit benötigen, das ganze zu knacken - sobald aber bekannt wird, wie das ganze funktioniert ist das ganze wertlos und nur eine frage der zeit</p>
https://forum.selfhtml.org/self/2008/apr/18/wettangebot-verschluesselung-knacken/1235807#m1235807dedlfix2008-04-18T14:31:46Z2008-04-18T14:31:46ZWettangebot: Verschlüsselung knacken<p>echo $begrüßung;</p>
<blockquote>
<p>Wer daraus bis zum 24. April 2008 24:00 Uhr als Erster wieder eine Datei machen kann und HIER IM FORUM seinen Weg beschreibt und sich den Zeitstempel holt,</p>
</blockquote>
<p>Wie man eine Datei draus macht, ist ja schon beschrieben worden. Da nicht bekannt ist, wie der Inhalt aussieht, poste ich hier einfach mal die 256^47834 Möglichkeiten. Eine davon wird schon stimmen ... Du könntest das Forum aber auch vor diesem Müll bewahren und wenigstens eine Prüfsumme angeben, damit man weiß, dass es die richtige Lösung ist. Alternativ könntest du auch was anderes zum Inhalt verlauten lassen, denn jemand der an etwas Interesse hat, weiß im Allgmeinen, was das Ziel ist. (Nein, die 100 Euro sind es nicht, die kann ich mir effizienter verdienen.)</p>
<p>echo "$verabschiedung $name";</p>
https://forum.selfhtml.org/self/2008/apr/18/wettangebot-verschluesselung-knacken/1235806#m1235806Rapsody2008-04-18T16:15:09Z2008-04-18T16:15:09ZWettangebot: Verschlüsselung knacken<p>Hallo Kalle,</p>
<p>die Meinungen der anderen Interessiert mich nicht und ich verstehe auch nicht warum sich hier soviele aufregen. Ich finde deine Idee sehr gut und es hat ja auch eine Welle geschlagen - ob es nun sinnvoll ist oder nicht -.</p>
<p>Ich hingegen habe mich durch deine Aufgabe inspirieren lassen und habe Interesse am Thema "Cryptologie" gefunden und werde mich -soweit es meine Zeit zulässt- näher damit beschäftigen.</p>
<p>Danke Kalle :)</p>
<p>Rapsody</p>
https://forum.selfhtml.org/self/2008/apr/18/wettangebot-verschluesselung-knacken/1235805#m1235805Orlando2008-04-18T17:06:26Z2008-04-18T17:06:26ZWettangebot: Verschlüsselung knacken<blockquote>
<p><a href="http://remso.de/wette.php" rel="nofollow noopener noreferrer">http://remso.de/wette.php</a></p>
<p>Wer daraus bis zum 24. April 2008 24:00 Uhr als Erster wieder eine Datei machen kann und HIER IM FORUM seinen Weg beschreibt und sich den Zeitstempel holt, bekommt von mir 100 EUR in bar (Briefumschlag).</p>
</blockquote>
<p>Es handelt sich um die ersten 64 kB der Forumshauptdatei. Meine Adresse findest du im Impressum.</p>
<p><a href="http://skop.net/" rel="nofollow noopener noreferrer">Roland</a></p>
<div class="signature">-- <br>
<img src="http://skop.net/self/topfives.png" alt="" loading="lazy"> <a href="http://topfives.org/" rel="nofollow noopener noreferrer">Top Fives</a> // »<a href="http://topfives.org/2008/schlechte-werbung/" rel="nofollow noopener noreferrer">Schlechte Werbung.</a> Gibt es nicht.« // <a href="http://topfives.org/mitmachen/" rel="nofollow noopener noreferrer">mitmachen</a>
</div>
https://forum.selfhtml.org/self/2008/apr/18/wettangebot-verschluesselung-knacken/1235804#m1235804Bioaceop@gmx.net2008-04-18T17:40:21Z2008-04-18T17:40:21ZWettangebot: Verschlüsselung knacken<p>Sup!</p>
<p>Solange Du genau einen Ciphertext anbietest, ist Deine Verschlüsselung wohl "sicher", da sie quasi auf ein "1-time-pad" rausläuft.<br>
Sobald aber jemand mehrere Nachrichten abfangen kann oder auf den Typ der Datei schliessen, kann er den Schlüssel stückweise rekonstruieren.</p>
<p>Z.B. wird eine HTML-Datei immer mit einem Doctype beginnen oder eine JPEG-Datei mit einem JPEG-Header.</p>
<p>Du könntest die Sicherheit Deiner Methode einwenig erhöhen, indem Du z.B. jede Nachricht mit einem zufälligen, s.g. Initialisierungsvektor beginnen lassen würdest, der dann nach dem Empfang wieder weggeworfen wird. Dann würde der gleiche Geheimtext in viele viele verschiedene verschlüsselte Texte abgebildet werden.</p>
<p>Bei Deiner aktuellen Verschlüsselung wird z.B. "Bio" (0x42 0x69 0x6f)immer gleich verschlüsselt.</p>
<p>Ist der Schlüssel z.B. "abc" (0x61, 0x62, 0x63), kommt durch XOR 0x23, 0x0b, 0x0c raus.</p>
<p>Verschlüsselst Du "Pia" (0x50, 0x69, 0x61), kommt 0x31, 0x0b, 0x02 raus.</p>
<p>Jetzt weiss ich zwar den Schlüssel nicht, wenn ich das abfange, weiss aber, dass der zweite Buchstabe beider Nachrichten gleich ist, weil der gleiche Code 0x0b rauskommt.<br>
Ich kenne auch die Differenz zwischen den beiden ersten Buchstaben 0x50 xor 0x42 = 0x12, die gleich 0x31 xor 0x23 = 0x12 ist, denn 0x42 xor 0x61 xor 0x50 xor 0x61 = 0x42 xor 0x50 xor (0x61 xor 0x61) = 0x42 xor 0x50.</p>
<p>Dadurch kann ich auf den Inhalt der verschlüsselten Dateien schliessen. Ist z.B. beim xor beider verschlüsselter Texte das MostSignificantBit selten gesetzt, sind die verschlüsselten Dateien ggf. beide (ASCII) Text. Sind die Unterschiede zufallsverteilt, ist eine Datei vielleicht komprimiert. Auf diese Weise und mit noch viel abgefahreneren Tricks haben Kryptologen Deine Verschlüsselung nach dem Abfangen weniger Nachrichten geknackt, auch wenn niemand aus dem Forum sie mittels eines Geheimtextes knacken kann.</p>
<p>Gruesse,</p>
<p>Bio</p>
<div class="signature">-- <br>
Never give up, never surrender!!!
</div>
https://forum.selfhtml.org/self/2008/apr/18/wettangebot-verschluesselung-knacken/1235803#m1235803Sven Rautenberghttp://www.rtbg.de2008-04-18T18:10:10Z2008-04-18T18:10:10ZWettangebot: Verschlüsselung knacken<p>Moin!</p>
<blockquote>
<p>Wer daraus bis zum 24. April 2008 24:00 Uhr als Erster wieder eine Datei machen kann und HIER IM FORUM seinen Weg beschreibt und sich den Zeitstempel holt, bekommt von mir 100 EUR in bar (Briefumschlag).</p>
</blockquote>
<p>Die Frage ist doch: Was ist damit bewiesen?</p>
<p>Wenn jemand deine Nachricht knackt (die Frage ist, wie man das feststellen kann), weißt du, dass dein Mechanismus unsicher ist. Das wußtest du schon vorher - zumindest wurde es dir gesagt.</p>
<p>Wenn niemand die Nachricht knackt, weißt du aber nicht, dass dein Mechanismus sicher ist - es könnte sich ja einfach nur niemand damit beschäftigt haben.</p>
<p>Ansonsten verweise ich auch gern auf Bios Begründung: Eine einmalige Verschlüsselung ist relativ gesehen deutlich "sicherer", als eine immer wiederkehrende, gleichartige Kommunikation. Die diversen Unsicherheiten z.B. in der Verschlüsselung von älteren MS-Office-Dokumenten (Passwortschutz) ist nur deshalb aufgedeckt und gebrochen worden, weil mehr als ein Dokument analysiert wurden, und typische Dateistrukturen entdeckt wurden, die in der codierten Datei wiedererkannt wurden.</p>
<p>Insgesamt ist die Kryptoanalyse ein interessantes, aber auch aufwendiges Feld. Ich glaube kaum, dass du einen Experten für 100 Euro hinterm Ofen hervorlocken kannst.</p>
<p>- Sven Rautenberg</p>
<div class="signature">-- <br>
"Love your nation - respect the others."
</div>
https://forum.selfhtml.org/self/2008/apr/18/wettangebot-verschluesselung-knacken/1235802#m1235802Henryk Plötzhenryk@ploetzli.chhttp://www.ploetzli.ch/blog/2008-04-18T22:17:39Z2008-04-18T22:17:39ZWettangebot: Verschlüsselung knacken<p>Moin,</p>
<blockquote>
<p>Hier ist eine verschlüsselte Datei nach meinem Muster:<br>
aWRZYWpoZiBrMDsqJydvaVVPIE9IYiU6L1O1tcggtHkgVVnkFoz9SPpPP84eapS/pzTsc...(abgebrochen)</p>
</blockquote>
<p>Meine Glaskugel sagt mir dass das eine ZIP-Datei ist. Weiterhin: in <a href="http://tm3-fuhrpark.de/send_file.php?infile=send_file.php" rel="nofollow noopener noreferrer">http://tm3-fuhrpark.de/send_file.php?infile=send_file.php</a> hast du bei</p>
<pre><code class="block language-php">
<span class="token variable">$schl_kopie</span> <span class="token operator">=</span> <span class="token function">substr</span><span class="token punctuation">(</span> <span class="token variable">$schl_kopie</span><span class="token punctuation">,</span> <span class="token number">5</span><span class="token punctuation">,</span> <span class="token function">strlen</span><span class="token punctuation">(</span><span class="token variable">$schl_kopie</span><span class="token punctuation">)</span><span class="token operator">-</span><span class="token number">5</span> <span class="token punctuation">)</span><span class="token operator">.</span><span class="token function">substr</span><span class="token punctuation">(</span> <span class="token variable">$schl_kopie</span><span class="token punctuation">,</span> <span class="token number">0</span><span class="token punctuation">,</span> <span class="token number">5</span> <span class="token punctuation">)</span><span class="token punctuation">;</span>
</code></pre>
<p>eine Referenz auf die magische Zahl 5 verwendet. Hast du diese magische Zahl auch bei deiner Wettdatei verwendet oder hast du da eine andere Zahl verwendet? Wenn ja, welche.</p>
<p>Im übrigen ist</p>
<pre><code class="block language-php">
<span class="token keyword">if</span> <span class="token punctuation">(</span><span class="token operator">!</span><span class="token function">strpos</span><span class="token punctuation">(</span> <span class="token string single-quoted-string">'x'</span><span class="token operator">.</span><span class="token variable">$input_file</span><span class="token punctuation">,</span> <span class="token string single-quoted-string">'send_file'</span> <span class="token punctuation">)</span><span class="token punctuation">)</span>
</code></pre>
<p>eine *echt* blöde Idee um die Gültigkeit der Eingabe zu überprüfen. Und das sollte man schon gar nicht *nach* dem Öffnen der Datei tun.</p>
<div class="signature">-- <br>
Henryk Plötz<br>
Grüße aus Berlin<br>
~~~~~~~~ Un-CDs, nein danke! <a href="http://www.heise.de/ct/cd-register/" rel="nofollow noopener noreferrer">http://www.heise.de/ct/cd-register/</a> ~~~~~~~~<br>
~~ Help Microsoft fight software piracy: Give Linux to a friend today! ~~
</div>
https://forum.selfhtml.org/self/2008/apr/18/wettangebot-verschluesselung-knacken/1235771#m1235771Kalle_B2008-04-19T08:00:14Z2008-04-19T08:00:14ZWettangebot: Verschlüsselung knacken<p>Hallöle,</p>
<p>möchte nur mal eben bestätigen, dass ich die Nachrichten hier natürlich mit großem Interesse verfolge.</p>
<p>Aber einen Kommentar werde ich nicht abgeben. Ihr kennt doch das Spiel, mit Fragen, die nur mit JA oder NEIN beantwortet werden, zum Ziel zu kommen.</p>
<p>Da waren solche versteckten Fragen: Ist es eine ZIP- Datei? Kommt "Bio" drin vor?</p>
<p>Mir fällt nur gerade ein, dass am Stichtag diese Diskussion schon im Archiv gelandet sein könnte und nicht mehr beantwortet werden kann. Wer die Lösung hat, macht dann bitte einen neuen Faden auf.</p>
<p>Und bitte Info an meine Mail- Adresse.</p>
<p>Ach ja, die Bemerkung, dass ein "Fachmann" nicht für 100 EUR hinterm Ofen vorzulocken ist, scheint mir ein Hinweis auf den doch nicht so trivialen Schwierigkeitsgrad zu sein. Die vorangegangene Diskussionen sah eher so aus, als ob jeder IT- Student mit ein paar Klicks das Ergebnis hat.</p>
<p>Und für den sind 100 EUR schon was.</p>
<p>Fröhliches Tüfteln wünscht euch Kalle</p>
https://forum.selfhtml.org/self/2008/apr/18/wettangebot-verschluesselung-knacken/1235765#m1235765Kalle_B2008-04-25T10:04:27Z2008-04-25T10:04:27ZDanke an Henryk<p>Hallo, Henryk,</p>
<p>danke dir für deine Arbeit. War ein Klasse Beitrag.</p>
<p>Gleich geht eine Mail an henryk@ploetzli.ch, um deine Adresse abzufragen.</p>
<p>Bei deiner Mailadresse kommt ein uraltes Bild in mir hoch, auf einem Milchwagen standen drei Buchstaben und dahinter war das Schweizer Kennzeichen:</p>
<p>MIL - CH</p>
<p>Die Schweizer sparen eben, wo sie können. Und rechnen den Euro schon mal etwas leger zu ihren Gunsten um. Jedenfalls am Bodensee.</p>
<p>LG Kalle_B</p>
https://forum.selfhtml.org/self/2008/apr/18/wettangebot-verschluesselung-knacken/1235770#m1235770Linksetzer2008-04-25T10:17:43Z2008-04-25T10:17:43ZDanke an Henryk<blockquote>
<p>Bei deiner Mailadresse kommt ein uraltes Bild in mir hoch, auf einem Milchwagen standen drei Buchstaben und dahinter war das Schweizer Kennzeichen:</p>
<p>MIL - CH</p>
<p>Die Schweizer sparen eben, wo sie können. Und rechnen den Euro schon mal etwas leger zu ihren Gunsten um. Jedenfalls am Bodensee.</p>
</blockquote>
<p><a href="http://de.wikipedia.org/wiki/Autokennzeichen_(Schweiz)" rel="nofollow noopener noreferrer">http://de.wikipedia.org/wiki/Autokennzeichen_(Schweiz)</a></p>
<p><a href="http://de.wikipedia.org/wiki/Liste_der_Kfz-Kennzeichen_in_Deutschland#M" rel="nofollow noopener noreferrer">http://de.wikipedia.org/wiki/Liste_der_Kfz-Kennzeichen_in_Deutschland#M</a><br>
<a href="http://de.wikipedia.org/wiki/Landkreis_Miltenberg" rel="nofollow noopener noreferrer">http://de.wikipedia.org/wiki/Landkreis_Miltenberg</a></p>
https://forum.selfhtml.org/self/2008/apr/18/wettangebot-verschluesselung-knacken/1235767#m1235767dedlfix2008-04-25T11:04:57Z2008-04-25T11:04:57ZDanke an Henryk<p>echo $begrüßung;</p>
<p>Eine Empfehlung: Du solltest hier im Forum nicht immer nur Fragen zu deinen speziellen Probleme stellen sondern auch mal aufmerksam mitlesen, wenn Hinweise an andere gegeben werden. Bei jemandem, der grad zu programmieren angefangen hat, dann dieses Forum entdeckt und sein Problem beschreibt, bei dem die geübten Augen neben ebendiesem noch ein paar unbeachtete sicherheitsrelevante Lücken feststellt ist, ist das verständlich. Wenn man aber bei dir, der du doch auch zu den Stammusern gezählt werden kann, auf deiner Seite ebendiese hier sehr häufig angesprochenen Sicherheitslücken entdeckt, dann bleibt einem nur, sich stark zu wundern.</p>
<p>Ein Lesetipp: <a href="http://www.heise.de/security/Sicherheit-von-Webanwendungen--/artikel/84149" rel="nofollow noopener noreferrer">http://www.heise.de/security/Sicherheit-von-Webanwendungen--/artikel/84149</a></p>
<p>echo "$verabschiedung $name";</p>
https://forum.selfhtml.org/self/2008/apr/18/wettangebot-verschluesselung-knacken/1235766#m1235766Henryk Plötzhenryk@ploetzli.chhttp://www.ploetzli.ch/blog/2008-04-28T08:47:45Z2008-04-28T08:47:45ZDanke an Henryk<p>Moin,</p>
<blockquote>
<p>Bei deiner Mailadresse kommt ein uraltes Bild in mir hoch, auf einem Milchwagen standen drei Buchstaben und dahinter war das Schweizer Kennzeichen:</p>
<p>MIL - CH</p>
</blockquote>
<p>Zur allgemeinen Information: Grade kam ein Einschreiben mit Rückschein von Kalle. Inhalt: zwei Fünfzig-Euro-Scheine, fein säuberlich an ein Stück von einem Milchtütenkarton getackert.</p>
<p>Dank zurück.</p>
<div class="signature">-- <br>
Henryk Plötz<br>
Grüße aus Berlin<br>
~~~~~~~~ Un-CDs, nein danke! <a href="http://www.heise.de/ct/cd-register/" rel="nofollow noopener noreferrer">http://www.heise.de/ct/cd-register/</a> ~~~~~~~~<br>
~~ Help Microsoft fight software piracy: Give Linux to a friend today! ~~
</div>
https://forum.selfhtml.org/self/2008/apr/18/wettangebot-verschluesselung-knacken/1235768#m1235768Kalle_B2008-04-25T14:51:44Z2008-04-25T14:51:44ZDanke an Henryk<p>Hallo, dedlfix,</p>
<p>ich wünschte mir so manches berufsbegleitende Wochenend- oder Abendseminar, in dem man als Programmierer mal mit solchen Fachthemen konfrontiert wird. In den Volkshochschulen lernt man das Mäuseschubsen für Anfänger und ein bisschen Microsoft.</p>
<p>Für mich als "Alleinunterhalter" ist mir das Forum eine wertvolle Hilfe, aber ich kann nicht ständig am Bildschirm kleben und mitlesen. Sitze pro Tag schon viel zu lange davor.</p>
<p>Muss diese Faden noch auswerten. Beim Lesen bin ich nicht viel schlauer geworden, nur einer Illusion beraubt, was mir 100 € wert war.</p>
<p>Kalle</p>
https://forum.selfhtml.org/self/2008/apr/18/wettangebot-verschluesselung-knacken/1235769#m1235769dedlfix2008-04-25T15:23:58Z2008-04-25T15:23:58ZDanke an Henryk<p>echo $begrüßung;</p>
<blockquote>
<p>Für mich als "Alleinunterhalter" ist mir das Forum eine wertvolle Hilfe, aber ich kann nicht ständig am Bildschirm kleben und mitlesen. Sitze pro Tag schon viel zu lange davor.</p>
</blockquote>
<p>Das ist nachvollziehbar, und den letzten Satz werden sicher nicht wenige hier genauso von sich sagen. Doch kann ich es mit gut vorstellen (ohne es jemandem zu wünschen), dass man die Zeit, die man nicht zum Erlangen sicherheitsrelevanten Wissens verwendet, eines Tages für das Aufräumen und Wiederherstellen des Systems und des Imageschadens nach dem Ausnutzen einer der Lücken durch Unwissenheit verwenden muss.</p>
<p>echo "$verabschiedung $name";</p>
https://forum.selfhtml.org/self/2008/apr/18/wettangebot-verschluesselung-knacken/1235772#m1235772Henryk Plötzhenryk@ploetzli.chhttp://www.ploetzli.ch/blog/2008-04-20T06:18:33Z2008-04-20T06:18:33ZWettangebot: Verschlüsselung knacken<p>Moin,</p>
<blockquote>
<p>Da waren solche versteckten Fragen: Ist es eine ZIP- Datei? Kommt "Bio" drin vor?</p>
</blockquote>
<p>Ja, ist es vermutlich (der Algorithmus leakt Informationen über die Struktur des Klartexts und das was leakt ist konsistent mit ZIP-Dateien, aber zum Beispiel nicht mit JPG-Dateien). Es ist auf jeden Fall eine Binärdatei und keine reine Textdatei.</p>
<p>Du spielst ausserdem nicht vollständig fair und verwendest nicht direkt den Algorithmus von <a href="http://tm3-fuhrpark.de/send_file.php?infile=send_file.php" rel="nofollow noopener noreferrer">http://tm3-fuhrpark.de/send_file.php?infile=send_file.php</a> (der übrigens einen Bug in dem Code den du eingebaut hast enthält der in meinem Originalcode nicht drin war). Der dort veröffentlichte Code hinterlässt eine spezifische Signatur in der verschlüsselten Datei und deine Wettdatei passt nicht ganz darauf, sondern auf eine leicht abgeänderte Variante. Meine Vermutung ist, dass du die 5 in dem Code nicht konstant hältst sondern veränderst, bzw. etwas tust was ungefähr äquivalent im Ergebnis ist.</p>
<p>Kenntnis des richtigen Algorithmus führt in diesem Fall direkt (oder mit nur wenig Handarbeit) zum Schlüssel, da diese Art von Verschlüsselung extrem anfällig für known-plaintext-Angriffe ist, man aber säckeweise bekannten (oder zumindest geratenen) plaintext zur Hand hat. Zumal dein Schlüsselgenerierungsverfahren ("Finger auf Tastatur", aber hey, immerhin hast du Zeichen wie "á" und "ò" drin) extrem schwach ist.</p>
<p>Übrigens ist quasi kein heute verbreitetes richtiges[tm] Verschlüsselungsverfahren für known-plaintext-Angriffe anfällig. Das dürfte auch für alle Algorithmen im mcrypt-Modul zutreffen.</p>
<div class="signature">-- <br>
Henryk Plötz<br>
Grüße aus Berlin<br>
~~~~~~~~ Un-CDs, nein danke! <a href="http://www.heise.de/ct/cd-register/" rel="nofollow noopener noreferrer">http://www.heise.de/ct/cd-register/</a> ~~~~~~~~<br>
~~ Help Microsoft fight software piracy: Give Linux to a friend today! ~~
</div>
https://forum.selfhtml.org/self/2008/apr/18/wettangebot-verschluesselung-knacken/1235773#m1235773Henryk Plötzhenryk@ploetzli.chhttp://www.ploetzli.ch/blog/2008-04-22T07:17:20Z2008-04-22T07:17:20ZWettangebot: Verschlüsselung knacken<p>Moin,</p>
<blockquote>
<blockquote>
<p>Da waren solche versteckten Fragen: Ist es eine ZIP- Datei? Kommt "Bio" drin vor?</p>
</blockquote>
<p>Ja, ist es vermutlich</p>
</blockquote>
<p>Oder auch nicht... An Offset 0xb8db vom wiederhergestellten Klartext der Datei steht der String "LAME3.96.1" und davor und dahinter sind eine Menge "U".</p>
<p>(Damit ziehe ich auch meine Bemerkung zu "á" und "ò" zurück. Da war ich davon ausgegangen dass das konstante Zeichen eine binäre 0 ist, wie bei ZIP-Dateien üblich. Aber wenn das konstante Zeichen "U" ist, dann sind das natürlich "´" und "§".)</p>
<div class="signature">-- <br>
Henryk Plötz<br>
Grüße aus Berlin<br>
~~~~~~~~ Un-CDs, nein danke! <a href="http://www.heise.de/ct/cd-register/" rel="nofollow noopener noreferrer">http://www.heise.de/ct/cd-register/</a> ~~~~~~~~<br>
~~ Help Microsoft fight software piracy: Give Linux to a friend today! ~~
</div>
https://forum.selfhtml.org/self/2008/apr/18/wettangebot-verschluesselung-knacken/1235774#m1235774Henryk Plötzhenryk@ploetzli.chhttp://www.ploetzli.ch/blog/2008-04-23T12:17:37Z2008-04-23T12:17:37ZWettangebot: Verschlüsselung knacken<p>Moin,</p>
<p>Hier die Ingrid nochmal...</p>
<p>der Anfang der Datei ist</p>
<pre><code class="block language-python">
<span class="token punctuation">[</span><span class="token string">'I'</span><span class="token punctuation">,</span> <span class="token string">'D'</span><span class="token punctuation">,</span> <span class="token string">'3'</span><span class="token punctuation">,</span> <span class="token comment"># Magic </span>
<span class="token string">'\x03'</span><span class="token punctuation">,</span> <span class="token string">'\x00'</span><span class="token punctuation">,</span> <span class="token comment"># Version 2.3.0 </span>
<span class="token string">'\x00'</span><span class="token punctuation">,</span> <span class="token comment"># Flags: 0 </span>
<span class="token string">'\x00'</span><span class="token punctuation">,</span> <span class="token string">'\x00'</span><span class="token punctuation">,</span> <span class="token string">'\x00'</span><span class="token punctuation">,</span> <span class="token string">'\x10'</span><span class="token punctuation">,</span> <span class="token comment"># ID3v2-Headerlänge (ohne header, mit padding) 0x10 = 16, </span>
<span class="token string">'T'</span><span class="token punctuation">,</span> <span class="token string">'C'</span><span class="token punctuation">,</span> <span class="token string">'O'</span><span class="token punctuation">,</span> <span class="token string">'N'</span><span class="token punctuation">,</span> <span class="token comment"># TCON-Frame: Content-Type (e.g. Genre) </span>
<span class="token string">'\x00'</span><span class="token punctuation">,</span> <span class="token string">'\x00'</span><span class="token punctuation">,</span> <span class="token string">'\x00'</span><span class="token punctuation">,</span> <span class="token string">'\x06'</span><span class="token punctuation">,</span> <span class="token comment"># Länge: 6 (plus 10 byte Frame-Header) </span>
<span class="token string">'\x00'</span><span class="token punctuation">,</span> <span class="token string">'\x00'</span><span class="token punctuation">,</span> <span class="token comment"># Flags: 0 </span>
<span class="token string">'\x00'</span><span class="token punctuation">,</span> <span class="token comment"># Textkodierung: ISO-8859-1 </span>
<span class="token string">'B'</span><span class="token punctuation">,</span> <span class="token string">'l'</span><span class="token punctuation">,</span> <span class="token string">'u'</span><span class="token punctuation">,</span> <span class="token string">'e'</span><span class="token punctuation">,</span> <span class="token string">'s'</span><span class="token punctuation">,</span> <span class="token comment"># Inhalt: Blues </span>
<span class="token string">'\xff'</span><span class="token punctuation">,</span> <span class="token string">'\xfa'</span><span class="token punctuation">,</span> <span class="token comment"># Sync word, mpeg 1, layer 2, keine crc </span>
<span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">]</span>
</code></pre>
<p>der Schlüssel ist</p>
<pre><code class="block language-python">
<span class="token string">' jbjhf k oihioiUI OH IOJ JOP OH UZGTF DZOIFG15+\xa7$%&/()=?J;MJHGTRE xfghjuio67897856358 #+\xb4\xb42^^fghjkghujk ascdvbnm,\xdf0oizu57856'</span>
</code></pre>
<p>(als ASCII mit eingestreuten Escape-Codes für die Sonderzeichen) bzw. " jbjhf k oihioiUI OH IOJ JOP OH UZGTF DZOIFG15+§$%&/()=?J;MJHGTRE xfghjuio67897856358 #+´´2^^fghjkghujk ascdvbnm,ß0oizu57856" als Text (Zeichencodierung beachten, der Originalschlüssel ist 125 Bytes lang und ISO-8859-1-codiert).</p>
<div class="signature">-- <br>
Henryk Plötz<br>
Grüße aus Berlin<br>
~~~~~~~~ Un-CDs, nein danke! <a href="http://www.heise.de/ct/cd-register/" rel="nofollow noopener noreferrer">http://www.heise.de/ct/cd-register/</a> ~~~~~~~~<br>
~~ Help Microsoft fight software piracy: Give Linux to a friend today! ~~
</div>
https://forum.selfhtml.org/self/2008/apr/18/wettangebot-verschluesselung-knacken/1235775#m1235775Henryk Plötzhenryk@ploetzli.chhttp://www.ploetzli.ch/blog/2008-04-24T03:50:33Z2008-04-24T03:50:33ZWettangebot: Verschlüsselung knacken<p>Moin,</p>
<blockquote>
<p>Hier die Ingrid nochmal...</p>
</blockquote>
<p>Und wieder. Die vollständig wiederhergestellte Datei ist <a href="http://www.ploetzli.ch/forumtst/plaintext.decrypter-knownkey.try.b290ec282ee4fb1d5c09cb08b3b5497b8e099d5f" rel="nofollow noopener noreferrer">http://www.ploetzli.ch/forumtst/plaintext.decrypter-knownkey.try.b290ec282ee4fb1d5c09cb08b3b5497b8e099d5f</a><br>
sha1sum 9bb6bf454b48b1dce0b383520398a95c3ec7afc2,<br>
md5sum 4390284927d33dd283252dce139d3ca5.</p>
<p>Der Entschlüsselungsalgorithmus geht ungefähr so, ausgehend von dem Schlüssel den ich schon veröffentlicht habe:</p>
<ul>
<li>Man teilt die Datei in jeweils 126 Byte große Teile (Schlüssellänge + 1)</li>
<li>Für jeden Teil:<br>
+ Das letzte Byte ist mit \x00 verschlüsselt, also im Klartext, kann also ignoriert werden<br>
+ Die vorderen 125 Byte jedes Teils sind je byteweise ver-xor-t mit einer rotierten Variante des Schlüssels (<code class="language-python">key<span class="token punctuation">[</span>offset<span class="token punctuation">:</span><span class="token punctuation">]</span><span class="token operator">+</span>key<span class="token punctuation">[</span><span class="token punctuation">:</span>offset<span class="token punctuation">]</span></code>), offset-berechnung siehe unten</li>
</ul>
<pre><code class="block language-python">
<span class="token keyword">def</span> <span class="token function">offset_generator</span><span class="token punctuation">(</span>keylen<span class="token punctuation">)</span><span class="token punctuation">:</span>
offset<span class="token operator">=</span><span class="token number">0</span>
diff<span class="token operator">=</span><span class="token number">119</span>
<span class="token keyword">while</span> <span class="token boolean">True</span><span class="token punctuation">:</span>
<span class="token keyword">yield</span> offset
offset <span class="token operator">=</span> <span class="token punctuation">(</span>keylen<span class="token operator">+</span><span class="token punctuation">(</span>offset<span class="token operator">-</span>diff<span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token operator">%</span>keylen
diff <span class="token operator">=</span> diff<span class="token operator">-</span><span class="token number">1</span>
<span class="token keyword">if</span> diff <span class="token operator"><</span> <span class="token number">45</span><span class="token punctuation">:</span> diff <span class="token operator">=</span> <span class="token number">120</span>
</code></pre>
<p>Detaillierte Beschreibung der Vorgehensweise (mit Grafiken in Farbe und Bunt) folgt noch.</p>
<div class="signature">-- <br>
Henryk Plötz<br>
Grüße aus Berlin<br>
~~~~~~~~ Un-CDs, nein danke! <a href="http://www.heise.de/ct/cd-register/" rel="nofollow noopener noreferrer">http://www.heise.de/ct/cd-register/</a> ~~~~~~~~<br>
~~ Help Microsoft fight software piracy: Give Linux to a friend today! ~~
</div>
https://forum.selfhtml.org/self/2008/apr/18/wettangebot-verschluesselung-knacken/1235801#m1235801Tomselfhtml.tom@online.dehttp://selfhtml.bitworks.de2008-04-24T18:19:16Z2008-04-24T18:19:16ZWettangebot: Verschlüsselung knacken<p>Hello Henryk,</p>
<blockquote>
<p>Detaillierte Beschreibung der Vorgehensweise (mit Grafiken in Farbe und Bunt) folgt noch.</p>
</blockquote>
<p>Alle Achtung, wenn ich Hut tragen würde, würde ich den jetzt vor Dir ziehen.</p>
<p>Wäre wirklich schön, wenn Du den Enschlüsselungsgang an diesem Beispiel mal dokumentieren würdest. Man wiegt sich immer viel zu schnell in Sicherheit.</p>
<p>Ich hatte mir da auch mal eine tolle "Verschlüsselung" ausgedacht, und wollte die immer schon mal mit jemandem mathematisch überprüfen. Nun ist sie aber leider verschwunden. Ist vielleicht auch besser so ;-))</p>
<p>Ein harzliches Glückauf</p>
<p>Tom vom Berg<br>
<img src="http://selfhtml.bitworks.de/Virencheck.gif" alt="" loading="lazy"></p>
<div class="signature">-- <br>
Nur selber lernen macht schlau<br>
<a href="http://bergpost.annerschbarrich.de" rel="nofollow noopener noreferrer">http://bergpost.annerschbarrich.de</a>
</div>
https://forum.selfhtml.org/self/2008/apr/18/wettangebot-verschluesselung-knacken/1235776#m1235776Henryk Plötzhenryk@ploetzli.chhttp://www.ploetzli.ch/blog/2008-04-24T20:56:22Z2008-04-24T20:56:22ZWettangebot: Verschlüsselung geknackt - mit Erklärung<p>Moin,</p>
<p>Also, wir fangen an mit dem "Geheimtext" (aWRZYWpoZiBrMDsqJydvaVVPIE9IYiU6L1O1tcggtHkgVVnkFoz9SPpPP84eapS/pzTsc...) von <a href="http://remso.de/wette.php" rel="nofollow noopener noreferrer">http://remso.de/wette.php</a>: <a href="http://www.ploetzli.ch/xorwette/ciphertext" rel="nofollow noopener noreferrer">ciphertext</a>. Relativ offensichtlich ist das BASE64-codiert, also erstmal [code]$ base64 -d < ciphertext > ciphertext.d64[/code] um <a href="http://www.ploetzli.ch/xorwette/ciphertext.d64" rel="nofollow noopener noreferrer">ciphertext.d64</a> zu erhalten. Das wird die Datei sein mit der wir ab jetzt arbeiten.</p>
<p>Wir wissen: Es ist eine einfache <a href="http://de.wikipedia.org/wiki/Polyalphabetische_Substitution" rel="nofollow noopener noreferrer">Polyalphabetische Substitution</a>. Die übliche erste Vorgehensweise ist <a href="http://de.wikipedia.org/wiki/Autokorrelation" rel="nofollow noopener noreferrer">Autokorrelation</a>: <a href="http://www.ploetzli.ch/xorwette/autocorr.c" rel="nofollow noopener noreferrer">autocorr.c</a>:
[code]
henryk@dawn ~/xorwette $ time ./autocorr ciphertext.d64 > <a href="http://www.ploetzli.ch/xorwette/ciphertext.autocorr" rel="nofollow noopener noreferrer">ciphertext.autocorr</a></p>
<p>real 0m6.487s
user 0m6.080s
sys 0m0.010s
[/code]</p>
<p>Oder als Graph:
<img src="http://www.ploetzli.ch/xorwette/autocorr.png" alt="http://www.ploetzli.ch/xorwette/autocorr.png" loading="lazy"></p>
<p>Wie wir sehen sehen wir nichts. Die Autokorrelation bringt uns in diesem Fall also nichts, nichtmal die Schlüssellänge. Nagut, nächste Standardvorgehensweise für unbekannte Dateien ist ein Hexdump ([code]hexdump -C ciphertext.d64 | less[/code]):
<img src="http://www.ploetzli.ch/xorwette/hexdump-anfang.png" alt="http://www.ploetzli.ch/xorwette/hexdump-anfang.png" loading="lazy">
und
<img src="http://www.ploetzli.ch/xorwette/hexdump-ende.png" alt="http://www.ploetzli.ch/xorwette/hexdump-ende.png" loading="lazy"></p>
<p>Da sind mehrere ASCII-Zeichen am Dateifang was sehr verdächtig ist und bei einer verschlüsselten Datei nie passieren dürfte. Aber am Dateiende ist's noch viel schlimmer: viel ASCII-Text, der sich auch noch wiederholt (klassisch für polyalphetische Chiffrierungen wenn immer wieder das gleiche Zeichen verschlüsselt wird). Das war die Stelle an der mir klar war dass dieses Verfahren sehr einfach gebrochen werden können müsste. Wenn man sich die Verteilung der Byte-Werte ansieht (und vor allem das most significant bit) sieht man dass die Datei mit etwa 26 Bytes ohne MSBit gesetzt beginnt und mit etwa 600 bis 700 Byte mit nur wenigen MSBit gesetzt endet, dazwischen scheinen die Werte zufällig verteilt zu sein. Eigentlich[tm] sind zufällig aussehende Bytewerte ein Zeichen für ordentliche Verschlüsselung, bzw. andersrum: Wenn die Bytes nicht zufällig verteilt sind ist es nicht ordentlich verschlüsselt. Wir haben schon die nicht-zufällige Verteilung am Anfang und Ende festgestellt, also keine ordentliche Verschlüsselung, also werden das in der Mitte einfach komprimierte Daten sein.</p>
<p>Was beginnt mit ein paar Bytes ohne MSBit gesetzt, enthält komprimierte Daten und endet mit relativ vielen gleichen (0) Bytes mit nur wenigen MSBit gesetzt? Theorie: ZIP. Eine ZIP-Datei würde mit den vier Bytes <code>['P', 'K', '\x03', '\x04']</code> beginnen, wir behalten das mal im Hinterkopf.</p>
<p>Vielleicht erstmal die Schlüssellänge bestimmen. Dazu müssten wir die Wiederholungen am Ende der Datei quantisieren. Ein paar der auffälligen Muster suchen und Abstände bestimmen: "qpsz}|" zu "qpsz}|", "<:cbmlbm" zu "<:cbmlbm" usw. Problem: Da kommen dauernd unterschiedliche Abstände raus. Eigentlich[tm] sollten die Abstände gleich sein und gleich der Schlüssellänge sein. Demnach hätten wir gleichzeitig Schlüssellängen von 49, 173, 172, 46, 47, 171, usw. Wir erinnern uns an <a href="http://forum.de.selfhtml.org/archiv/2008/4/t169920/#m1110125" rel="nofollow noopener noreferrer">http://forum.de.selfhtml.org/archiv/2008/4/t169920/#m1110125</a> mit dem Link zu <a href="http://tm3-fuhrpark.de/send_file.php?infile=send_file.php" rel="nofollow noopener noreferrer">http://tm3-fuhrpark.de/send_file.php?infile=send_file.php</a> (jetzt defunct, konservierte Version <a href="http://www.ploetzli.ch/xorwette/send_file.txt" rel="nofollow noopener noreferrer">hier</a>). Dort wurde nicht die straight-forward Vigenère-Verschlüsselung verwendet sondern eine unmotivierte (und nur wenig sicherere) Variante: Statt den Schlüssel direkt zu wiederholen, wird er vor jeder Wiederholung um 5 rotiert. Nebenbei ist da noch ein Bug drin der pro Schlüssel-Wiederholung ein Zeichen Klartext unverschlüsselt in die Ausgabe schreibt (die Prüfung ist auf <code>if ( $j > strlen($schl_kopie) )</code> statt auf <code>if ( $j >= strlen($schl_kopie) )</code>, was erlaubt dass auf <code>$schl_kopie[strlen($schl_kopie)]</code> zurückgegriffen wird, was <code>""</code> ergibt und <code>ord("")</code> ergibt einfach 0 ohne Warnung. Mir ist das dann später beim programmieren meiner eigenen Version in Python aufgefallen weil Python eine Exception wirft wenn man ord auf "" anwendet.</p>
<p>Mit diesen Erkenntnissen wenden wir jetzt mal noch ein neues und cooles Werkzeug an: <a href="http://de.wikipedia.org/wiki/Dotplot" rel="nofollow noopener noreferrer">Dotplot</a>s. Damit kann man Selbstähnlichkeiten in großen Strings graphisch darstellen.</p>
<p><img src="http://www.ploetzli.ch/xorwette/dotplot-mittendrin.png" alt="http://www.ploetzli.ch/xorwette/dotplot-mittendrin.png" loading="lazy">
zeigt einen beliebigen Teil in der Mitte der Datei, ohne selbstähnlichkeit, alles sehr zufällig. Gut verschlüsselt oder gut komprimiert.</p>
<p><img src="http://www.ploetzli.ch/xorwette/dotplot-interesting.png" alt="http://www.ploetzli.ch/xorwette/dotplot-interesting.png" loading="lazy">
vom Ende der Datei (die Achsenbeschriftungen sind falsch, da muss jeweils noch 47034 addiert werden) ist interessanter. Viel Selbstähnlichkeit. Um das zu filtern habe ich ein <a href="http://www.ploetzli.ch/xorwette/ngram.py" rel="nofollow noopener noreferrer">Tool</a> (Vorsicht, da ist ganz viel anderer Code, teilweise mit if False auskommentiert drin) geschrieben was alle wiederholten Teile aus der Datei extrahiert (ein paar Strings werden bis zu fünfmal wiederholt) und den Dotplot nur für diese Teile <a href="http://www.ploetzli.ch/xorwette/dotplot-keystream-ende.png" rel="nofollow noopener noreferrer">malt</a>. Das sollte direkt den Keystream geben (falls das konstante Zeichen 0x0 ist, wie bei ZIP zu vermuten). Wenn man dann zum Zwecke der Rauschunterdrückung den Dotplot nur für 4gramme malt, sieht das so aus:</p>
<p><img src="http://www.ploetzli.ch/xorwette/dotplot-keystream-ende-4gram.png" alt="http://www.ploetzli.ch/xorwette/dotplot-keystream-ende-4gram.png" loading="lazy"></p>
<p>Die Stellen wo die Hauptdiagonale fehlt sind die Stellen für die kein wiederhergestellter Keystream existiert (dort wurde also nicht das konstante Zeichen verschlüsselt). Das führt dazu dass auch alle Wiederholungen des keystreams an dieser Stelle unterbrochen sind. Ein Beispielkeystream, erstellt mit dem ursprünglichen Algorithmus von send_file.php, Schlüssellänge 175, Sprungweite 45 sieht so aus:
<img src="http://www.ploetzli.ch/xorwette/dotplot-testdata.175.045.png" alt="http://www.ploetzli.ch/xorwette/dotplot-testdata.175.045.png" loading="lazy"></p>
<p>Wir sind also ganz gut auf dem Weg.</p>
<p>Durch Messen der Abstände der Nebendiagonalen zur Hauptdiagonalen müssten wir relativ direkt auf Schlüssellänge und Sprungweite kommen. Pustekuchen. Ich hab die Abstände der beiden wichtigsten Nebendiagonalen (die zusammen den Schlüssel repräsentieren sollten, die anderen sollten nur Spiegelungen sein) mal eingezeichnet:
<img src="http://www.ploetzli.ch/xorwette/dotplot-keystream-ende-4gram-annotate.png" alt="http://www.ploetzli.ch/xorwette/dotplot-keystream-ende-4gram-annotate.png" loading="lazy"></p>
<p>Die Abstände sind nicht gleich, sondern verändern sich. Hier wird geschummelt. Ich habe dann relativ lange versucht auf halbwegs elegante und automatische Weise auf die Art der Veränderung zu kommen. Offenbar wird die Sprungweite die wir aus dem send_file-Algorithmus kennen bei jedem Sprung verändert. Dazu hab ich ein Programm geschrieben was alle Möglichkeiten durchgeht und Bilder generiert. Dann war mir das auswerten der Bilder zu viel und ich hab es die Abstände berechnen lassen und nach den gleichen Abständen gesucht. Da kamen zu viele false positives raus, und mir fiel ein dass ich ja gar nicht gleiche Abstände haben will, sondern identische Punkte. (In C programmiert und mit -O3 übersetzt dauert das übrigens nur 40 Sekunden.) Da kamen bloß noch zwei positives raus: Schlüssellänge 125 und Initialsprungweite 73, sowie 125 und 20. Die sind zwar beide unterschiedlich, erzeugen aber am Ende der Datei exakt das gleiche Bild wie die bekannten Schlüsselstromdaten (grün theoretische Daten, kaum zu sehen rot die echten Daten):
<img src="http://www.ploetzli.ch/xorwette/dotplot-keystream-ende-10gram-vs-testdata.125.73.png" alt="http://www.ploetzli.ch/xorwette/dotplot-keystream-ende-10gram-vs-testdata.125.73.png" loading="lazy"></p>
<p>Am Anfang der Datei sind die beiden aber unterschiedlich, und keines von beiden passt. Um wenigstens ein bisschen bekannten Klartext am Anfang der Datei zu generieren bin ich dann dazu übergegangen die ersten paar Bytes des Geheimtextes mit Bytefolgen vom Ende der Datei zu xoren. Die generierten Varianten habe ich dann dem file-Kommando vorgelegt um zu schauen ob es welche davon am Magic erkennt. Zu viele false positives: Von rund 5 Mio varianten hat file 500.000 nicht als "data" abgetan, aber die restlichen manuell zu durchsuchen war mir dann doch zu umständlich. Eins fiel aber auf: Da waren verdammt viele große "U"s (0x55) drin.</p>
<p>Stellt sich raus dass der feste Klartext am Dateiende ein "U" ist. Wenn man die letzten ca. 600 Bytes mit 0x55 xort, kriegt man direkt den Schlüsselstrom, nur von wenigen anderen Bytes unterbrochen (da wo der Klartext nicht fest U war). Auf dieser Basis kann <a href="http://www.ploetzlich/xorwette/decrypter-final.py" rel="nofollow noopener noreferrer">decrypter-final.py</a> (nein, ist noch nicht final, ist bloss finaler als die Vorversion "decrypter.py") das Ende der Datei entschlüsselt. Es berechnet die Sprungwerte mit den Parametern von eben (125 und 20 oder 125 und 73), weiss dann welche Bytes im Geheimtext welchen Schlüsselbytes entsprechen, macht eine kurze Häufigkeitsanalyse um die Stellen wegzuwerfen wo das Klartextbyte nicht fest ist und wendet ausserdem noch den oben angesprochenen Null-Byte-Bug an um den exakten Wert des festen Klartextzeichens (U) zu ermitteln und einzubeziehen. Das liefert <a href="http://www.ploetzli.ch/xorwette/ciphertext.decrypter-final" rel="nofollow noopener noreferrer">ciphertext.decrypter-final</a> (die eigentlich plaintext.decrypter-final heissen müsste) wo man den String ...UUUUUULAME3.96.1UUUUU... in allerschönster Klarheit lesen kann, sowie den Schlüssel <code>'ZOIFG15+\xa7$%&/()=?J;MJHGTRE xfghjuio67897856358 #+\xb4\xb42^^fghjkghujk ascdvbnm,\xdf0oizu57856 jbjhf k oihioiUI OH IOJ JOP OH UZGTF D'</code> (oder eine Rotation davon).</p>
<p>Kurzes Googlen zertrümmert damit auch die ZIP-Theorie. Was wir sehen ist ein LAME-Tag, welches in MP3-Dateien vorkommt. Der Dateianfang ist leider auch nicht intakt, weder 125;20 noch 125;73 sind die korrekten Parameter (oder vielleicht ist der Algorithmus auch noch etwas unvollständig).</p>
<p>Mit der neuen MP3-Theorie bewaffnet widmen wir uns nochmal dem Dateianfang. Unter Umständen könnte doch dort ein ID3v2-Tag sein, das würde sich durch die drei Bytes <code>['I', 'D', '3']</code> äussern. Wir versuchen also alle möglichen Rotationen des Schlüssels bis wir schliesslich herausfinden dass der Schlüssel mit <code>[' ', ' ', 'j']</code> anfängt, danach dann halt der Rest. Das gibt uns 125 Bytes bekannten Klartext am Dateianfang, damit müsste doch was zu machen sein.</p>
<p>Hauptaufgabe ist jetzt, die korrekte Variante der Schlüsseldrehungen zu finden, ausgehend von der Hypothese aus decrypter-final.py. Da wir zum Glück alle 126-Byte-Blöcke unabhängig voneinander behandeln können machen wir das iterativ. Den Offset für Block Teil 0 definieren wir als 0; die Offsets für die Blöcke 374 bis 379 kennen wir. Jetzt kommt die Stunde von decrypter-knownkey.py. Ausgehend von diesen vorgegebenen Offsets, der Theorie für die anderen Offsets, und mit Hilfe von <a href="http://mp3val.sourceforge.net/" rel="nofollow noopener noreferrer">mp3val</a> gehen wir Schritt für Schritt vor, in der Art von: [code]for i in <code>seq 0 125</code>; do ./decrypter-knownkey.py _ 4 $i; done[/code] (dauert 13 Sekunden) und [code]mp3val plaintext.decrypter-knownkey.try.<em>.4.*[/code] um zu sehen dass 79 der beste Wert ist, <code>3: 79</code> im Source ergänzen, dann [code]for i in <code>seq 0 125</code>; do ./decrypter-knownkey.py _ 4 _ $i; done[/code] und [code]mp3val plaintext.decrypter-knownkey.try.</em>.4._.*[/code] was 30 liefert, usw.</p>
<p>Irgendwann wird uns das manuell zu albern und wir automatisieren: <a href="//www.ploetzli.ch/xorwette/decrypter-findoffsets.py" rel="nofollow noopener noreferrer">decrypter-findoffsets.py</a> (enthält Teillösungen in Kommentaren, sowie die vollständige Lösung). Das findet zwar nur ca. alle 4 oder 5 Offsets (dauert etwa 'ne dreiviertelstunde, mit Unterbrechungen alle 4 minuten wegen Zweideutigkeiten, die man aber auch noch automatisieren hätte können), nämlich genau die an den MP3-Frame-Grenzen, aber das muss genügen. Nachdem das durchgelaufen ist kann man die Datei sogar schon abspielen! <a href="http://www.ploetzli.ch/xorwette/plaintext.decrypter-knownkey.try.d86ba0c9d85198431471aa04b1be59dfa6d38f6d" rel="nofollow noopener noreferrer">http://www.ploetzli.ch/xorwette/plaintext.decrypter-knownkey.try.d86ba0c9d85198431471aa04b1be59dfa6d38f6d</a> Klingt spooky, aber die Sprache ist verständlich. Erinnert an CSI.</p>
<p>Jetzt wieder drüber nachdenken und versuchen das Schema der beobachteten Offsets zu generalisieren. Dieses Restklassengewurschtel verursacht bei mir jedesmal Kopfschmerzen. Also: Ausgehend von</p>
<pre><code class="block language-python"><span class="token punctuation">{</span>
<span class="token number">374</span><span class="token punctuation">:</span> <span class="token number">5</span><span class="token punctuation">,</span> <span class="token comment"># diff 50</span>
<span class="token number">375</span><span class="token punctuation">:</span> <span class="token number">81</span><span class="token punctuation">,</span> <span class="token comment"># diff 49</span>
<span class="token number">376</span><span class="token punctuation">:</span> <span class="token number">33</span><span class="token punctuation">,</span> <span class="token comment"># diff 48</span>
<span class="token number">377</span><span class="token punctuation">:</span> <span class="token number">111</span><span class="token punctuation">,</span> <span class="token comment"># diff 47</span>
<span class="token number">378</span><span class="token punctuation">:</span> <span class="token number">65</span><span class="token punctuation">,</span> <span class="token comment"># diff 46</span>
<span class="token number">379</span><span class="token punctuation">:</span> <span class="token number">20</span><span class="token punctuation">,</span> <span class="token comment"># diff 45</span>
<span class="token punctuation">}</span>
</code></pre>
<p>nehmen wir als Arbeitshypothese an dass von hinten gesehen die Differenz von 45 ausgehend jeweils um 1 steigt. Gesagt, eingegeben, den hinteren Teil der Datei wiederhergestellt. Das geht gut bis zu <code>303: 40, # diff 121</code>. Zum Glück sind 302 und 301 zwei Blöcke deren Offsets wir von mp3val kennen: 85 und 6. Zusammen macht das eine Differenz von 46. Ausserdem ist 40 zu 84 eine Differenz von 45. Hier beginnt eine neue Straße! Also neue Theorie für die Offsets formuliert: Von Block 379 mit Offset 20 und Differenz 45 nach vorne steigt die Differenz je um 1, bis sie 120 erreicht hat, und fängt dann bei 45 wieder an. Das stellt die Datei vollständig wieder her: <a href="http://www.ploetzli.ch/forumtst/plaintext.decrypter-knownkey.try.b290ec282ee4fb1d5c09cb08b3b5497b8e099d5f" rel="nofollow noopener noreferrer">http://www.ploetzli.ch/forumtst/plaintext.decrypter-knownkey.try.b290ec282ee4fb1d5c09cb08b3b5497b8e099d5f</a></p>
<p>Ergänzend könnte man noch einen alternativen Offset-Generator definieren, von vorne her. Subtraktion von 45 mod 125 ist nämlich Addition von 80 mod 125 und Subtraktion von 120 mod 125 ist Addition von 5 mod 125. Kalles Offset-Generator sah also vermutlich so aus, das liefert die gleichen Werte:</p>
<pre><code class="block language-php">
def <span class="token function">offset_generator</span><span class="token punctuation">(</span>keylen<span class="token punctuation">)</span><span class="token punctuation">:</span>
<span class="token class-name return-type">offset</span><span class="token operator">=</span><span class="token number">0</span>
diff<span class="token operator">=</span><span class="token number">5</span>
<span class="token keyword">while</span> <span class="token constant boolean">True</span><span class="token punctuation">:</span>
<span class="token keyword">yield</span> offset
diff <span class="token operator">=</span> diff<span class="token operator">+</span><span class="token number">1</span>
<span class="token keyword">if</span> diff <span class="token operator">></span> <span class="token number">80</span><span class="token punctuation">:</span> diff <span class="token operator">=</span> <span class="token number">5</span>
offset <span class="token operator">=</span> <span class="token punctuation">(</span>offset<span class="token operator">+</span>diff<span class="token punctuation">)</span><span class="token operator">%</span><span class="token number">125</span>
</code></pre>
<p>Zusammenfassend: Algorithmus komplett vernichtet. Der Algorithmus ist so schwach und da war so viel erratbarer Klartext dass wir ihn brechen konnten, ohne den Algorithmus zu kennen, und nebenher noch den Algorithmus zu reverse engineeren. Mit nur einer gegebenen Ausgabe. Jetzt wo die Struktur des Algorithmus bekannt ist, bringt es auch nichts die Parameter zu ändern. Wie gesagt kann ich in C alle Schlüssellängen und alle Initialdifferenzen von 1 bis 250 (jeweils) in 40 Sekunden ausprobieren. Wenn man jetzt die magischen Zahlen 80 und 5 ändern würde, könnte man die bei bekannter Schlüssellänge, ebensoleicht alle durchprobieren. Und selbst wenn die Schlüssellänge nicht gegeben ist kann man sie entweder leicht erraten oder durchprobieren.</p>
<p>Verstärkt wurden diese Probleme nur noch durch die prozeduralen Fehler: Kein zufälliger Schlüssel, Bug in der Implementierung.</p>
<p>Also: AES nehmen, oder, wenn man konservativ sein will, 3DES, und alles wird gut. Selbstgebaute Verschlüsselsungsverfahren von Laien gehen <em>immer</em> schief. Selbst Profis machen gerne Anfängerfehler (lustige Anekdote <a href="http://www.trust-us.ch/ds/66/008_aes.html" rel="nofollow noopener noreferrer">http://www.trust-us.ch/ds/66/008_aes.html</a> Abschnitt "Telekom sorgt für Heiterkeit"). Nur Verschlüsselungsalgorithmen die öffentlich bekannt sind und wenigstens ein paar Jahre lang von Kryptologen ergebnislos untersucht wurden sind vertrauenswürdig.</p>
<div class="signature">-- <br>
Henryk Plötz
Grüße aus Berlin
~~~~~~~~ Un-CDs, nein danke! <a href="http://www.heise.de/ct/cd-register/" rel="nofollow noopener noreferrer">http://www.heise.de/ct/cd-register/</a> ~~~~~~~~
~~ Help Microsoft fight software piracy: Give Linux to a friend today! ~~
</div>
https://forum.selfhtml.org/self/2008/apr/18/wettangebot-verschluesselung-knacken/1235800#m1235800Sven Rautenberghttp://www.rtbg.de2008-04-24T21:44:29Z2008-04-24T21:44:29ZWettangebot: Verschlüsselung geknackt - mit Erklärung<p>Moin!</p>
<blockquote>
<p>Zusammenfassend: Algorithmus komplett vernichtet. Der Algorithmus ist so schwach und da war so viel erratbarer Klartext dass wir ihn brechen konnten, ohne den Algorithmus zu kennen, und nebenher noch den Algorithmus zu reverse engineeren.</p>
</blockquote>
<p>GANZ GROSSES KINO! :)))))))))</p>
<p>- Sven Rautenberg</p>
<div class="signature">-- <br>
"Love your nation - respect the others."
</div>
https://forum.selfhtml.org/self/2008/apr/18/wettangebot-verschluesselung-knacken/1235799#m1235799Samoht2008-04-24T21:49:01Z2008-04-24T21:49:01ZWettangebot: Verschlüsselung geknackt - mit Erklärung<p>Faszinierend! *applaus*</p>
<p>Und danke für die sehr ausführliche Erklärung!</p>
<p>Gruß, Samoht</p>
<div class="signature">-- <br>
fl:| br:> va:) ls:< n4:( ss:) de:] js:| mo:}<br>
"Computer games don't affect kids; I mean if Pac-Man affected us as kids, we'd all be running around in darkened rooms, munching magic pills and listening to repetitive electronic music."<br>
(Kristian Wilson, Nintendo, 1989)<br>
</div>
https://forum.selfhtml.org/self/2008/apr/18/wettangebot-verschluesselung-knacken/1235798#m1235798flowhi.flowh@gmail.com2008-04-24T22:02:52Z2008-04-24T22:02:52ZWettangebot: Verschlüsselung geknackt - mit Erklärung<p>Hallo Henryk.</p>
<p>Starke Leistung, mein Respekt!</p>
<p>Servus,<br>
Flo</p>
https://forum.selfhtml.org/self/2008/apr/18/wettangebot-verschluesselung-knacken/1235797#m1235797Vinzenz Maivinzenzmai@web.de2008-04-24T22:08:45Z2008-04-24T22:08:45ZWettangebot: Verschlüsselung geknackt - mit Erklärung<p>Gratulation Henryk,</p>
<p>vom Feinsten! Beeindruckend!<br>
Mir fehlen einfach die Worte ...</p>
<p>Freundliche Grüße</p>
<p>Vinzenz</p>
https://forum.selfhtml.org/self/2008/apr/18/wettangebot-verschluesselung-knacken/1235796#m1235796thebachthebach@web.de2008-04-25T07:07:18Z2008-04-25T07:07:18ZWettangebot: Verschlüsselung geknackt - mit Erklärung<p>Hi,</p>
<p>Dafür müsstest du eigentlich mehr als die 100 Euro bekommen. :-)</p>
<p>Hat sich Kalle_B denn schon gemeldet?</p>
<p>Schönes WE</p>
<div class="signature">-- <br>
selfcode: ie:% fl:( br:> va:) ls:& rl:( n4:~ ss:| de:> js:( ch:? mo:} zu:)<br>
"Egal, ob ein Sandkorn oder ein Stein. Im Wasser sinken sie beide."
</div>
https://forum.selfhtml.org/self/2008/apr/18/wettangebot-verschluesselung-knacken/1235795#m1235795tox2008-04-25T07:09:20Z2008-04-25T07:09:20ZWettangebot: Verschlüsselung geknackt - mit Erklärung<p>Gratulation und Respekt!</p>
<p>Gruß<br>
tox</p>
https://forum.selfhtml.org/self/2008/apr/18/wettangebot-verschluesselung-knacken/1235794#m1235794Maik W. aus E.maik@mcwiwa.de2008-04-25T08:22:51Z2008-04-25T08:22:51ZWettangebot: Verschlüsselung geknackt - mit Erklärung<p>Tach auch Henryk,</p>
<p>Sauber!</p>
<p>Bookmarken, aufheben, immer nochmal lesen...</p>
<p>Ich muß Dich nicht fragen, ob wir das in die Artikel-Sammlung aufnehmen können, oder?</p>
<p><a href="http://www.gruss-aus-essen.de" rel="nofollow noopener noreferrer">http://www.gruss-aus-essen.de</a></p>
<p>Maik</p>
<div class="signature">-- <br>
<img src="http://www.gruss-aus-essen.de/selfforum/totes_huhn.jpg" alt="Diese Dauerleihgabe wird Ihnen präsentiert von ROMY!" loading="lazy"><br>
Maik. W. aus E. sagt Dankeschön ;-)<br>
</div>
https://forum.selfhtml.org/self/2008/apr/18/wettangebot-verschluesselung-knacken/1235793#m1235793Jens Holzkämperholzi@woodfighter.de2008-04-25T09:10:41Z2008-04-25T09:10:41ZWettangebot: Verschlüsselung geknackt - mit Erklärung<p>Tach,</p>
<p>ich sag mal danke für dieses großartige Beispiel auf das man gerne in zukünftigen Diskussionen verweisen kann.</p>
<p>mfg<br>
Woodfighter</p>
https://forum.selfhtml.org/self/2008/apr/18/wettangebot-verschluesselung-knacken/1235781#m1235781Cybaercybaer@binon.nethttp://Coding.binon.net2008-04-25T09:30:39Z2008-04-25T09:30:39ZMD5-basierte Verschlüsselung<p>Hi,</p>
<p>Chapeau! :-)))</p>
<blockquote>
<p>Also: AES nehmen, oder, wenn man konservativ sein will, 3DES, und alles wird gut. Selbstgebaute Verschlüsselsungsverfahren von Laien gehen *immer* schief.</p>
</blockquote>
<p>Hmm, ich verwende (eine abgewandelte Variante von) <a href="http://de.php.net/md5#43696" rel="nofollow noopener noreferrer">MD5-based block cypher</a>. Das es (deutlich) sicherer ist als Kalle_Bs XOR-Spielereien, davon gehe ich auch als Nicht-Kryptographie-Experte aus.</p>
<p>Dachte auch, er wäre hinreichend sicher, aber nun ...</p>
<p>... frage ich dich mal lieber ;-): Für dich knackbar? Oder nur für Institutionen mit Arsch viel Rechenleistung? Oder eher gar nicht?</p>
<p>Ich tippe ja auf letzteres ...</p>
<p>Gruß, Cybaer</p>
<div class="signature">-- <br>
Man kann doch sehr leicht jenen tugendhaften Menschen begegnen, (...) die eine Art "unkrümmbaren Zeigefinger" besitzen, der ständig den kalten Wind des Rechthabens ausströmt. (Wolfgang Huber, Bischof)<br>
Die Tugend jagt nicht den Teufel, sondern den Sündhaften. Damit wird sie zum Terror. (Hans-Ulrich Jörges, Journalist)
</div>
https://forum.selfhtml.org/self/2008/apr/18/wettangebot-verschluesselung-knacken/1235780#m1235780foomakerck@printbig.de2008-04-25T11:20:34Z2008-04-25T11:20:34ZWettangebot: Verschlüsselung geknackt - mit Erklärung<p>Hallo!!</p>
<p>WAHNSINN!!</p>
<p>Ich habe versucht, wenigstens ein bisschen zu folgen, mitzudenken, Fachbegriffe nachzulesen ... bis mir gnadenlos der Schädel brummte, und dann ... ja, dann kommt diese Stelle</p>
<blockquote>
<p>Jetzt wieder drüber nachdenken und versuchen das Schema der beobachteten Offsets zu generalisieren. Dieses Restklassengewurschtel verursacht bei mir jedesmal Kopfschmerzen. Also: ...</p>
</blockquote>
<p>Das ist der Brüller! LOL</p>
<p>Danke für diesen Beitrag. Nicht nur fachlich interessant, sondern auch sprachlich ganz hervorragend präsentiert. RESPEKT!!!!!!</p>
<p>Gruß vom foomaker, der sich jetzt ganz ganz ganz klein fühlt ;-)</p>
<div class="signature">-- <br>
Natürlich glaube ich an die Existenz von Ausserirdischen. Schliesslich gibt es ja auch das PERFEKTE SCRIPT.
</div>
https://forum.selfhtml.org/self/2008/apr/18/wettangebot-verschluesselung-knacken/1235779#m1235779Orlando2008-04-25T16:47:32Z2008-04-25T16:47:32ZWettangebot: Verschlüsselung geknackt - mit Erklärung<p>Danke für das beste Posting seit Jahren. Zehn, um genau zu sein.</p>
<p>Respekt!</p>
<p><a href="http://skop.net/" rel="nofollow noopener noreferrer">Roland</a></p>
<div class="signature">-- <br>
<img src="http://skop.net/self/topfives.png" alt="" loading="lazy"> <a href="http://topfives.org/" rel="nofollow noopener noreferrer">Top Fives</a> // »<a href="http://topfives.org/2008/schlechte-werbung/" rel="nofollow noopener noreferrer">Schlechte Werbung.</a> Gibt es nicht.« // <a href="http://topfives.org/mitmachen/" rel="nofollow noopener noreferrer">mitmachen</a>
</div>
https://forum.selfhtml.org/self/2008/apr/18/wettangebot-verschluesselung-knacken/1235778#m1235778Götzgoetz@buerkle.orghttp://goetz.buerkle.org/2008-04-28T12:18:57Z2008-04-28T12:18:57ZWettangebot: Verschlüsselung geknackt - mit Erklärung<p>Hallo Henryk,</p>
<p>ich kann mich den anderen nur anschließen.<br>
Auch wenn ich zugegebenermaßen nicht alles völlig verstanden habe finde ich es doch überaus interessant, was Du da zusammengeschrieben hast. Und unterhaltsam ist Dein Text auch noch, und das bei einem an sich relativ trockenen Thema.</p>
<p>... sowas würde man gern öfter lesen ;)</p>
<p>Grüße aus Stockholm,<br>
Götz</p>
<div class="signature">-- <br>
Losung für Montag, 28. April 2008<br>
David sprach zum HERRN: Ich habe schwer gesündigt, dass ich das getan habe. Und nun, HERR, nimm weg die Schuld deines Knechts. (2.Samuel 24,10)<br>
Jesus sprach: Die Starken bedürfen keines Arztes, sondern die Kranken. Ich bin gekommen, die Sünder zu rufen und nicht die Gerechten. (Markus 2,17)<br>
(<a href="http://www.losungen.de/heute.php" rel="nofollow noopener noreferrer">zur aktuellen Losung</a>)
</div>
https://forum.selfhtml.org/self/2008/apr/18/wettangebot-verschluesselung-knacken/1235777#m1235777ChrisB2008-04-30T03:15:50Z2008-04-30T03:15:50ZWettangebot: Verschlüsselung geknackt - mit Erklärung<p>Hi Henryk,</p>
<p>tut mir Leid, aber ich denke, im Interesse der oeffentlichen Sicherheit sollte man Leute wie dich™ sicher wegschliessen ... Moment, ich sag' mal eben dem Wolfgang Bescheid.</p>
<p>Nein, im Ernst - klasse Analyse!<br>
Interessehalber: Wie lange hast du dafuer gebraucht?</p>
<p>MfG ChrisB</p>
https://forum.selfhtml.org/self/2008/apr/18/wettangebot-verschluesselung-knacken/1235786#m1235786Sven Rautenberghttp://www.rtbg.de2008-04-25T11:25:52Z2008-04-25T11:25:52ZMD5-basierte Verschlüsselung<p>Moin!</p>
<blockquote>
<p>Hmm, ich verwende (eine abgewandelte Variante von) <a href="http://de.php.net/md5#43696" rel="nofollow noopener noreferrer">MD5-based block cypher</a>. Das es (deutlich) sicherer ist als Kalle_Bs XOR-Spielereien, davon gehe ich auch als Nicht-Kryptographie-Experte aus.</p>
</blockquote>
<p>Warum gehst du davon aus?</p>
<p>Auch dieser Algorithmus verwendet als grundlegende "Verschlüsselung" eine XOR-Operation.</p>
<p>Er macht zwar gewisse Dinge "richtiger", aber in meinen Augen reicht das nicht aus - das Ding sieht eher aus, wie selbstgestrickt, und versucht durch Schlüsselworte wie "MD5" eine psychologische Sicherheit zu erzeugen - weil ja jeder weiß, dass MD5 unknackbar hasht.</p>
<p>Dinge, die "richtiger" gemacht werden, sind der zufällige Initialisierungsvektor (der wird allerdings - zwingend - als allererstes im Chiffre-String gespeichert), die Ausnutzung des gesamten Bytebereichs fürs XOR (das Resultat von MD5 wird als 16-Byte-Sequenz genutzt) und die rekursive Wiedereinspielung des vorherigen Blocks in den neuen Initialisierungsvektor.</p>
<p>Das halte ich aber nicht für ausreichend.</p>
<p>Bei Kenntnis des Algorithmus und eines Ciphertextes ist eine Known-Plaintext-Attacke immer zielführend. Und du hast ja gesehen, dass man da nur richtig raten muß, um auf ein Ergebnis zu kommen. Auch durch eine komplexe XOR-Operation "scheinen" interessante Dateiformat-Infos hindurch.</p>
<blockquote>
<p>Dachte auch, er wäre hinreichend sicher, aber nun ...</p>
<p>... frage ich dich mal lieber ;-): Für dich knackbar? Oder nur für Institutionen mit Arsch viel Rechenleistung? Oder eher gar nicht?</p>
<p>Ich tippe ja auf letzteres ...</p>
</blockquote>
<p>Die Sache ist doch ganz einfach: Welchen Grund gibt es für dich, einen potentiell knackbaren Algorithmus einzusetzen, von dessen Sicherheit du dich selbst nicht überzeugt hast, und der aufgrund der Tatsache, dass er komplett in PHP implementiert ist, auch noch arschlangsam ist. Was spricht gegen die Nutzung des mcrypt-Moduls in Verbindung mit einem als sicher angesehenen Algorithmus wie AES? Alternativ könnte es auch PGP/GnuPG sein, das hätte sogar den großen Vorteil, dass der verschlüsselnde Server den Key zum Entschlüsseln gar nicht kennt.</p>
<p>- Sven Rautenberg</p>
<div class="signature">-- <br>
"Love your nation - respect the others."
</div>
https://forum.selfhtml.org/self/2008/apr/18/wettangebot-verschluesselung-knacken/1235782#m1235782Jonathan2008-04-25T11:52:06Z2008-04-25T11:52:06ZMD5-basierte Verschlüsselung<p>Hallo Cybaer,</p>
<blockquote>
<p>Hmm, ich verwende (eine abgewandelte Variante von) <a href="http://de.php.net/md5#43696" rel="nofollow noopener noreferrer">MD5-based block cypher</a>. Das es (deutlich) sicherer ist als Kalle_Bs XOR-Spielereien, davon gehe ich auch als Nicht-Kryptographie-Experte aus.</p>
</blockquote>
<p>Sofern du da keine Schwachstelle eingebaut hast (ob absichtlich oder unabsichtlich) dürfte das deutlich sicherer sein und zumindest hier im Forum nicht geknackt werden können. Immerhin verwendest du halbwegs sichere Verfahren und Methoden.</p>
<p>Dennoch wird auch das von "Experten" mit entsprechenden Mitteln möglicherweise knackbar sein. Und es gibt keinen wirklichen Grund keine herkömmlichen, erprobten Verfahren zu benutzen.</p>
<p>Sowas wie hier, indem man nur aus ein bisschen verschlüsseltem Text Klartext, key und den Alorithmus generiert, klappt aber nur bei extrem schwachen Verschlüsselungen. Alle halbwegs guten Verschlüsselungen liefern ein Ergebnis, das komplett zufällig aussieht, woraus dann erstmal keine weiteren Informationen gewonnen werden können.</p>
<p>Jonathan</p>
<div class="signature">-- <br>
<a href="http://emmanuel.dammerer.at/selfcode.html" rel="nofollow noopener noreferrer">Selfcode:</a> <a href="http://www.peter.in-berlin.de/projekte/selfcode/?code=ie%3A%28+fl%3A%7B+br%3A%3E+va%3A%29+ls%3A%26+fo%3A%29+rl%3A%3F+ss%3A%7D+de%3A%3E+js%3A%7C+ch%3A%3F+mo%3A%7D+zu%3A%29" rel="nofollow noopener noreferrer">ie:( fl:{ br:> va:) ls:& fo:) rl:? ss:} de:> js:| ch:? mo:} zu:)</a>
</div>
https://forum.selfhtml.org/self/2008/apr/18/wettangebot-verschluesselung-knacken/1235783#m1235783Sven Rautenberghttp://www.rtbg.de2008-04-25T11:57:05Z2008-04-25T11:57:05ZMD5-basierte Verschlüsselung<p>Moin!</p>
<blockquote>
<blockquote>
<p>Hmm, ich verwende (eine abgewandelte Variante von) <a href="http://de.php.net/md5#43696" rel="nofollow noopener noreferrer">MD5-based block cypher</a>. Das es (deutlich) sicherer ist als Kalle_Bs XOR-Spielereien, davon gehe ich auch als Nicht-Kryptographie-Experte aus.</p>
</blockquote>
<p>Sofern du da keine Schwachstelle eingebaut hast (ob absichtlich oder unabsichtlich) dürfte das deutlich sicherer sein und zumindest hier im Forum nicht geknackt werden können. Immerhin verwendest du halbwegs sichere Verfahren und Methoden.</p>
</blockquote>
<p>Auf welche Tatsachen stützt du diese Behauptung? Einfach nur, weil der Algorithmus komplex aussieht, oder gibt es typische Anhaltspunkte?</p>
<p>- Sven Rautenberg</p>
<div class="signature">-- <br>
"Love your nation - respect the others."
</div>
https://forum.selfhtml.org/self/2008/apr/18/wettangebot-verschluesselung-knacken/1235784#m1235784Jonathan2008-04-25T12:18:45Z2008-04-25T12:18:45ZMD5-basierte Verschlüsselung<p>Hallo Sven,</p>
<blockquote>
<p>Auf welche Tatsachen stützt du diese Behauptung? Einfach nur, weil der Algorithmus komplex aussieht, oder gibt es typische Anhaltspunkte?</p>
</blockquote>
<p>Nen bisschen beschäftigt hab ich mich damit auch. So komplex ist der gar nicht. Ganz perfekt ist der da auch nicht, insbesondere weil der erste Block nur aus</p>
<p>Klartext XOR md5(Passwort XOR Ciphertext)</p>
<p>besteht und damit möglicherweise wesentlich einfacher zurückgerechnet werden kann als der Rest, insbesondere bei teilweise bekannten Klartext.</p>
<p>Auch sonst ist das alles andere als Optimal, es wird z.B. kein Salt benutzt. Dennoch denke ich, dass der Code einer normalen Forums-Attacke insbesondere wegen der deutlich schwereren "Zurückberechenbarkeit" von MD5-Hashes standhalten wird. Und wenn der Algorithmus unbekannt ist, sowieso, weil dieser Quellcode nämlich wirklich zufällig aussehende Resultate liefert.</p>
<p>Jonathan</p>
<div class="signature">-- <br>
<a href="http://emmanuel.dammerer.at/selfcode.html" rel="nofollow noopener noreferrer">Selfcode:</a> <a href="http://www.peter.in-berlin.de/projekte/selfcode/?code=ie%3A%28+fl%3A%7B+br%3A%3E+va%3A%29+ls%3A%26+fo%3A%29+rl%3A%3F+ss%3A%7D+de%3A%3E+js%3A%7C+ch%3A%3F+mo%3A%7D+zu%3A%29" rel="nofollow noopener noreferrer">ie:( fl:{ br:> va:) ls:& fo:) rl:? ss:} de:> js:| ch:? mo:} zu:)</a>
</div>
https://forum.selfhtml.org/self/2008/apr/18/wettangebot-verschluesselung-knacken/1235785#m1235785Cybaercybaer@binon.nethttp://Coding.binon.net2008-04-25T12:23:41Z2008-04-25T12:23:41ZMD5-basierte Verschlüsselung<p>Hi,</p>
<blockquote>
<p>weil dieser Quellcode nämlich wirklich zufällig aussehende Resultate liefert.</p>
</blockquote>
<p>Ja, das war einer der Gründe, warum ich diese Funktion als Basis verwendet habe.</p>
<p>Zwar mache ich meine tatsächlich "Funktion" nicht öffentlich, aber "Security by Obscurity" ist nun auch nicht gerade das, womit ich glücklich wäre. ;)</p>
<p>Gruß, Cybaer</p>
<div class="signature">-- <br>
Man kann doch sehr leicht jenen tugendhaften Menschen begegnen, (...) die eine Art "unkrümmbaren Zeigefinger" besitzen, der ständig den kalten Wind des Rechthabens ausströmt. (Wolfgang Huber, Bischof)<br>
Die Tugend jagt nicht den Teufel, sondern den Sündhaften. Damit wird sie zum Terror. (Hans-Ulrich Jörges, Journalist)
</div>
https://forum.selfhtml.org/self/2008/apr/18/wettangebot-verschluesselung-knacken/1235788#m1235788Cybaercybaer@binon.nethttp://Coding.binon.net2008-04-25T12:17:07Z2008-04-25T12:17:07ZMD5-basierte Verschlüsselung<p>Hi,</p>
<blockquote>
<p>Warum gehst du davon aus?</p>
</blockquote>
<p>Wie Du sagtest:</p>
<blockquote>
<p>und versucht durch Schlüsselworte wie "MD5" eine psychologische Sicherheit zu erzeugen - weil ja jeder weiß, dass MD5 unknackbar hasht.</p>
</blockquote>
<p>=:-}</p>
<blockquote>
<p>Das halte ich aber nicht für ausreichend.</p>
</blockquote>
<p>Danke für die Einschätzung!</p>
<blockquote>
<p>Was spricht gegen die Nutzung des mcrypt-Moduls in Verbindung mit einem als sicher angesehenen Algorithmus wie AES?</p>
</blockquote>
<p>Es gehört nicht zum Standardumfang, und steht folglich nicht immer zur Verfügung. :-/</p>
<p>Ich muß aber auch auf den (Massenhost-)Servern eine Verschlüsselung haben, auf denen mcrypt nicht installiert ist bzw. installiert werden kann! ("Dann wechsel halt den Provider" ist keine Alternative, da ich darauf keinen Einfluß habe - "wir" haben mcrypt ohnehin installiert.)</p>
<p>Und über die Verarbeitungsgeschw. muß ich mir keine Gedanken machen: Ich verschlüssel damit keine MP3s, sondern Datenmengen, die man i.A. noch als GET-Parameter übergeben kann ...</p>
<p>... also eher als besserer Sichtschutz.</p>
<p>Trotzdem hätte ich natürlich gerne ein Verfahren, das sowohl sicher ist, als auch auf jedem PHP-Standard-Server funktioniert - selbst wenn es langsam ist.</p>
<p>Wenn es also besseres gibt: Ich bin dankbar für jeden Hinweis! :-)</p>
<p>Gruß, Cybaer</p>
<div class="signature">-- <br>
Man kann doch sehr leicht jenen tugendhaften Menschen begegnen, (...) die eine Art "unkrümmbaren Zeigefinger" besitzen, der ständig den kalten Wind des Rechthabens ausströmt. (Wolfgang Huber, Bischof)<br>
Die Tugend jagt nicht den Teufel, sondern den Sündhaften. Damit wird sie zum Terror. (Hans-Ulrich Jörges, Journalist)
</div>
https://forum.selfhtml.org/self/2008/apr/18/wettangebot-verschluesselung-knacken/1235787#m1235787Henryk Plötzhenryk@ploetzli.chhttp://www.ploetzli.ch/blog/2008-04-25T15:49:19Z2008-04-25T15:49:19ZMD5-basierte Verschlüsselung<p>Moin,</p>
<blockquote>
<p>Auch dieser Algorithmus verwendet als grundlegende "Verschlüsselung" eine XOR-Operation.</p>
</blockquote>
<p>Der Fairness halber: Das ist noch kein K.O.-Kriterium. XOR als grundlegende Operation ist auch in sicheren Algorithmen verbreitet, etwa RC4 (ja, das Beispiel ist doof weil RC4 ... launisch ist und unbedingt korrekt angewendet werden muss, unter anderem muss man die ersten paar Bytes des Schlüsselstroms wegwerfen), üblicherweise arbeiten alle Stromchiffren so.</p>
<p>Und ja, im Prinzip[tm] kann man mit einer Hashfunktion eine ordentliche Chiffre bauen. Schneller als dedizierte Verschlüsselungsalgorithmen wird das aber bestimmt nicht. Ausserdem muss man vorsichtig sein: MD5 ist bekannt kaputt. Die Angriffe beziehen sich zwar hauptsächlich auf Kollisionen (was verschiedene Schlüssel für die selbe Datei erlauben würde und schon schlimm genug ist), aber auch umkehren von MD5-Hashes wird immer mehr zum Volkssport. Das könnte (je nachdem wie man den Algorithmus auf MD5 aufbaut) direkt zu einer known-plaintext-Attacke führen die den Schlüssel oder wenigstens alle Blöcke hinter dem known plaintext liefert.</p>
<blockquote>
<p>Er macht zwar gewisse Dinge "richtiger", aber in meinen Augen reicht das nicht aus - das Ding sieht eher aus, wie selbstgestrickt, und versucht durch Schlüsselworte wie "MD5" eine psychologische Sicherheit zu erzeugen - weil ja jeder weiß, dass MD5 unknackbar hasht.</p>
</blockquote>
<p>Huh? Wer weiss das? :-) Leider ist SHA-1 auch auf dem absteigenden Ast, und überhaupt basieren alle heute gebräuchlichen Hashfunktionen auf dem selben angreifbaren Design. Hoffen wir mal dass das NIST uns bald Nachfolger geben kann.</p>
<blockquote>
<p>Dinge, die "richtiger" gemacht werden, sind der zufällige Initialisierungsvektor (der wird allerdings - zwingend - als allererstes im Chiffre-String gespeichert),</p>
</blockquote>
<p>Was auch korrekt ist.</p>
<blockquote>
<p>Und du hast ja gesehen, dass man da nur richtig raten muß, um auf ein Ergebnis zu kommen. Auch durch eine komplexe XOR-Operation "scheinen" interessante Dateiformat-Infos hindurch.</p>
</blockquote>
<p>Nicht wenn der Schlüsselstrom kryptographisch zufällig ist, das ist die ganze Funktionsweise von Stromchiffren.</p>
<div class="signature">-- <br>
Henryk Plötz<br>
Grüße aus Berlin<br>
~~~~~~~~ Un-CDs, nein danke! <a href="http://www.heise.de/ct/cd-register/" rel="nofollow noopener noreferrer">http://www.heise.de/ct/cd-register/</a> ~~~~~~~~<br>
~~ Help Microsoft fight software piracy: Give Linux to a friend today! ~~
</div>
https://forum.selfhtml.org/self/2008/apr/18/wettangebot-verschluesselung-knacken/1235789#m1235789Christian Kruseckruse@wwwtech.dehttp://wwwtech.de/2008-04-25T15:25:01Z2008-04-25T15:25:01ZMD5-basierte Verschlüsselung<p>你好 Cybaer,</p>
<blockquote>
<blockquote>
<p>Was spricht gegen die Nutzung des mcrypt-Moduls in Verbindung mit einem als sicher angesehenen Algorithmus wie AES?</p>
</blockquote>
<p>Es gehört nicht zum Standardumfang, und steht folglich nicht immer zur Verfügung. :-/</p>
</blockquote>
<p>Es gibt auch AES-Implementierungen in "reinem" PHP, dass du mit ausliefern könntest. Auf die Schnelle habe ich via Google (Stichworte: AES 256 php) z. B. <a href="http://www.phpaes.com/" rel="nofollow noopener noreferrer">http://www.phpaes.com/</a> gefunden.</p>
<p>再见,<br>
克里斯蒂安</p>
<div class="signature">-- <br>
<a href="http://ck.kennt-wayne.de/bauer-sucht-frau" rel="nofollow noopener noreferrer">Bauer sucht Frau!</a> | <a href="http://ck.kennt-wayne.de/ich-bin-ja-eigentlich-kein-serien-junkie" rel="nofollow noopener noreferrer">Ich bin ja eigentlich kein Serien-Junkie…</a><br>
<g[oma]> peter lustig ist auf jeden fall besser als peter huth, obwohl der auch lustig ist.<br>
<a href="http://wwwtech.de/" rel="noopener noreferrer">http://wwwtech.de/</a><br>
</div>
https://forum.selfhtml.org/self/2008/apr/18/wettangebot-verschluesselung-knacken/1235792#m1235792Cybaercybaer@binon.nethttp://Coding.binon.net2008-04-25T16:20:52Z2008-04-25T16:20:52ZMD5-basierte Verschlüsselung<p>Hi,</p>
<blockquote>
<p>Auf die Schnelle habe ich via Google (Stichworte: AES 256 php) z. B. <a href="http://www.phpaes.com/" rel="nofollow noopener noreferrer">http://www.phpaes.com/</a> gefunden.</p>
</blockquote>
<p>Danke. Ist zwar Löhnsoft und kommt damit für mich eigentlich nicht in Frage (die Kunden, bei denen es wichtig ist, die sollen IMHO auch zu einem passenden Hoster), aber gut zu wissen. Die Seite gibt mir auch Anregungen, wonach zu googeln ist! :)</p>
<p>Gruß, Cybaer</p>
<div class="signature">-- <br>
Man kann doch sehr leicht jenen tugendhaften Menschen begegnen, (...) die eine Art "unkrümmbaren Zeigefinger" besitzen, der ständig den kalten Wind des Rechthabens ausströmt. (Wolfgang Huber, Bischof)<br>
Die Tugend jagt nicht den Teufel, sondern den Sündhaften. Damit wird sie zum Terror. (Hans-Ulrich Jörges, Journalist)
</div>
https://forum.selfhtml.org/self/2008/apr/18/wettangebot-verschluesselung-knacken/1235790#m1235790Klaus2008-04-25T19:29:45Z2008-04-25T19:29:45ZBlowfish statt AES<p>Moin moin,</p>
<blockquote>
<p>Es gibt auch AES-Implementierungen in "reinem" PHP, dass du mit ausliefern könntest. Auf die Schnelle habe ich via Google (Stichworte: AES 256 php) z. B. <a href="http://www.phpaes.com/" rel="nofollow noopener noreferrer">http://www.phpaes.com/</a> gefunden.</p>
</blockquote>
<p>AES ist in PHP viel zu langsam, selbst wenn man nur 1 kb verschlüsseln möchte, wartet man schon eine halbe Ewigkeit (bei der Implementierung über 0,5 Sekunden).</p>
<p>Persönliche habe ich in einer Anwendung <a href="http://www.php-einfach.de/sonstiges_generator_blowfish.php" rel="nofollow noopener noreferrer">Blowfish</a> eingebaut, da dies der bisher schnellste Algorithmus ist, den ich für PHP gefunden habe und ich dort größere Datenmengen verschlüssen muss.<br>
Die Blowfish-Implementierung schafft auf meinem Rechner 90-100 kb/Sek (okay, AES in C schafft >100 MB/Sek), wobei AES, DES oder ähnliche nur 1 bis 5 kb/sec schaffen, also deutlich weniger. PHP ist für solche Dinge einfach nicht geeignet.</p>
<p>Gut, Blowfish sollte man wenns geht eigentlich nicht mehr verwenden, da z.B. manche Funktionen nicht mit Blowfish funktionieren (Blowfish sollte man nicht in bestimmten Stromchiffren-Moden oder als Hash-Funktion benutzen), im normalen CBC Modus ist dieser aber nach wie vor sicher und wie gesagt, bei mir kam es auf Performance drauf an, es ist dem User nicht zumutbar, 5 Sekunden zu warten wenn dieser 20 kb verschlüsseln muss.<br>
Und viele Algorithmen sind einfach extrem langsam in PHP und deswegen nicht einsetzbar, weswegen meine Wahl auf PHP viel.</p>
<p>Hoffe konnte weiterhelfen.</p>
https://forum.selfhtml.org/self/2008/apr/18/wettangebot-verschluesselung-knacken/1235791#m1235791Christian Kruseckruse@wwwtech.dehttp://wwwtech.de/2008-04-25T21:13:12Z2008-04-25T21:13:12ZBlowfish statt AES<p>你好 Klaus,</p>
<blockquote>
<p>AES ist in PHP viel zu langsam, selbst wenn man nur 1 kb verschlüsseln möchte, wartet man schon eine halbe Ewigkeit (bei der Implementierung über 0,5 Sekunden).</p>
</blockquote>
<p>Danke für den Einwand. Ich habe da keine Erfahrungen mit, ich arbeite (zum Glück) quasi nie mit PHP.</p>
<p>再见,<br>
克里斯蒂安</p>
<div class="signature">-- <br>
<a href="http://ck.kennt-wayne.de/bauer-sucht-frau" rel="nofollow noopener noreferrer">Bauer sucht Frau!</a> | <a href="http://ck.kennt-wayne.de/ich-bin-ja-eigentlich-kein-serien-junkie" rel="nofollow noopener noreferrer">Ich bin ja eigentlich kein Serien-Junkie…</a><br>
Death is God's way of telling you not to be such a wise guy.<br>
<a href="http://wwwtech.de/" rel="noopener noreferrer">http://wwwtech.de/</a><br>
</div>
https://forum.selfhtml.org/self/2008/apr/18/wettangebot-verschluesselung-knacken/1235810#m1235810Bill2008-04-18T09:26:58Z2008-04-18T09:26:58ZWettangebot: Verschlüsselung knacken<blockquote>
<blockquote>
<p>Hier ist eine verschlüsselte Datei nach meinem Muster:<br>
aWRZYWpoZiBrMDsqJydvaVVPIE9IYiU6L1O1tcggtHkgVVnkFoz9SPpPP84eapS/pzTsc...(abgebrochen)</p>
</blockquote>
<p>ein symetrischer algorithmus ist niemals sicher - sobald bekannt ist, wie er funktioniert ist er problemlos zurückzurechnen.</p>
</blockquote>
<p>Als ich mir diesen und die beiden damit verbundenen Threads durchgelesen habe, dachte ich ja noch bei mir, dass, wenn eine Unsicherheit bereits von schlauen Leuten nachgewiesen wurde, nicht jeder, der (wie Hendryk und Vinzenz) darauf hinweist, dies auch selbst nochmal demonstrieren muss.</p>
<p>Aber offen gesagt: Kalles Funktion ist bekannt. Entweder, du (oder Vinzenz oder Hendryk) rechnest das jetzt mal "problemlos zurück", für dein "problemlos" erwarte ich ein entschlüsseltes Ergebnis innerhalb der nächsten Stunden, oder du hältst dich in Zukunft mit solchen vorlauten Äußerungen zurück.</p>
<p>Hendryk kann man noch zu Gute halten, dass er darauf hingewiesen hat, dass eine XOR-basierte Verschlüsselung nicht zu entschlüsseln ist, sofern der Schlüssel so lang wie der Klartext ist und mit einem ordentlichen Zufallsgenerator erzeugt und nicht mehrmals verwendet wurde. Aber ansonsten wird hier von "problemlos zurückrechenbar" bis zu "ekelhaft unsicher" so getan, als handelte es sich um base64. Falls Kalle einen Schlüssel verwendet hat, der auch nur halb so lang ist wie der Klartext, schaut ihr allesamt vermutlich problemlos dumm aus der Wäsche.</p>
https://forum.selfhtml.org/self/2008/apr/18/wettangebot-verschluesselung-knacken/1235809#m1235809Klaus2008-04-19T20:00:24Z2008-04-19T20:00:24ZWas für ein Unsinn<p>Hallo,<br>
tut mir leid, aber du redest totalen Müll.</p>
<blockquote>
<p>ein symetrischer algorithmus ist niemals sicher - sobald bekannt ist, wie er funktioniert ist er problemlos zurückzurechnen.</p>
</blockquote>
<p>Kompletter Unfug! AES, Twofish etc. sind symmetrische Algorithmen und ich wette mit dir, dass du diese nicht problemlos zurückrechnen kannst.</p>
<p>Genauso das One-Time-Pad, dieses symmetrische Verfahren ist nachweisbar _absolut_ (100%!) sicher, knacken also unmöglich.</p>
<blockquote>
<p>Was du betreibst, ist security through obscurity - und das ist potentiell gefährlich</p>
</blockquote>
<p>Das stimmt.</p>
<blockquote>
<p>das system muss auch dann noch sicher sein, wenn der schlüssel bekannt ist</p>
</blockquote>
<p>Selten so einen Unfug gelesen.</p>
<p>Da zitiere ich doch mal das Kerckoffs' Prinzip:</p>
<blockquote>
<p>„Die Sicherheit eines Kryptosystems darf nicht von der Geheimhaltung des Algorithmus abhängen. Die Sicherheit gründet sich nur auf die Geheimhaltung des Schlüssels.“</p>
</blockquote>
<blockquote>
<p>bei asymetrischen verfahren kann eine der beiden stellen kompromitiert sein und es ist theoretisch kein problem</p>
</blockquote>
<p>Unsinn! Wenn beim z.B. Homebanking der Client kompromittiert ist, kann der Angreifer jede Nachricht lesen, egal ob nun symmetrisches oder asymmetrisches Verfahren benutzt wird.</p>
<p>Ich glaub ich muss Dieter Nuhr mal zitieren:<br>
<a href="http://video.google.de/videoplay?docid=763949850889929695" rel="nofollow noopener noreferrer">Klick</a></p>
https://forum.selfhtml.org/self/2008/apr/18/wettangebot-verschluesselung-knacken/1235811#m1235811suitsuit@blub.at2008-04-18T09:35:24Z2008-04-18T09:35:24ZWettangebot: Verschlüsselung knacken<blockquote>
<p>Hendryk kann man noch zu Gute halten, dass er darauf hingewiesen hat, dass eine XOR-basierte Verschlüsselung nicht zu entschlüsseln ist, sofern der Schlüssel so lang wie der Klartext ist und mit einem ordentlichen Zufallsgenerator erzeugt und nicht mehrmals verwendet wurde. Aber ansonsten wird hier von "problemlos zurückrechenbar" bis zu "ekelhaft unsicher" so getan, als handelte es sich um base64. Falls Kalle einen Schlüssel verwendet hat, der auch nur halb so lang ist wie der Klartext, schaut ihr allesamt vermutlich problemlos dumm aus der Wäsche.</p>
</blockquote>
<p>den schlüssel einer symetrischen verschlüsselung geheimzhalten ist nicht nicht sicher - das system muss auch dann noch sicher sein, wenn der schlüssel bekannt ist</p>
<p>die sicherheit eines verschlüsselungsalgorithmus lässt sich nur dann testen, wenn alle faktoren bekannt sind, die auf dem verschlüsselnden oder auf dem entschlüsselnden system vorliegen</p>
<p>bei asymetrischen verfahren kann eine der beiden stellen kompromitiert sein und es ist theoretisch kein problem</p>
<p>bei symetrischen verfahren ist es ein problem</p>
https://forum.selfhtml.org/self/2008/apr/18/wettangebot-verschluesselung-knacken/1235814#m1235814Vinzenz Maivinzenzmai@web.de2008-04-18T10:25:55Z2008-04-18T10:25:55ZWettangebot: Verschlüsselung knacken<p>Hallo suit,</p>
<blockquote>
<p>den schlüssel einer symetrischen verschlüsselung geheimzhalten ist nicht nicht sicher - das system muss auch dann noch sicher sein, wenn der schlüssel bekannt ist</p>
</blockquote>
<p>nein, das ist Unsinn.</p>
<blockquote>
<p>bei asymetrischen verfahren kann eine der beiden stellen kompromitiert sein und es ist theoretisch kein problem</p>
</blockquote>
<p>ein typisches Vorgehen für eine sichere und gleichzeitig ressourcenschonende verschlüsselte Datenübertragung ist das Übertragen des Schlüssels (ein One-time-pad, d.h. ein einmalig zu verwendender Schlüssel) über eine asymmetrische Verschlüsselung und die anschließende Übertragung der Daten mit einem symmetrischen Verfahren.</p>
<p>Eine ausgezeichnete Quelle, um sich grundlegend über Kryptographie zu informieren, ist <a href="http://www.cryptool.de/" rel="nofollow noopener noreferrer">CrypTool</a>, siehe auch <a href="http://de.wikipedia.org/wiki/CrypTool" rel="nofollow noopener noreferrer">Wikipedia, CrypTool</a>, mit der dazugehörigen Dokumentation. Sehr empfehlenswert!</p>
<p>Freundliche Grüße</p>
<p>Vinzenz, den das "Wettangebot" von Kalle nicht betrifft.</p>
https://forum.selfhtml.org/self/2008/apr/18/wettangebot-verschluesselung-knacken/1235812#m1235812Reinerreiner@netp.ath.cxhttp://netp.ath.cx2008-04-18T10:28:02Z2008-04-18T10:28:02ZWettangebot: Verschlüsselung knacken<blockquote>
<p>bei asymetrischen verfahren kann eine der beiden stellen kompromitiert sein und es ist theoretisch kein problem</p>
<p>bei symetrischen verfahren ist es ein problem</p>
</blockquote>
<p>was sagt uns das? Dass symetrische Verfahren schlechter sind?<br>
Bei asymetrischen mußt Du Deinen private key auch verheimlichen. Bei symetrischen darf nur der Partner auch den Schlüssel nicht weitergeben.<br>
Das hat aber alles nichts mit der Leistungsfähigkeit des Systems zu tun.</p>
<p>Ansonsten: Fang an! Es winken Dir 100 Euro.</p>
https://forum.selfhtml.org/self/2008/apr/18/wettangebot-verschluesselung-knacken/1235813#m1235813suitsuit@blub.at2008-04-18T10:44:23Z2008-04-18T10:44:23ZWettangebot: Verschlüsselung knacken<blockquote>
<p>Das hat aber alles nichts mit der Leistungsfähigkeit des Systems zu tun.</p>
</blockquote>
<p>natürlich hat das nichts mit der leistungsfähigkeit zu tun - nur führt geheimhaltung nur selten zum erfolg</p>
https://forum.selfhtml.org/self/2008/apr/18/wettangebot-verschluesselung-knacken/1235815#m1235815Henryk Plötzhenryk@ploetzli.chhttp://www.ploetzli.ch/blog/2008-04-18T21:52:16Z2008-04-18T21:52:16ZWettangebot: Verschlüsselung knacken<p>Moin,</p>
<blockquote>
<p>ein typisches Vorgehen für eine sichere und gleichzeitig ressourcenschonende verschlüsselte Datenübertragung ist das Übertragen des Schlüssels (ein One-time-pad, d.h. ein einmalig zu verwendender Schlüssel)</p>
</blockquote>
<p>Nur damit keine Verwirrungen aufkommt: "One-Time Pad" != "einmalig zu verwendender Schlüssel". Das was du meinst ist ein Ephemeralschlüssel. Um als ein One-Time Pad durchzugehen muss der Schlüssel nicht nur nur einmal verwendet werden, sondern auch in einer sicheren Art die dafür sorgt dass jeder beliebige Schlüssel und jeder beliebige Klartext bei gegebenem Ciphertext möglich sind. Das ist am einfachsten bei XOR gegeben (wobei jede andere polyalphabetische Substitution auch gehen dürfte).</p>
<p>Die übliche Vorgehensweise, einen Ephemeralschlüssel asymmetrisch verschlüsselt zu übertragen zeichnet sich dadurch aus, dass der Schlüssel eben *nicht* die gleiche Länge wie der Klartext hat, und *nicht* direkt in XOR (o.ä.) eingeht sondern mit einem symmetrischen Verfahren wie AES verwendet wird, was unter anderem ein Key Setup nach sich führt welches unter Umständen dafür sorgen könnte dass selbst wenn man nur eine 256 bit lange Nachricht mit einem 256 bit langen Schlüssel verschlüsselt nicht alle Schlüsselbits eingehen.</p>
<div class="signature">-- <br>
Henryk Plötz<br>
Grüße aus Berlin<br>
~~~~~~~~ Un-CDs, nein danke! <a href="http://www.heise.de/ct/cd-register/" rel="nofollow noopener noreferrer">http://www.heise.de/ct/cd-register/</a> ~~~~~~~~<br>
~~ Help Microsoft fight software piracy: Give Linux to a friend today! ~~
</div>
https://forum.selfhtml.org/self/2008/apr/18/wettangebot-verschluesselung-knacken/1235817#m1235817MudGuardhttp://www.andreas-waechter.de/2008-04-18T06:13:39Z2008-04-18T06:13:39ZWettangebot: Verschlüsselung knacken<p>Hi,</p>
<blockquote>
<p>Ganz einfach: Copy & Paste, Einfuegen in neue leeres Dokument in meinem Editor, Abspeichern, fertig.</p>
</blockquote>
<p>Viel zu kompliziert!</p>
<p>Rechtsklick auf den Link, "Save Link as", Dateinamen angeben, fertig.</p>
<p>cu,<br>
Andreas</p>
<div class="signature">-- <br>
<a href="http://MudGuard.de/" rel="nofollow noopener noreferrer">Warum nennt sich Andreas hier MudGuard?</a><br>
<a href="http://ostereier.andreas-waechter.de/" rel="nofollow noopener noreferrer">O o ostern ...</a><br>
Fachfragen unaufgefordert per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.<br>
</div>
https://forum.selfhtml.org/self/2008/apr/18/wettangebot-verschluesselung-knacken/1235819#m1235819Kalle_B2008-04-18T02:24:36Z2008-04-18T02:24:36ZWettangebot: Verschlüsselung knacken<blockquote>
<p>hallo Christoph,</p>
</blockquote>
<blockquote>
<p>Überweise die 100 Euronen doch bitte gleich als Spende an SELFHTML.</p>
</blockquote>
<p>Wenn SELFHTML den Code knackt, kein Problem.</p>
<p>Möchte mal wissen, ob hinter den Leuten mit der dicken Schreibe (große Schnauze kann ich ja nicht sagen) auch der entsprechende Grips steckt.</p>
<p>Nix für ungut und gute Nacht.</p>
<p>MfG Kalle</p>