RSA-Verschlüsselung ergiebt falsche Ergebnisse


  • Mod

    cooky451 schrieb:

    wozu man hier eine asynchrone Verschlüsselung brauchen sollte, ist mir auch schleierhaft.

    Du weißt es ganz genau, du willst es nur nicht aussprechen 🙂 : Weil es (881+456) ist.



  • Weil es (881+456) ist.

    Den versteh ich jetzt nicht? Was meinst du damit?

    Und AES habe ich mir einmal angeschaut, und bin dabei darauf gestoßen, dass der zu verschlüsselnde Text ja eine bestimmte Länge haben muss...
    Dafür müsste man ja dann theoretisch eine Funktion schreiben die eine bestimmte Zahl von Stellen an den eigentlich zu verschlüsselnden Text anhängen müsste und beim entschlüsseln wieder entfernen oder?

    Außerdem ist meiner Meinung nach AES um einiges schwerer zu verstehen, wenn man bisher mit keinen Matrizen ( wenn ich das richtig verstanden habe? ) programmiert hat...


  • Mod

    Mourthag schrieb:

    Weil es (881+456) ist.

    Den versteh ich jetzt nicht? Was meinst du damit?

    Wenn du den Witz nicht verstehst, dann bist du wohl einfach nicht leet genug 🙂

    Und AES habe ich mir einmal angeschaut, und bin dabei darauf gestoßen, dass der zu verschlüsselnde Text ja eine bestimmte Länge haben muss...
    Dafür müsste man ja dann theoretisch eine Funktion schreiben die eine bestimmte Zahl von Stellen an den eigentlich zu verschlüsselnden Text anhängen müsste und beim entschlüsseln wieder entfernen oder?

    Ja. Oh Graus! Diese Funktionen könnten 2-3 Zeilen lang sein! Oder sogar schon fertig in einer AES-Bibliothek vorhanden! Ich stimme zu, das kommt wirklich nicht in Frage, das so zu machen. Viel zu umständlich! Dann lieber ein unpassendes, kompliziertes Verfahren implementieren. Wie wäre es mit einem OTP?



  • Das is nich mein Hauptgrund 😃
    Wie gesagt verstehe ich AES momentan leider noch nicht.... Habe gegoogelt und bin bisher nur auf hexadezimale Matrizen/ schwer zu verstehende Texte gestoßen aus denen ich nicht viel verstanden habe...
    Ich bin ein absoluter Anfänger in der Kryptographie und fände es echt nett wenn mir einer helfen/ es erklären könnte;)


  • Mod

    Dann nutz doch eine Bibliothek! Das ist bei Kryptoanwendungen sowieso immer zu empfehlen, weil man sonst bloß dumme Anfängerfehler macht, selbst wenn man den Algorithmus verstanden hat. Denn die praktische Umsetzung ist dann doch meist tückischer als man denkt.

    Das Argument "Es soll nichts extrem sicheres, wie für eine Firma oder den Geheimdienst sein" zieht nicht. Entweder willst du Sicherheit oder eben nicht. Alles zwischen sicher und unsicher ist auch nur unsicher, bloß auf umständlichere Art und Weise.

    Ansonsten:

    ok ich gebe zu ich habe einen schlechten schreibstil und ich denke dass liegt daran,dass ich nie "richtig c++" gelernt habe sondern mir nur irgendwelche Videos angeschaut habe

    Das reicht nicht für Kryptographie. Für Kryptographie musst du einigermaßen in der Lage sein, Algorithmen zu verstehen und korrekt umzusetzen. Für beides brauchst du eigene Erfahrung und zusätzlich hinreichende Sprachkenntnisse. Das wird durch das Ansehen von Videos nicht geboten. Du solltest dich erst einmal an einfacheren Aufgaben versuchen, um dort die Erfahrung zu sammeln. Zusätzlich solltest du auch ein dickes, schlaues Buch über C++ lesen (siehe meine Signatur für Tipps), denn erfahrungsgemäß ist C++ viel zu komplex, um es in Videotutorials zu lernen. Sieh nur, wie krümelkacker deinen Quellcode in der ersten Antwort kritisiert, da fehlt noch vieles, was in c++ zu den Grundlagen gehört. Für einen einigermaßen guten Überblick über C++ kannst du ca. 2 Monate Lernen einplanen. Es würde mich im Moment überraschen, wenn du in der Lage wärst, eine externe Bibliothek (sei es AES oder RSA) eigenständig zu benutzen. AES oder RSA selber programmieren ist auf deinem Kenntnisstand einfach viel zu schwer, das wird nur zu Frust führen, weil es am Ende doch nicht funktioniert.

    (Das sage ich nicht, um dich runterzumachen. C++ ist eben schwer. Das lernt man nicht aus Videotutorials oder wenn doch, dann nur mit extrem viel eigener Übung an einfachen Beispielen verknüpft mit eigenständiger Weiterbildung)



  • Ok vielen Dank für die ehrliche Antwort 😉
    Nein, natürlich nehme ich es nicht persönlich und bin. Ich hatte mir auch vorgenommen mir ein gescheites Buch zuzulegen vlt. für Weihnachten oder so...
    Ich mein ich habe die Grundsätze verstanden und bräöuchte also kein absolutes Neulingbuch. Hättest du da vlt eine direkte Empfehlung?


  • Mod

    Seppj schrieb:

    (siehe meine Signatur für Tipps)

    Ich mein ich habe die Grundsätze verstanden und bräöuchte also kein absolutes Neulingbuch.

    Ich denke, mit dem Niveau "Für C++ Einsteiger mit etwas Programmiererfahrung" fährst du schon ganz gut. Dann kannst du die ersten 50 Seiten von den 1000 eben querlesen oder besser: Nochmal richtig gründlich den Stoff nachholen!



  • ja diesen Post habe ich schon gelesen, jedoch lässt sich daraus nicht gut schließen welches Buch gut ist...
    Deswegen wollte ich ja dich fragen 😉 Lohnt es sich Bücher für 50€ zu kaufen?!?
    Ich finde das etwas teuer für ein Buch, lasse mich jedoch umstimmen 😃


  • Mod

    Mourthag schrieb:

    Lohnt es sich Bücher für 50€ zu kaufen?!?

    Ja. Das sind nun einmal 1000+ Seiten, daher kostet es. Aber danach bist du auch fit und lachst sowohl über RSA als auch AES.



  • OK danke für die Hilfe noch einmal...
    Muss der Weihnachtsmann wohl mal ein dickeres Geschenk bringen 😉



  • SeppJ schrieb:

    Aber danach bist du auch fit und lachst sowohl über RSA als auch AES.

    Na ja, also so weit würde ich nicht gehen. Für die ganzen Modi CBC etc. ein schönes einheitliches Interface etc. zu finden und gleichzeitig nicht alles so sehr mit Templates zu zu klatschen, dass die gesamte Implementierung im Header offen liegt, ist nicht unbedingt trivial, genau so wenig wie die performanten big_int Klassen, die man für RSA braucht. 🤡



  • krümelkacker schrieb:

    Wenn du nur mit dem Algorithmus etwas spielen willst, dann mach das mal mit Ganzzahlen und schreib dir eine eigene Potenzier-Funktion, die alle Zwischenergebnisse frühstmöglich reduziert auf [0,n). Google mal nach "square and multiply".

    naja, eher modulares potenzieren, das geht sogar öfters noch im kopf, oder mit einer zeile papier

    krümelkacker schrieb:

    Wenn man RSA "richtig" anwendet, dann verschlüsselt man damit auch nicht seine Nachrichten ... sondern nur einen symmetrischen Schlüssel. Und den steckt man auch nicht direkt in RSA rein, sondern "padded" den mit einem Verfahren wie OAEP. Das nennt sich dann RSA-OAEP. Alles andere an RSA-Gefrickel ist im Wesentlichen Kinderkacke.

    quatsch, RSA auf alles anzuwenden wäre schon ein stück sicherer. das problem ist mal wieder nur die laufzeit, es dauert zu lange ganze messages zu ver- und zu entschlüsseln



  • Für Anfänger der Kryptographie eignet es sich evtl. einfachere, klassische Verfahren anzuschauen, bevor man sich an RSA versucht.



  • Skym0sh0 schrieb:

    quatsch, RSA auf alles anzuwenden wäre schon ein stück sicherer. das problem ist mal wieder nur die laufzeit, es dauert zu lange ganze messages zu ver- und zu entschlüsseln

    ROFL, dann erklär mal, jetzt bin ich echt gespannt.



  • Skym0sh0 schrieb:

    quatsch, RSA auf alles anzuwenden wäre schon ein stück sicherer. das problem ist mal wieder nur die laufzeit, es dauert zu lange ganze messages zu ver- und zu entschlüsseln

    Das ist natürlich Bullshit. In Wahrheit sind es die symmetrischen Schlüssel, die sicherer sind. Der Grund, weswegen asymmetrische Schlüssel immer so lange Schlüssellängen haben (RSA > 3000 Bit!!!) ist, dass das asymmetrische Problem vom Prinzip her leichter Angreifbar ist. Immerhin gibst du mit dem public key einen direkten Hinweis auf dein Geheimnis und der Angreifer kann nun symmetrien in der Mathmatik ausnutzen. Diesen Voteil hat er bei symmetrischen Schlüsseln nicht weswegen ihre Schlüssel kürzer sein können.


Anmelden zum Antworten