Entwickeln einer effektiven Verschlüsselung



  • Hallo zusammen,
    ich würde gerne einen neuen Verschlüsselungsalgorithmus entwickeln und habe mir schon einige bestehende angeguckt. So wie ich das verstanden habe kommt es in erster Linie darauf an den (möglichst großen) Schlüssel möglichst groß und umständlich zu expandieren um zahlreiche Attacken unmöglich zu machen. Die eigentliche Verschlüsselungsprozedur macht dann meistens reine Rechenoperationen (wie shl, add, xor) die möglichst schnell gehen sollen. Meine Frage: Was sollte man sonst noch beachten? Gibt es noch weitere Multiplikatoren die ein Knacken erschweren?

    Danke,

    Zottel



  • Zunächst solltest du dich fragen, ob du einen symmetrischen oder asymmetrischen Verschlüsselungsalgorithmus suchst. Danach würde ich überlegen, was an deinem Algorithmus die Grundlage für seine Sicherheit sein soll (z.B. Komplexität der Faktorisierung bei RSA).
    Aber ganz am Anfang musst du dir im Klaren sein, dass so eine Analyse i.d.R. einigermaßen fundierte Mathematikkenntnisse benötigt.



  • Da, wie man aus Deinem Beitrag sieht, dass Du ein Anfänger in der Krytologie bist, empfehle ich Dir vorher ein Buch zu beschaffen, wie z.B. "Applied Cryptography" von Bruce Schneier, John Wiley & Sons Verlag. Ist zwar auf Englisch und etwas veraltet - 1995 oder so - aber dafür sehr informativ.



  • Also ich habe das "Handbook of Applied Cryptography", allerdings noch nicht komplett gelesen. Nur mal überflogen.



  • Außerdem ist dabei nicht zu vergessen, daß Du nur dann einen guten Verschlüsselungs Algorithmus hast, wenn Du ihn auch veröffentlichst, denn nur so kann die große Gemeinde der Mathematiker Schwächen aufdecken und anschließend den Kunden aufzeigen, wie lange Dein Algorithmus Attacken (Brute Force) standhält...

    Machst Du es nicht, wirst Du nie die großen Fische, wie Banken, Versicherungen und Online Shops als Deine Kunden begrüßen dürfen, die Endkunden dadurch sowieso schon nicht.

    In dem Sinne, Winn



  • ohne tiefere Kentnisse der Materie (für die "Applied Cryptography" wirklich hervorragend geeignet ist), wirst du es nicht schaffen einen sicheren Algorithmus zu entwerfen!



  • selbst mit den tieferen Kentnissen wird er es nicht schaffen...



  • Wichtig ist auch eines: Sicherheit sollte nur der Schlüssel bringen, nicht der Algorithmus. Wenn du einen Verschlüsselungsalgorithmus 'geschaffen' hast, und die Sicherheit nur darauf beruht, das dieses Verfahren geheim gehalten wird, so ist das keine wirkliche Sicherheit.

    Es sollte also keinem möglich sein trotz wissen des Algorithmusses eine Verschlüsselung zu knacken. Einen Algorithmus kann man nicht immer geheim halten - man sollte da immer vom 'worst-case' ausgehen.



  • mady schrieb:

    selbst mit den tieferen Kentnissen wird er es nicht schaffen...

    Och, man könnte theoretisch Algorithmen entwickeln die unknackbar sind. Irgendwann stoßen auch die Computer an ihre physikalischen Grenzen. Ob man diese Algorithmen auch verwirklichen (sprich: einsetzen) kann ist die Frage 😃 .



  • MaSTaH schrieb:

    Och, man könnte theoretisch Algorithmen entwickeln die unknackbar sind.

    One-time-pad. Hat aber große Nachteile, die mit der Quantenkryptographie gelöst werden.



  • MaSTaH schrieb:

    mady schrieb:

    selbst mit den tieferen Kentnissen wird er es nicht schaffen...

    Och, man könnte theoretisch Algorithmen entwickeln die unknackbar sind. Irgendwann stoßen auch die Computer an ihre physikalischen Grenzen...

    Selbstverständlich kann jeder einen 48000 Bit Schlüssel zufällig wählen und damit ein paar Rechenoperationen durchführen. Der entstehende Algorithmus kann dann schon recht sicher sein. In der Praxis werden aber kleine Schlüssel gebraucht: 128 Bit bei symetrischen Verfahren und ~200 Bit bei ECC und > 1024 Bit bei gängigen PK-Algos. Größere Bitzahlen machen IMHO derzeit keinen Sinn.

    Ob man diese Algorithmen auch verwirklichen (sprich: einsetzen) kann ist die Frage 😃

    Wir verstehen uns schon richtig... 🙂



  • mady schrieb:

    [...] zufällig wählen [...]

    Das Problem wäre dann etwas zufälliges zu wählen.


Anmelden zum Antworten