kostenloser Webspace werbefrei: lima-city


Gratis Obfuscator?

lima-cityForumProgrammiersprachenProgrammieren mit .NET & Mono

  1. yorecords schrieb:
    Also in diesem Fall jetzt hab ich ein Programm (zumindest einen Prototypen) zur Verschlüsselung von Texten geschrieben. In dem Fall ist es natürlich wichtig, dass man nicht einfach durchs dekompilieren hinter das System des Programms und im Falle dass Zeichen einfach nur ersetzt werden hinter die direkte Verschlüsselung kommt.
    In diesem Zusammenhang ist mir erst klar geworden wie einfach es ist Programme zu rekonstruieren.. Und seitdem suche ich nach einem vernünftigen Weg das zu verhindern.

    Du setzt an der falschen Stelle an. Das was du anstrebst, nennt sich Security through Obscurity und beschreibt generell Sicherheitsverfahren, die unsicher werden, wenn man den Verschlüsselungsalgorithmus kennt.

    Dem Gegenüber stehen viele moderne Verschlüsselungsalgorithmen, die trotz ihrer allgemeinen Bekanntheit nicht mit realistischem Aufwand knackbar sind. Das klassische Beispiel ist hier RSA. Diese Algorithmen erlangen ihre Sicherheitsqualität durch die Verwendung eines (bei jeder Anwendung verschiedenen) Schlüssels. Dieser Schlüssel ist bei ausreichender Länge für einen Angreifer mit ausreichend großer Wahrscheinlichkeit nicht auffindbar.

    Hinzu kommt noch, dass RSA ein Public-Key Verfahren ist, bei dem es 2 Schlüssel gibt: Einen öffentlich bekannten Schlüssel und einen geheimen Schlüssel. Selbst wenn man den öffentlichen Schlüssel hat, hat man realistisch betrachtet keine Möglichkeit den geheimen Schlüssel irgendwie zu berechnen.

    Beitrag zuletzt geändert: 18.7.2012 18:55:52 von bladehunter
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Autor dieses Themas

    yorecords

    Kostenloser Webspace von yorecords

    yorecords hat kostenlosen Webspace.

    bladehunter schrieb:
    yorecords schrieb:
    Also in diesem Fall jetzt hab ich ein Programm (zumindest einen Prototypen) zur Verschlüsselung von Texten geschrieben. In dem Fall ist es natürlich wichtig, dass man nicht einfach durchs dekompilieren hinter das System des Programms und im Falle dass Zeichen einfach nur ersetzt werden hinter die direkte Verschlüsselung kommt.
    In diesem Zusammenhang ist mir erst klar geworden wie einfach es ist Programme zu rekonstruieren.. Und seitdem suche ich nach einem vernünftigen Weg das zu verhindern.

    Du setzt an der falschen Stelle an. Das was du anstrebst, nennt sich Security through Obscurity und beschreibt generell Sicherheitsverfahren, die unsicher werden, wenn man den Verschlüsselungsalgorithmus kennt.

    Dem Gegenüber stehen viele moderne Verschlüsselungsalgorithmen, die trotz ihrer allgemeinen Bekanntheit nicht mit realistischem Aufwand knackbar sind. Das klassische Beispiel ist hier RSA. Diese Algorithmen erlangen ihre Sicherheitsqualität durch die Verwendung eines (bei jeder Anwendung verschiedenen) Schlüssels. Dieser Schlüssel ist bei ausreichender Länge für einen Angreifer mit ausreichend großer Wahrscheinlichkeit nicht auffindbar.

    Hinzu kommt noch, dass RSA ein Public-Key Verfahren ist, bei dem es 2 Schlüssel gibt: Einen öffentlich bekannten Schlüssel und einen geheimen Schlüssel. Selbst wenn man den öffentlichen Schlüssel hat, hat man realistisch betrachtet keine Möglichkeit den geheimen Schlüssel irgendwie zu berechnen.


    Ich weiß. Genau darüber habe ich mich ja die letzten Tage auch informiert. Das ist diese Verschlüsselung mittels Matrizen. Es geht darum, den eingelesenen String durch Zahlen zu ersetzen und diese dann in eine Matrix zu schreiben, welche dann mit einer Kodierunsmatrix Multipliziert wird. Und die inverse dieser Matrix ist die Dekodierungsmatrix, mit der multipliziert man dann wieder bei den Zahlen ist die schlussendlich wieder durch die Zeichen ersetzt werden können.
    Ich hab auch schon angefangen soetwas zu programmieren und bin auch schon recht weit (fast fertig).. Ein paar kleine Probleme gibt es da noch, aber ich denke, dass ich die in den nächsten Tagen lösen werde.

    Trotzdem ist es dann bei diesem Verfahren das Gleiche wenn jemand an den kompletten Code kommt. Wenn man die Dekodierungsmatrix und die Strings kennt, kann man auch diese Verschlüsselung problemlos knacken... Und genau das ist das Problem.
  4. yorecords schrieb:
    Trotzdem ist es dann bei diesem Verfahren das Gleiche wenn jemand an den kompletten Code kommt. Wenn man die Dekodierungsmatrix und die Strings kennt, kann man auch diese Verschlüsselung problemlos knacken... Und genau das ist das Problem.

    Und du hast jetzt eine bestimmte Matrix und ein paar bestimmte Strings ausgewählt, und diese werden immer von deinem Programm verwendet? Schreibe dein Programm doch einfach so, dass der User eine Datei angeben kann und in dieser Datei steht dann die Matrix und die Strings drin. Jeder User hat dann zwar das gleiche Programm, aber jeder kann für seine eigenen Zwecke eine eigene Matrix-String Datei haben.

    Beitrag zuletzt geändert: 19.7.2012 7:42:49 von bladehunter
  5. Autor dieses Themas

    yorecords

    Kostenloser Webspace von yorecords

    yorecords hat kostenlosen Webspace.

    bladehunter schrieb:
    yorecords schrieb:
    Trotzdem ist es dann bei diesem Verfahren das Gleiche wenn jemand an den kompletten Code kommt. Wenn man die Dekodierungsmatrix und die Strings kennt, kann man auch diese Verschlüsselung problemlos knacken... Und genau das ist das Problem.

    Und du hast jetzt eine bestimmte Matrix und ein paar bestimmte Strings ausgewählt, und diese werden immer von deinem Programm verwendet? Schreibe dein Programm doch einfach so, dass der User eine Datei angeben kann und in dieser Datei steht dann die Matrix und die Strings drin. Jeder User hat dann zwar das gleiche Programm, aber jeder kann für seine eigenen Zwecke eine eigene Matrix-String Datei haben.


    Aber man kann doch nicht wirklich von jedem User erwarten, dass er eine eigene Matrix schreibt (zu der eine inverse existiert, die er dann natürlich auch noch berechnen muss)..
  6. hackyourlife

    Moderator Kostenloser Webspace von hackyourlife

    hackyourlife hat kostenlosen Webspace.

    Anstatt den User selbst rechnen zu lassen kannst du das ja beim ersten Programmstart von deinem Programm machen lassen, sodass der User das eventuell gar nicht mitbekommt... und das speicherst du dann in die “Matrix-Datei“.
  7. Autor dieses Themas

    yorecords

    Kostenloser Webspace von yorecords

    yorecords hat kostenlosen Webspace.

    hackyourlife schrieb:
    Anstatt den User selbst rechnen zu lassen kannst du das ja beim ersten Programmstart von deinem Programm machen lassen, sodass der User das eventuell gar nicht mitbekommt... und das speicherst du dann in die “Matrix-Datei“.


    An sich keine schlechte Idee.. Nur wäre die Verschlüsselung dann nur mit dieser Matrix-Datei entschlüsselbar..

    Aber wir haben sowieso recht weit vom eigentlichen Thema entfernt.. :biggrin: Das mit der Verschlüsselung ist ja sowieso nur so ein Testprojekt. Mir ist es ja wie gesagt um eine generelle Möglichkeit gegangen Quellcode vor dekompilierung zu schützen.
    CodeFort ist da scheinbar eine relativ gute Möglichkeit. Nur leider verdammt teuer...
  8. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!