@Leonhard
Würdest du bitte den kompletten Source deines Ver- und Entschlüsselungsalgorithmus veröffentlichen ?
Nach Kerckhoffs Prinzip - welches von jedem aktuellen Kryptoverfahren eingehalten wird - darf die Sicherheit eines Verschlüsselungsalgos nicht auf Geheimhaltung des Algorithmus bestehen. Man muss also davon ausgehen, dass der Algorithmus mit jedem Detail, inkl. allen Hintergründen und Ansätzen für die Ideen öffentlich bekannt ist. Das einzige Geheimnis darf dann (bei symmetrischen Verfahen) der verwendete Schlüssel sein.
Sollte dein Verfahren ohne Schlüssel (= mit immer demselben festen Schlüssel) arbeiten, also z.B. lediglich einen Text auf immer denselben Chiffretext abbilden (ohne dass zur Verschlüsselung noch ein Codewort/Key hinzugezogen wird), dann ist es sowieso unsicher, sobald du es irgendwo in ein Programm einbaust. Man braucht dann nur die Entschlüsselungsfunktion ohne irgendein Passwort aufzurufen.
Sollte es keine Entschlüsselungsfunktion geben, sondern dein Verfahren stets nur in eine Richtung funktionieren (wie eine Hashfunktion), dann könnte es wieder interessant werden. Aber auch hierfür musst du dein Verfahren offenlegen, denn viele Hashfunktionen hashen bei weitem nicht so zufällig wie es zunächst den Anschein macht.
Gründe für Kerckhoffs Prinzip:
- offengelegte Verfahren können weltweit unabhängig von zig Forschern auf Sicherheit untersucht werden: Findet niemand Schwächen, ist die Wahrscheinlichkeit der Sicherheit wesentlich größer, als bei nicht-öffentlichen Verfahren, bei denen lediglich ein paar eingeweihte Entwickler die Sicherheit getestet haben
- basiert die Sicherheit auf Geheimhaltung des Verfahrens wird Reengineering der Verschlüsselung eine weitere mächtige Attacke, ebenso könnte eine undichte Stelle unter den Entwicklern ein Sicherheitsrisiko darstellen
- Nur offengelegte Algorithmen können irgendwann mal offizieller Standard werden