Kleines Krypto-Gewinnspiel



  • Jede (professionelle) Skriptsprache kann doch Funktionen aus externen Libs benutzen?!



  • Momentan basiert dein Verfahren ausschließlich auf Security by Obscurity und zumindest bei sensiblen Daten ist das ungeeignet. Sobald du mit deinem Key eine weitere Nachricht kodierst und/oder bekannt ist was im Klartext überhaupt zu erwarten ist, wird dein Verfahren sehr angreifbar.

    Sofern dein Key völlig zufällig ist, geheim bleibt, du ihn nur einmalig nutzt, er mindestens so lang ist wie der Klarttext, sollte dein Verfahren allerdings sicher sein (One-Time-Pad).

    Wenn es dir aber ausschließlich darum geht Daten zu verschleiern, dann kann ein bisschen Spielerei mit XOR vielleicht tatsächlich ausreichend sein. Eine Garantie dafür gibt es aber aufgrund der Unsicherheit dieses Verfahrens nicht.



  • Ich rede auch nicht von "professionellen Scriptsprachen" sondern von Sprachen die die Hersteller extra für das Spiel entwickelt haben und sonst nirgends Anwendung finden.


  • Gesperrt

    @dummie sagte in Kleines Krypto-Gewinnspiel:

    Momentan basiert dein Verfahren ausschließlich auf Security by Obscurity

    Den Quellcode zeigt er ja. Er verrät nur Originalnachricht und Key nicht. So wie ich es sehe ist das eine simple XOR-Verschlüsselung, wobei allerdings noch die Position der Zeichen eine Rolle spielt. Das soll sicherstellen, dass Klartextzeichen XOR Keybyte ein unterschiedliches Cypherbyte ergeben wenn sie sich an unterschiedlichen Positionen befinden.

    IMHO für Noobs eine harte Nuss, aber für Erfahrene ein altbekannter Trick und sicherlich einfach zu knacken.


  • Mod

    @zhavok sagte in Kleines Krypto-Gewinnspiel:

    Ich rede auch nicht von "professionellen Scriptsprachen" sondern von Sprachen die die Hersteller extra für das Spiel entwickelt haben und sonst nirgends Anwendung finden.

    Ok, das ist ein ziemlich akzeptabler Grund.

    Wobei nach wie vor gilt, was ich schon sagte: Wenn das Ding sowieso auf Seiten des Cheaters entschlüsselt wird, dann nützt das Verschlüsseln auf dem Transportweg herzlich wenig. In den Arbeitsspeicher eines laufenden Spiels zu gucken ist die grundlegendste Cheattechnik überhaupt.



  • Da hast du vollkommen Recht @SeppJ . Evtl könnte mans vom Server schicken lassen. Ich glaube die Verbindung vom Server zu Client ist verschlüsselt. Bin mir aber nicht sicher. Aber danke trotzdem schonmal euren beiden Antworten., Auch vielen Dank für die Richtigstellung und deine Einschätzung des Ganzen @RBS2 . Du hast das ganze mit unterschiedlichen Positionen richtig interpretiert. Genau deshalb wird das Passwort auch immer weiter geshiftet.

    Das ist schonmal ein Statement womit ich etwas anfangen kann.



  • @zhavok sagte in Kleines Krypto-Gewinnspiel:

    Evtl könnte mans vom Server schicken lassen. Ich glaube die Verbindung vom Server zu Client ist verschlüsselt.

    Das hört sich für mich nicht so an, als ob du das verstanden hättest.
    Es ist viel einfacher, in den Arbeitsspeicher eines Prozesses (des Clients) reinzuschauen oder den Prozess zu debuggen, als irgendeine Verschlüsselung zu knacken. Wenn der Benutzer Kontroller über den Prozess hat, dann hat er die Daten auch irgendwann entschlüsselt im Speicher vorliegen und kann sie einfach abgreifen.


  • Gesperrt

    @zhavok
    Lustige XOR-Verschlüsselungen bekommst du mit kryptografischen Hash-Funktionen hin. Nimm z.B. eine Hash-Funktion die 32 Bytes liefert. Die fütterst du mit dem Passwort und hash'd den output wieder und wieder, bekommst also jede Mal 32 Bytes dazu, usw. Wenn du genügend Keymaterial hast (mindestens Plaintext-Länge), dann XORst du einfach deinen Plaintext damit und bekommst einen üblen Datensalat, den dir so schnell niemand entschlüsselt, der das Passwort nicht kennt.



  • Ich wüsste aber keine Möglichkeit wie man das Auslesen aus dem RAM jemals vermeiden kann. Man wird sicher früher oder später immer an den Punkt kommen wo die Scripte in den Arbeitsspeicher eingelesen werden. Das wird sich auch nicht einfach verhindern lassen. Aber die Verschlüsselung ist sicher immer noch besser als die Scripte im Klartext mit zu schicken. Es gibt sogar Tools zum obfuscaten der Missionsdaten und Seiten die (wesentlich einfachere) Verschlüsselungen anbieten. Diese haben theoretisch alle das Problem mit Memory Scannern. Aber mir ist nicht bekannt, dass es schon mal jemand so weit geschafft, dass er danach die Scripte im Klartext vorliegen hatte.

    @RBS2 Das ist richtig. Eine sehr ähnliche Idee hatte ich auch schon mal wo anders geäußert^^. Das ganze hat nur den unschönen Beigeschmack, dass der Schlüssel dadurch sehr sehr lang wird. Nehme ich alle Scripts zusammen komme ich auf eine hübsche Größe von ca 8mb. Also müssten die Schlüssel insgesamt auch 8mb füllen. Und ich müsste dann auch schauen ob ich tatsächlich einen geläufigen Hash-Algorithmus ins Spiel bringen übertragen kann, Das könnte auch sehr knifflig werden. Abgesehen von diesen Problemen aber kein schlechter Vorschlag.



  • Das Gewinnspiel ist nun offiziell beendet. Der Algorithmus wurde geknackt :smiling_face_with_open_mouth:


Anmelden zum Antworten