<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[BITTE hilfe! erster byte wird falsh entschlüsselt]]></title><description><![CDATA[<p>Hallo nochmal...<br />
Ich bin am verzwiefeln, und ihr seid meine letzte Lösung. Also, ich habe einen eigenen verschlüsseungs-algorythmus fast fertig (<a href="http://img684.imageshack.us/img684/9397/cppftabenc.png" rel="nofollow">genaueres</a>), dieser jedoch entschlüsselt den ersten byte falsh ( &quot;hallo&quot; -&gt; &quot;j9%sf&quot; -&gt; &quot;8allo&quot; ). Wie krieg ich den ersten byte doch noch entschlüsselt?</p>
<p>Verschlüsselungs-schleife:</p>
<pre><code class="language-cpp">out[0] = tab[in[0&rsqb;&rsqb; [in[0&rsqb;&rsqb;;
for (size_t int i = 1; i&lt;length; i++)
{
	out[i] = tab[in[i&rsqb;&rsqb; [out[i-1&rsqb;&rsqb;;
}
</code></pre>
<p>Entschlüsselungs-schleife:</p>
<pre><code class="language-cpp">for (size_t i = 0; i &lt; 256; ++i) // hier müsste irgenwo der fehler sein
{
        if (in[0] == tab[i][i])
        {
            out[0] = i;
        }
}
for (size_t i = 1; i &lt; n; ++i) // rest entschlüsseln, funktioniert
{
	size_t spaltennummer = in [ i - 1 ];

	size_t j = 0;
	for (; j &lt; 256; ++j)
        {
		if (tab[j][spaltennummer] == in[i])
 			break;
	}
	out[i] = j;
}
</code></pre>
<p>Bitte bitte helft <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/topic/263098/bitte-hilfe-erster-byte-wird-falsh-entschlüsselt</link><generator>RSS for Node</generator><lastBuildDate>Sat, 05 Sep 2026 19:27:01 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/263098.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 15 Mar 2010 21:30:40 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to BITTE hilfe! erster byte wird falsh entschlüsselt on Tue, 16 Mar 2010 13:12:55 GMT]]></title><description><![CDATA[<p>Hallo nochmal...<br />
Ich bin am verzwiefeln, und ihr seid meine letzte Lösung. Also, ich habe einen eigenen verschlüsseungs-algorythmus fast fertig (<a href="http://img684.imageshack.us/img684/9397/cppftabenc.png" rel="nofollow">genaueres</a>), dieser jedoch entschlüsselt den ersten byte falsh ( &quot;hallo&quot; -&gt; &quot;j9%sf&quot; -&gt; &quot;8allo&quot; ). Wie krieg ich den ersten byte doch noch entschlüsselt?</p>
<p>Verschlüsselungs-schleife:</p>
<pre><code class="language-cpp">out[0] = tab[in[0&rsqb;&rsqb; [in[0&rsqb;&rsqb;;
for (size_t int i = 1; i&lt;length; i++)
{
	out[i] = tab[in[i&rsqb;&rsqb; [out[i-1&rsqb;&rsqb;;
}
</code></pre>
<p>Entschlüsselungs-schleife:</p>
<pre><code class="language-cpp">for (size_t i = 0; i &lt; 256; ++i) // hier müsste irgenwo der fehler sein
{
        if (in[0] == tab[i][i])
        {
            out[0] = i;
        }
}
for (size_t i = 1; i &lt; n; ++i) // rest entschlüsseln, funktioniert
{
	size_t spaltennummer = in [ i - 1 ];

	size_t j = 0;
	for (; j &lt; 256; ++j)
        {
		if (tab[j][spaltennummer] == in[i])
 			break;
	}
	out[i] = j;
}
</code></pre>
<p>Bitte bitte helft <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1869561</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1869561</guid><dc:creator><![CDATA[lk]]></dc:creator><pubDate>Tue, 16 Mar 2010 13:12:55 GMT</pubDate></item><item><title><![CDATA[Reply to BITTE hilfe! erster byte wird falsh entschlüsselt on Tue, 16 Mar 2010 00:26:39 GMT]]></title><description><![CDATA[<p>Was ist der Unterschied zwischen <code>in</code> und <code>inp</code> ? Den Fehler den ich sehe ist, dass du beim Entschlüsseln des ersten Zeichens die Diagonale von tab abläufst, beim Verschlüsseln aber nicht auf der Diagonale bist (falls <code>inp</code> und <code>in</code> unterschiedlich sind). Ist eigentlich garantiert, dass die Diagonale alle Werte zwischen 0 und 255 enthält? Das ist aus deiner Beschreibung nicht ganz klar.</p>
<p>edit: Das dein Algorithmus nicht sicher ist, dürfte dir aber klar sein, oder? Selbst mir würde spontan ein erfolgsversprechender Angriff<sup>*</sup> einfallen und ich bin nun wirklich nicht sehr erfahren auf dem Gebiet.</p>
<p><sup>*</sup>: Über das statistische Vorkommen von aufeinanderfolgenden Zeichenfolgen im verschlüsselten Text.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1869604</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1869604</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Tue, 16 Mar 2010 00:26:39 GMT</pubDate></item><item><title><![CDATA[Reply to BITTE hilfe! erster byte wird falsh entschlüsselt on Tue, 16 Mar 2010 13:11:38 GMT]]></title><description><![CDATA[<p>src = in ( = inp )<br />
out = dest</p>
<p>Wenn eine attacke einfach wäre, was müsste ich ändern ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1869830</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1869830</guid><dc:creator><![CDATA[lk]]></dc:creator><pubDate>Tue, 16 Mar 2010 13:11:38 GMT</pubDate></item><item><title><![CDATA[Reply to BITTE hilfe! erster byte wird falsh entschlüsselt on Tue, 16 Mar 2010 14:20:23 GMT]]></title><description><![CDATA[<p>lk schrieb:</p>
<blockquote>
<p>src = in ( = inp )<br />
out = dest</p>
</blockquote>
<p>Dann bleibt die Frage, ob auf der Diagonalen jedes Zeichen genau einmal vorkommt. Ist dies nämlich nicht so, geht das Verfahren schief.</p>
<blockquote>
<p>Wenn eine attacke einfach wäre, was müsste ich ändern ?</p>
</blockquote>
<p>Einen von Experten entwickelten und von Mathematikern bewiesenen Algorithmus verwenden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1869867</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1869867</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Tue, 16 Mar 2010 14:20:23 GMT</pubDate></item><item><title><![CDATA[Reply to BITTE hilfe! erster byte wird falsh entschlüsselt on Tue, 16 Mar 2010 23:27:39 GMT]]></title><description><![CDATA[<p>SeppJ schrieb:</p>
<blockquote>
<p>Ist eigentlich garantiert, dass die Diagonale alle Werte zwischen 0 und 255 enthält? Das ist aus deiner Beschreibung nicht ganz klar.</p>
</blockquote>
<p>Ich wuerde auch darauf tippen, dass das der Fehler ist.</p>
<p>Zur Sicherheit: Wenn du dir selber einen Algorithmus ausdenkst, ist der meistens nicht &quot;sicher&quot;. Es schwer eine gute Verschluesselung zu finden... aber das soll dich nicht davon abhalten es zu versuchen. Es macht ja trotzdem Spass (und es macht auch Spass die Schwaechen zu suchen). Wenn du dich fuer Verschluesselung interessierst, kann ich dir das Buch &quot;The Code Book&quot; von Simon Singh empfehlen.</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/19375">@SeppJ</a> Kannst du mir einen Tipp fuer den erfolgsversprechenden Angriff geben? Wenn er out[i]=tab[in[i&rsqb;&rsqb;[in[i-1&rsqb;&rsqb; verwenden wuerde, waere es simpel. Aber bei out[i]=tab[in[i&rsqb;&rsqb;[out[i-1&rsqb;&rsqb; sehe ich es gerade nicht... Aber es kann ja nicht so schwierig sein ;).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1870130</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1870130</guid><dc:creator><![CDATA[lustig]]></dc:creator><pubDate>Tue, 16 Mar 2010 23:27:39 GMT</pubDate></item><item><title><![CDATA[Reply to BITTE hilfe! erster byte wird falsh entschlüsselt on Wed, 17 Mar 2010 14:19:39 GMT]]></title><description><![CDATA[<p>Also, die grundidee war ja genau, dass es ja nicht 'in - in' ist, sondern 'in - out', und dazu noch 'in - out[-1]'. Leider macht dieses '-1' den ersten byte falsh...</p>
<p>SeppJ, könntest du das mit der attacke bitte machen? Es würde mir helfen...</p>
<p>Danke im voraus <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1870368</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1870368</guid><dc:creator><![CDATA[lk]]></dc:creator><pubDate>Wed, 17 Mar 2010 14:19:39 GMT</pubDate></item><item><title><![CDATA[Reply to BITTE hilfe! erster byte wird falsh entschlüsselt on Wed, 17 Mar 2010 14:54:38 GMT]]></title><description><![CDATA[<p>Kannst du einen langen verschlüsselten Text posten? Und sagen in welcher Sprache der Text ist? Da die Verschlüsselung nicht ganz trivial ist, werden wohl mehrere Dutzend kb Text nötig sein. Nimm irgendeinen Wikipedia-Artikel über Popkultur, die sind gerne mal 50.000 und mehr Wörter lang.</p>
<p>lustig hat übrigens Recht, dass es bei out[i]=tab[in[i&rsqb;&rsqb;[in[i-1&rsqb;&rsqb; einfach wäre. Das ist auch das, woran ich gedacht hatte. Die Methode die du eigentlich hast, ist schon viel schwieriger(aber natürlich auch nicht sicher).</p>
<p>Wenn du das hier öffentlich postest, fühlen sich sicher auch andere Leute angespornt, sich daran zu Versuchen. Mach am besten einen neuen Thread auf in dem du nochmal dein Verfahren erklärst (in der Kryptographie geht man davon aus, dass der Feind das Verfahren kennt, bloß nicht den Schlüssel) und dazu aufrufst, den Text zu entschlüsseln. Wenn der verschlüsselte Text sehr lang sein sollte, speicher ihn irgendwo extern und setz einen Link.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1870397</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1870397</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Wed, 17 Mar 2010 14:54:38 GMT</pubDate></item><item><title><![CDATA[Reply to BITTE hilfe! erster byte wird falsh entschlüsselt on Wed, 17 Mar 2010 15:32:34 GMT]]></title><description><![CDATA[<p>Verschlüsselter text über die *** (Deutsch): <a href="http://www.filefront.com/15854593/b.txt.trf" rel="nofollow">http://www.filefront.com/15854593/b.txt.trf</a></p>
<p>Oder sollte ich doch noch einen neuen Topic aufmachen ?</p>
<p>Da bin ich mal gespannt. (wer's entschlusseln kann, bitte sagen über wen das ist)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1870420</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1870420</guid><dc:creator><![CDATA[lk]]></dc:creator><pubDate>Wed, 17 Mar 2010 15:32:34 GMT</pubDate></item><item><title><![CDATA[Reply to BITTE hilfe! erster byte wird falsh entschlüsselt on Wed, 17 Mar 2010 15:43:48 GMT]]></title><description><![CDATA[<p>Also ich hab's gelesen und werde es mal probieren. Aber ich habe natürlich keine Zeit, das sofort zu machen. Gib mir ein paar Tage. Ist jetzt eigentlich das erste Zeichen richtig? Woran lag es denn?<br />
Ist garantiert, dass auf der Diagonalen jeder Wert nur einmal vor kommt?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1870433</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1870433</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Wed, 17 Mar 2010 15:43:48 GMT</pubDate></item><item><title><![CDATA[Reply to BITTE hilfe! erster byte wird falsh entschlüsselt on Wed, 17 Mar 2010 15:49:50 GMT]]></title><description><![CDATA[<p>Nein, das erste zeichen ist immer noch falsh. Und auf den Diagonalen können rgendwelche werte liegen, die auch X-mal vorkommen.<br />
Ich find's ein bisschen schade, das du erst in ein paar tagen zeit hast. Ich werde es eben nochmal posten...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1870438</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1870438</guid><dc:creator><![CDATA[lk]]></dc:creator><pubDate>Wed, 17 Mar 2010 15:49:50 GMT</pubDate></item><item><title><![CDATA[Reply to BITTE hilfe! erster byte wird falsh entschlüsselt on Wed, 17 Mar 2010 16:44:35 GMT]]></title><description><![CDATA[<p>lk schrieb:</p>
<blockquote>
<p>Nein, das erste zeichen ist immer noch falsh. Und auf den Diagonalen können rgendwelche werte liegen, die auch X-mal vorkommen.<br />
Ich find's ein bisschen schade, das du erst in ein paar tagen zeit hast. Ich werde es eben nochmal posten...</p>
</blockquote>
<p>Einen Ansatz habe ich:<br />
Erstmal die absolute Verteilung jedes Zeichens. Dies sieht wie zu erwarten sehr gleichverteilt aus:<br />
<a href="http://yfrog.com/28onefoldp" rel="nofollow">http://yfrog.com/28onefoldp</a></p>
<p>Aber jetzt kommt mein Ansatz: Ich gucke nicht nach der absoluten Verteilung, sondern ich gucke nach, wie oft ein Zeichen nach einem bestimmten anderen Zeichen kommt. Damit kriege ich 256 Graphen und die sehen dann überhaupt nicht mehr gleichverteilt aus. Hier ein Beispiel für einen davon:<br />
<a href="http://yfrog.com/2stwofoldp" rel="nofollow">http://yfrog.com/2stwofoldp</a></p>
<p>Man sieht ganz deutlich, dass im Originaltext nicht alle 256 ASCII-Zeichen vorkommen, denn dort benutzt du nur 2x26 Buchstaben, eventuell 10 Ziffern und ein paar Satzzeichen. Und man sieht ganz deutlich, dass nicht alle Zeichen gleich oft vorkommen.</p>
<p>Der Grundgedanke beim weiteren Vorgehen ist klar: Jetzt kann ich die Häufigkeit von Buchstaben in der deutschen Sprache nehmen und die häufigen Buchstaben mit ziemlich hoher Sicherheit richtig raten. Dies gibt mir schonmal viele der Einträge aus deiner Schlüsseltabelle. Außerdem kann ich damit schonmal die häufigsten Buchstaben vom Text wiederherstellen, Leerstellen wahrscheinlich auch, weil die auch recht häufig sind. Dann kann ich anfangen einzelne Wörter zu raten. Wer jemals Glücksrad gesehen hat weiß, wie weit man alleine mit den 5 häufigsten Konsonanten und einem Vokal kommt. Und wahrscheinlich werde ich mehr als einen Vokal haben, das macht die Sache noch einfacher. Jedes erratene Wort gibt mir weitere Einträge in der Tabelle. Damit kann ich dann wieder an anderer Stelle Buchstaben entschlüsseln. Das gibt mir wieder mehr Wörter die ich raten kann. Dies wird fortgeführt, bis ein ausreichender Teil des Textes rekonstruiert ist.</p>
<p>Ich denke, vor allem das zweite Bild dürfte dir klarmachen, dass dieser Ansatz prinzipiell funktionieren wird. Die Unterschiede sind ja schon ziemlich deutlich. Und das ist bei allen 256 Bildern so, ich habe nicht extra eines rausgegriffen, das besonders auffällig ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1870475</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1870475</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Wed, 17 Mar 2010 16:44:35 GMT</pubDate></item><item><title><![CDATA[Reply to BITTE hilfe! erster byte wird falsh entschlüsselt on Wed, 17 Mar 2010 17:01:24 GMT]]></title><description><![CDATA[<p>Heiliger bimbam, da muss viel dran geändert werden :p Danke<br />
Und, wo hast du die graphen hergekriegt ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1870483</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1870483</guid><dc:creator><![CDATA[lk]]></dc:creator><pubDate>Wed, 17 Mar 2010 17:01:24 GMT</pubDate></item><item><title><![CDATA[Reply to BITTE hilfe! erster byte wird falsh entschlüsselt on Wed, 17 Mar 2010 17:46:29 GMT]]></title><description><![CDATA[<p>Simples Analyseprogramm, in wenigen Minuten selbst geschrieben:</p>
<pre><code class="language-cpp">#include&lt;iostream&gt;
#include&lt;fstream&gt;
#include&lt;vector&gt;
#include&lt;sstream&gt;
#include&lt;string&gt;
using namespace std;

int main()
{
  ifstream in;
  in.open(&quot;b.txt.trf&quot;,ios::binary);
  vector&lt;vector&lt;int&gt; &gt; count(256, vector&lt;int&gt;(256,0));
  char c, last;
  in.get(last);
  while (in.get(c)) 
    {
      ++count[static_cast&lt;unsigned char&gt;(last)][static_cast&lt;unsigned char&gt;(c)];
      last=c;
    }
  for (int i=0; i&lt; 256;++i) {
    ofstream out;
    stringstream name;
    name &lt;&lt; i;
    out.open(name.str().c_str());
    for (int j=0; j&lt;256; ++j)
      out &lt;&lt;j&lt;&lt;&quot; &quot; &lt;&lt; count[i][j]&lt;&lt;endl;
    out.close();
  }
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1870508</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1870508</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Wed, 17 Mar 2010 17:46:29 GMT</pubDate></item><item><title><![CDATA[Reply to BITTE hilfe! erster byte wird falsh entschlüsselt on Wed, 17 Mar 2010 17:56:53 GMT]]></title><description><![CDATA[<p>lk schrieb:</p>
<blockquote>
<p>Nein, das erste zeichen ist immer noch falsh. Und auf den Diagonalen können rgendwelche werte liegen, die auch X-mal vorkommen.</p>
</blockquote>
<p>Das heisst, dass die Verschluesselung des ersten Zeichens nicht wirklich funktioniert (nicht umkehrbar ist). Extrembeispiel: Alles 1 auf der Diagonale. Das erste Zeichen wird immer 1 sein, unabhaengig davon was du verschluesselst.<br />
Setze doch einfach in[-1] auf irgendetwas bekanntes, z.B. 'A'. Dann machst du:</p>
<pre><code class="language-cpp">char startingValue='A';
out[0]=tab[in[0&rsqb;&rsqb;[startingValue];
</code></pre>
<p>Das sollte das Problem loesen. Wenn ich mal Zeit habe, versuche ich mich auch an dem verschluesselten Text :).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1870512</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1870512</guid><dc:creator><![CDATA[lustig]]></dc:creator><pubDate>Wed, 17 Mar 2010 17:56:53 GMT</pubDate></item><item><title><![CDATA[Reply to BITTE hilfe! erster byte wird falsh entschlüsselt on Wed, 17 Mar 2010 18:24:49 GMT]]></title><description><![CDATA[<p>SeppJ, giebt es denn auch andere methoden, zb verschlüsselte Binärdateien ohne die tabelle zu entschlüsseln? Wenn ja, könntest du die sagen ? (Wenn nein, reicht es aus die bits to verschieben, oder?)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1870525</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1870525</guid><dc:creator><![CDATA[lk]]></dc:creator><pubDate>Wed, 17 Mar 2010 18:24:49 GMT</pubDate></item><item><title><![CDATA[Reply to BITTE hilfe! erster byte wird falsh entschlüsselt on Wed, 17 Mar 2010 18:45:55 GMT]]></title><description><![CDATA[<p>lk schrieb:</p>
<blockquote>
<p>SeppJ, giebt es denn auch andere methoden, zb verschlüsselte Binärdateien ohne die tabelle zu entschlüsseln? Wenn ja, könntest du die sagen ? (Wenn nein, reicht es aus die bits to verschieben, oder?)</p>
</blockquote>
<p>Ich verstehe die Frage nicht. Meinst du, ob es möglich ist, auch Dateien zu entschlüsseln, die keine menschliche Sprache enthalten? Ja, sofern man eine ungefähre Vorstellung vom Inhalt hat. Es gibt immer Muster.</p>
<p>Und hier noch ein anderer Ansatz:<br />
Dein Schlüssel hat höchstens 255*255*255 Kombinationen, das sind ungefähr 16 Millionen. Davon sind sehr viele nicht gültig, weil nur solche gelten, die ein korrektes Sudoku-Muster haben. Aber selbst wenn man es mit 16 Millionen Kombinationen zu tun hat: Ein kleiner Heimrechner kann 16 Millionen Schlüssel in einigen Minuten bis wenigen Stunden durchprobieren, je nach Geschwindigkeit und Länge des Textes. Ich könnte mir vorstellen, deinen Text mit solch einem Verfahren zu knacken, falls sich die Wortraterei als zu mühsam erweisen sollte.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1870538</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1870538</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Wed, 17 Mar 2010 18:45:55 GMT</pubDate></item><item><title><![CDATA[Reply to BITTE hilfe! erster byte wird falsh entschlüsselt on Wed, 17 Mar 2010 19:34:54 GMT]]></title><description><![CDATA[<p>Nein. Du würdest es ja nach der anzahl der buchstaben oder so machen, aber wenn es kein text wäre, sondern eine binärdatei, dann würde dies ja nicht wirklich funktionieren. Würde es auch ausreichen - bei normalen texten - die bits jeweils for der verschlüsselung zu verschieben ? Daduch würde dann der text verwischt, und aus den danach verschlüsselten daten könnte man nicht mehr die anzahl der buchstaben bestimmen.<br />
`</p>
<p>1 2 3 4 5 6 7 8</p>
<p>2 3 4 5 6 7 8 1</p>
<p>3 4 5 6 7 8 1 2</p>
<p>4 5 6 7 8 1 2 3</p>
<p>5 6 7 8 1 2 3 4</p>
<p>6 7 8 1 2 3 4 5</p>
<p>7 8 1 2 3 4 5 6</p>
<p>8 1 2 3 4 5 6 7</p>
<p>`</p>
<p>Hast du noch Ideen, wie man dies entschlüsseln könnte ? (ich nehme mich mal heute oder morgen an dieses bit-shifting)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1870554</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1870554</guid><dc:creator><![CDATA[lk]]></dc:creator><pubDate>Wed, 17 Mar 2010 19:34:54 GMT</pubDate></item><item><title><![CDATA[Reply to BITTE hilfe! erster byte wird falsh entschlüsselt on Wed, 17 Mar 2010 19:41:30 GMT]]></title><description><![CDATA[<p>SeppJ schrieb:</p>
<blockquote>
<p>Dein Schlüssel hat höchstens 255*255*255 Kombinationen, das sind ungefähr 16 Millionen.</p>
</blockquote>
<p>Hmm, da ist dir aber ein kleiner (*hust*) Fehler unterlaufen. Eigentlich waere es<br />
(256*256)^256. Eine etwas kleinere Abschaetzung waere 256!*256, was immer noch ca. groesser als 10^500 ist...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1870561</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1870561</guid><dc:creator><![CDATA[lustig]]></dc:creator><pubDate>Wed, 17 Mar 2010 19:41:30 GMT</pubDate></item><item><title><![CDATA[Reply to BITTE hilfe! erster byte wird falsh entschlüsselt on Wed, 17 Mar 2010 20:25:33 GMT]]></title><description><![CDATA[<p>lk schrieb:</p>
<blockquote>
<p>Würde es auch ausreichen - bei normalen texten - die bits jeweils for der verschlüsselung zu verschieben ? Daduch würde dann der text verwischt, und aus den danach verschlüsselten daten könnte man nicht mehr die anzahl der buchstaben bestimmen.</p>
</blockquote>
<p>Ich verstehe nicht, wo der Unterschied sein soll, wenn du alles bloß verschiebst.</p>
<blockquote>
<p>Hast du noch Ideen, wie man dies entschlüsseln könnte ?</p>
</blockquote>
<p>Selbst wenn ich einsähe inwiefern mein anderer Ansatz nicht funktionieren sollte: Ich bin nicht einmal ansatzweise ein Kenner von Entschlüsselungsverfahren. Ich habe einfach nur den Thread gelesen und mir gedacht &quot;Da fällt ja selbst mir ein Angriff ein&quot; und habe Spaß daran, das Verfahren in der Praxis zu überprüfen. Wenn ich mich mit Kryptographie auskennen würde, wäre ich in der Lage die konzeptionellen Schwächen zu erkennen und gezielt auszunutzen. Wahrscheinlich würde sogar ein sehr viel kürzerer Text ausreichen als der den du hochgeladen hast.<br />
Das es konzeptionelle Schwächen des Verfahrens geben muss ist klar, da du kein mathematisches Konzept vorweisen kannst, warum das Verfahren etwas taugen sollte. Dass du zufällig etwas brauchbares gefunden haben solltest, ist sehr sehr unwahrscheinlich. Kryptographie denkt man sich nicht mal eben aus, Kryptographie entwickelt man.</p>
<p>lustig schrieb:</p>
<blockquote>
<p>SeppJ schrieb:</p>
<blockquote>
<p>Dein Schlüssel hat höchstens 255*255*255 Kombinationen, das sind ungefähr 16 Millionen.</p>
</blockquote>
<p>Hmm, da ist dir aber ein kleiner (*hust*) Fehler unterlaufen. Eigentlich waere es<br />
(256*256)^256. Eine etwas kleinere Abschaetzung waere 256!*256, was immer noch ca. groesser als 10^500 ist...</p>
</blockquote>
<p>Ups, hast natürlich Recht. Also Brute-Force ist wohl doch nichts.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1870584</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1870584</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Wed, 17 Mar 2010 20:25:33 GMT</pubDate></item><item><title><![CDATA[Reply to BITTE hilfe! erster byte wird falsh entschlüsselt on Wed, 17 Mar 2010 21:21:42 GMT]]></title><description><![CDATA[<p>SeppJ schrieb:</p>
<blockquote>
<p>lk schrieb:</p>
<blockquote>
<p>Würde es auch ausreichen - bei normalen texten - die bits jeweils for der verschlüsselung zu verschieben ? Daduch würde dann der text verwischt, und aus den danach verschlüsselten daten könnte man nicht mehr die anzahl der buchstaben bestimmen.</p>
</blockquote>
<p>Ich verstehe nicht, wo der Unterschied sein soll, wenn du alles bloß verschiebst.</p>
</blockquote>
<p>Wenn ich die daten vor dem verschlüsseln mit einer immer-gleichen methode verändere, die daten dann aber verschlüssele, kann man die immer-gleiche veränderung nicht vor dem entschlüsseln rückgängig machen. Somit kann man auch nicht auf die Buchstaben kommen, oder so. Auf jeden Fall aber würde das cracking-Verfahren von dir wegfallen (ein Schritt in der 'Kryptographie-Entwicklung' :p ).</p>
<p>(Kennt jemand vielleicht jemanden, der sich mit so etwas auskennt, und helfen könnte?)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1870611</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1870611</guid><dc:creator><![CDATA[lk]]></dc:creator><pubDate>Wed, 17 Mar 2010 21:21:42 GMT</pubDate></item><item><title><![CDATA[Reply to BITTE hilfe! erster byte wird falsh entschlüsselt on Wed, 17 Mar 2010 21:34:32 GMT]]></title><description><![CDATA[<p>lk schrieb:</p>
<blockquote>
<p>Wenn ich die daten vor dem verschlüsseln mit einer immer-gleichen methode verändere, die daten dann aber verschlüssele, kann man die immer-gleiche veränderung nicht vor dem entschlüsseln rückgängig machen. Somit kann man auch nicht auf die Buchstaben kommen, oder so. Auf jeden Fall aber würde das cracking-Verfahren von dir wegfallen (ein Schritt in der 'Kryptographie-Entwicklung' :p ).</p>
</blockquote>
<p>Eine monoalphabetische Veränderung bringt gar nichts.</p>
<blockquote>
<p>(Kennt jemand vielleicht jemanden, der sich mit so etwas auskennt, und helfen könnte?)</p>
</blockquote>
<p>Wenn dir jemand reicht, der sich ein paar Stunden mit dem Thema auseinandergesetzt hat: Mitlerweile ich.<br />
Also: Was hast du vor?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1870618</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1870618</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Wed, 17 Mar 2010 21:34:32 GMT</pubDate></item><item><title><![CDATA[Reply to BITTE hilfe! erster byte wird falsh entschlüsselt on Thu, 18 Mar 2010 12:32:06 GMT]]></title><description><![CDATA[<p>Also, ich will natürlich den Algorythmus sicher machen, gegen diese ganzen angriffs-Methoden. Ich habe vor, immer jeweils eine angriffs-Methode herauszufinden, und den Algorythmus entsprechend umändern, sodass er sicher gegen sie ist. Leider habe ich nicht viel Ahnung auf diesem Gebiet, aber man lernt ja das ganze Leben durch...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1870814</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1870814</guid><dc:creator><![CDATA[lk]]></dc:creator><pubDate>Thu, 18 Mar 2010 12:32:06 GMT</pubDate></item><item><title><![CDATA[Reply to BITTE hilfe! erster byte wird falsh entschlüsselt on Thu, 18 Mar 2010 14:28:59 GMT]]></title><description><![CDATA[<p>Wenn du schon einen eigenen Verschlüsselungsalgorithmus bauen willst (warum kannst/darfst du keinen fertigen benutzen?) kannst du dir auf dieser Seite mal einen anschauen, der sowohl sicher als auch einfach zu implementieren ist:</p>
<p><a href="http://www.schneier.com/solitaire.html" rel="nofollow">Solitaire</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1870874</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1870874</guid><dc:creator><![CDATA[DocShoe]]></dc:creator><pubDate>Thu, 18 Mar 2010 14:28:59 GMT</pubDate></item><item><title><![CDATA[Reply to BITTE hilfe! erster byte wird falsh entschlüsselt on Thu, 18 Mar 2010 15:15:42 GMT]]></title><description><![CDATA[<p>Ok, ich habe mich in den letzten Tagen mal ein bisschen mit Kryptoanalyse beschäftigt und kann dir sagen, was an deinem Verfahren nicht stimmt:</p>
<p>Dein Verfahren ist knackbar durch Frequenzanalyse, wie ich demonstriert habe (auch wenn ich nicht den Nerv habe das wirklich bis zum Ende durchzuziehen). Das ist eine prinzipielle Schwäche deines Verfahrens, da es sich um ein ersetzungsverfahren mit einer begrenzten Zahl an Alphabeten handelt. Es ist bekannt, welches Alphabet für welches Zeichen verwendet wurde, denn das vorherige Zeichen bestimmt das ALphabet. Dadurch ist es knackbar mit einer Frequnzanalyse, nur dass man es mit einer großen Zahl an Alphabeten zu tun hat.</p>
<p>Was könntest du dagegen tun? Mach die Wahl des Alphabets nicht vom vorherigen Zeichen, sondern von einem anderen Schlüsselwort abhängig.</p>
<p>Problem: Auch dieser Trick ist alt bekannt und längst analysiert: Man berechnet dann den Koinzidenzindex und kann so die Schlüssellänge erraten. Dann hat man es wieder mit einer bekannten Zahl an Alphabeten zu tun und kann auf diesen wieder eine Frequenzanalyse machen.</p>
<p>Was man dagegen tun könnte, ohne dein Verfahren grundlegend umzukrempeln, weiß ich nicht. Man kann es natürlich immer eine Stufe komplizierter werden lassen ,indem du den Schlüssel noch alternieren lässt, aber das ist keine prinzipielle Lösung und vergrößert nur die Zahl der Nachrichten, die ein Angreifer mitlesen muss, bevor er den Code angreifen kann.</p>
<p>Eine weitere Schwäche: Fallt dem Angreifer eine verschlüsselte Nachricht in die Hände, deren Quelltext er kennt, kann er ganz einfach den Schlüssel berechnen und somit alle anderen Nachrichten entschlüsseln, die mit dem gleichen Schlüssel verschlüsselt wurden. Selbst wenn man nur Teile der Nachricht kennt (z.B. es geht mit einer Anrede los, oder endet mit dem Wetterbericht), kann man schon einiges an Aussagen über den Schlüssel machen. Wenn man dann einige Teile des Schlüssels sicher kennt, kann man den Rest erraten. Auch dies ist eine prinzipielle Schwäche, die nicht durch einfache Abänderung des Verfahrens behoben werden kann.</p>
<p>Der Schlüsselaustausch ist eine weitere Schwachstelle. Der Schlüssel muss irgendwie von A nach B gelangen und darf dabei nicht abgehört werden. Dies ist eine prinzipielle Schwäche aller symmetrischen Verschlüsselungsverfahren. Dagegen helfen asymmetrische Verfahren (zumindest zum Austausch des Schlüssels), die grundsätzlich anders funktionieren als dein Verfahren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1870903</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1870903</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Thu, 18 Mar 2010 15:15:42 GMT</pubDate></item><item><title><![CDATA[Reply to BITTE hilfe! erster byte wird falsh entschlüsselt on Thu, 18 Mar 2010 15:25:33 GMT]]></title><description><![CDATA[<p>Also, über die Asymetrischen Verschlüsselungsmethoden habe ich mich auch schon informiert, leider habe ich nirgends etwas gefunden wie die dinger funktionieren.<br />
Wenn ihr meint, das Verfahren sei nicht mehr zu retten, werde ich's an etwas anderem versuchen, was aber schade wäre...<br />
Danke dir, SeppJ, dass du mir so fiel geholfen hast <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1870909</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1870909</guid><dc:creator><![CDATA[lk]]></dc:creator><pubDate>Thu, 18 Mar 2010 15:25:33 GMT</pubDate></item><item><title><![CDATA[Reply to BITTE hilfe! erster byte wird falsh entschlüsselt on Thu, 18 Mar 2010 17:39:10 GMT]]></title><description><![CDATA[<p>Für asymmetrische Verfahren ist die Idee, dass man sich ein mathematisches Problem sucht, dass in einer Richtung sehr einfach ist und in der Umkehrung sehr schwierig. Darauf baut man dann ein einfaches Chiffre auf. Da man Mathematiker sein muss, um über sowas den Überblick zu haben, ist es nicht leicht, selber so ein Verfahren zu entwickeln.</p>
<p>Schau dir für ein sehr gebräuchliches Beispiel mal RSA an. Dieses basiert auf zwei mathematischen Problemen. Erstens die Leichtigkeit zwei Primzahlen zu finden und zu multiplizieren, aber die Schwierigkeit eine Zahl in zwei Primfaktoren zu zerlegen. Zweitens die Schwierigkeit die Eulerfunktion einer Zahl ohne Kenntnis von deren Primfaktoren zu berechnen.</p>
<p>Da asymmetrische verfahren recht Rechenaufwändig sind, wird häufig nur ein Schlüssel für ein Blockchiffre damit übertragen. Du kannst dir ja auch mal die gängigen Blockchiffres angucken. Diese sind (relativ) sicher, sofern man den Schlüssel sicher übertragen kann. Für simple Blockchiffres gibt es Angriffe, die neueren sind noch nicht genau erforscht, gelten aber (bisher) als sicher. Die moderneren Verfahren sind aber teilweise nicht ganz einfach zu implementieren.</p>
<p>Ich würde für den Anfang mal das schon vorgeschlagene Solitaire als Hauptchiffre implementieren und RSA als Übertragungsweg für den Schlüssel. Beide sind relativ einfach umzusetzen (zumindest wenn du für RSA eine Bibliothek für große Zahlen benutzt). Und das ist dann schon so sicher, dass es sich eher lohnt, einen unkonventionellen Angriff (also Überredung, Wanzen, Erpressung, Folter) zu starten, anstatt sich an dem Verschlüsselungsverfahren selbst die Zähne auszubeißen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1870974</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1870974</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Thu, 18 Mar 2010 17:39:10 GMT</pubDate></item></channel></rss>