Announcement

Collapse
No announcement yet.

Verschlüsselung testen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Verschlüsselung testen

    Hallo,
    ich habe für eigene Zwecke (Verschlüsselung nur innerhalb eines eigenen Programms) eine Routine erstellt. Kennt jemand eine (kostenlose) Möglichkeit, wo oder wie ich die Codierung testen lassen kann?
    Danke für Hinweise!
    Jürgen

  • #2
    Hallo Jürgen,

    was soll denn getestet werden, der Algorithmus oder die Implementierung?

    Den Algorithmus könnte ich mir mal ansehen, bei der Implementierung wäre jemand nützlich, der sich in der betreffenden Sprache gut auskennt.

    Du könntest es auch ins Usenet (sci.crypt) posten und um Kommentare bitten.

    MfG
    Carste

    Comment


    • #3
      Hallo Carsten,
      meine Idee war: Ich schicke einen codierten String mit etwa 30 Zeichen Länge, der einen Klartext mit etwa 10 Zeichen enthält, und frage danach, wie einfach die Entschlüsselung möglich ist.
      Den <u>Algorithmus</u> habe ich vor mehreren Jahren aus einem Buch übernommen (Muster: char ersetzen durch (char mod x)) und etwas verbessert, indem der modulo-Divisor von der Position innerhalb des Strings abhängt. Als <u>Sprache</u> habe ich Delphi (Pascal) und C# benutzt.
      Genauer wollte ich die Sicherheitsprüfung nicht haben. Gibt es so etwas?
      Danke! Jürge

      Comment


      • #4
        Tschuldigung...
        Der <u>Algorithmus</u> basiert auf:
        byte = (byte)(char xor (x modulo ... ));
        wobei x die Position innerhalb des Strings darstellt und zur modulo-Berechnung noch zwei Grundrechenoperationen kommen.
        Nochmals danke für Hinweise! Jürge

        Comment


        • #5
          Hallo Jürgen,

          eigentlich ist es bei Crypto-Algorithmen üblich, den Algorithmus bekanntzugeben und den zu testen. Entschlüsselungsaufgaben bekommst Du höchstens gelöst, wenn Du irgend einen Preis aussetzt.

          Auf den ersten Blick sieht das leicht knackbar aus.

          <tt>chiffriertext = klartext xor zufallszahlen </tt>

          wäre ein One Time Pad, mit echten Zufallswerten das einzige beweisbar sichere Kryptosystem.

          Dein Ansatz hat aber gar keinen Zufall drin sondern eine Regelmäßigkeit. Und One Time Pad mit unechten Zufallszahlen ist zu brechen.

          Die Frage ist also eigentlich: Wie lange soll die Verschlüsselung halten? Und wer würde versuchen, ihn zu brechen, d.h. mit welchem Aufwand würde er angegriffen?

          MfG
          Carste

          Comment


          • #6
            Hallo Carsten,
            es ist anscheinend sinnvoll, genauer zu erläutern, worum es mir geht.
            1. Es ist mir klar, dass mein Verfahren nicht wirklich sicher ist (und es auch nicht sein muss).
            2. Es sollen Daten z.B. in einer Ini-Datei verschlüsselt gespeichert werden, die nur innerhalb meines Programms gelesen und verarbeitet werden sollen.
            3. Da es sich um ein spezielles kommerzielles Programm handelt, sind "allgemeine Attacken" nicht zu erwarten.
            4. Ich will lediglich vermeiden, dass ein "normaler Anwender" die verschlüsselten Daten schnell knackt und ändert.
            Mein <u>Algorithmus</u> enthält folgende Schritte:
            a. Boolesche Werte werden mit unterschiedlichen Kürzeln gespeichert (true = Auswahl aus 13 verschiedenen Zeichen, die so nicht als String im Quelltext stehen).
            b. Der ursprüngliche Text wird durch beliebige Zeichen am Anfang und Ende verlängert.
            c. Dieser Gesamttext wird verschlüsselt durch (in C#):
            for( int x1=0; x1 < Gesamttext.Length; x1++ )
            Gesamttext[x1] = (byte)(Gesamttext[x1] ^ ((x1 % 9)*3+5) );
            d. An diesen neuen Text werden zwei Zeichen angehängt, die die Startposition und die Länge des eigentlichen Textes enthalten.
            Beispielsweise erscheint "Jürgen Thomas" in einer XML-Datei so:
            <i>&lt;9BJSÉ|¼Pa@ T(K]ªobme.E|xw|v(]kcxv}n([dhecvhxJmyc&amp;óüTéwZ@Ju@dpA</i>
            Meine Idee für den "Test" war deshalb: Erhält jemand den Klartext, wenn er einen solchen String durch "Standardprogramme zum Hacken" laufen lässt, oder ist mit größerem Aufwand zum Entschlüsseln zu rechnen?
            > Die Frage ist also eigentlich:...
            Die Antwort lautet also: Angreifer sind Laien, keine Profi-Hacker. Nach drei Versuchen würde er wohl aufhören.
            Meine Frage also: Lässt sich so etwas kurz und einfach testen? Nach den Erwartungen, die ich habe, soll also auch mein Test keinen Aufwand verursachen.
            MfG
            Jürge

            Comment


            • #7
              Hallo Jürgen,

              Standardprogramme kennen nur Standardprotokolle, da besteht keine Gefahr.

              Das müßte man von Hand entschlüsseln, und das ist bei Deinem Algorithmus für Laien viel zu aufwendig. Bei einer einfachen Substitution <tt>Zeichen -&gt; Anderes Zeichen </tt> ist das einfach, da sich u.a. die Häufigkeit der Zeichen nicht ändert. Und wenn dann noch Teile des Klartexts bekannt sind hat man schon fast gewonnen. Aber bei der Zeichenwüste wird ein Laie schnell aufgeben. Der wird das vielleicht durch ein möglichst universelles Entpackprogramm jagen (ist bei unbekannten Dateien recht hilfreich, manche Leute denken, was kompromiert ist, kann keiner lesen - Entpacker rüber, schon ist der Klartext da) oder in einer Textverarbeitung öffnen (könnte ja komprimiertes Word o.ä. sein), aber viel mehr würde ich da nicht erwarten.

              Man sollte in der Kryptologie zwar immer davon ausgehen, das der Angreifer den Algorithmus kennt, aber in Deinem Fall wäre das wohl unwahrscheinlich. Und wenn wirklich einer mit Reverse Engineering anfängt ist es sowieso zu spät, dann ist ein Profi am Werk.

              Für den beschriebenen Zweck sollte der Algorithmus auf jedem Fall reichen. Evtl. könnte auch ein USB-Dongle brauchbar sein, aber der kostet natürlich wieder was.

              Und jetzt: &lt;Entwicklermagazin-Werbung&gt; ;-)
              Ich habe fürs Entwickler Magazin den HASP HL von Aladdin getestet, der ist u.a. für solche Zwecke gedacht. Testbericht ist im aktuellen Entwicklermagazin drin.
              &lt;/Entwicklermagazin-Werbung&gt; ;-)

              Falls Du dich mit Kryptologie mal näher beschäftigen möchtest/mußt ist "Abenteuer Kryptologie" von Reinhard Wobst ein gutes Buch. Gibt es als ältere Ausgabe auch öfter mal als PDF auf diversen CDs oder auch manchmal sehr günstig im Netz zu kaufen. Das hat auch einen schönes Kapitel über Kryptanalyse.

              MfG
              Carste

              Comment


              • #8
                Hallo Carsten,
                recht herzlichen Dank für Deine ausführlichen Erläuterungen.
                Wahrscheinlich hätte ich von Anfang an konkret werden sollen; dann wären wir gleich bei diesem Kommentar gelandet. Ich hatte allerdings nicht damit gerechnet, dass ich schon hier sachkundigen Rat erhalten würde. (Mein Fehler: ich weiß doch, dass im Forum Fachleute helfen...)
                > Entwicklermagazin
                Von Dongles halte ich als <u>Anwender</u> wenig und würde dies schon deshalb nicht einsetzen. Aber ich lese solche Beiträge auf jeden Fall.
                > Kryptologie
                Ich interessiere mich schon dafür, aber eher wie ein interessierter Laie. Danke für den Buchtipp!
                MfG
                Jürge

                Comment


                • #9
                  Hallo Jürgen,

                  gern geschehen.

                  Klar, hättest Du gleich geschrieben, worum es konkret geht, wäre es schneller gegangen. Aber so sind wir ja auch zu einem Ergebnis gekommen. :-)

                  > Dongles
                  Als Anwender mag ich Dongles auch nicht, da wäre ein Dongle ein absoluter Nicht-kauf-Grund. In meinen Augen sind die aber für einen Einsatzzweck ganz nützlich: Wenn es ein teures und/oder spezielles Programm ist, das mehr oder weniger auf einem separaten Rechner läuft. Wenn dann z.B. am "CAD-Rechner" ein Dongle hängt stört es nicht weiter. An einem normalen Arbeitsplatzrechner sind Dongles aber eindeutig fehlplatziert. Allein schon, weil die da ziemlich schnell Beine bekommen würden... ;-)

                  > Kryptologie
                  Das Buch ist sehr gut und auch für Laien geeignet, da mit vielen praktischen Beispielen. Und es erschlägt den Leser nicht gleich wie z.B. Schneiers "Angewandte Kryptographie".

                  MfG
                  Carste

                  Comment

                  Working...
                  X