@zioProduct
Da brauchst du keinen Hacker fragen, da reicht schon ein Mathematiker aus. Das was du machen willst, sieht mir stark nach einer synchronen Verschlüsselung aus. Das bedeutet schonmal, dass nur ein Schlüssel existiert, den du auch irgendwie weitergeben musst. Und den könnte man auch abfangen. Aber auch das Knacken deiner Verschlüsselung dürfte nicht allzu schwer sein. Kommt einfach auf die verwendete Hardware und die Zeit an. Aber sicher ist das nicht.
Wenn du schon selber an einer Verschlüsselung schreiben willst, dann schau dir mal die Grundlagen zur asynchronen Verschlüsselung an. Dort hast du immer ein Schlüsselpaar (öffentlicher und privater Schlüssel) und nur mit beiden Schlüsseln zusammen kannst du die verschlüsselte Nachricht wieder lesen. Dahinter steckt einfach nur reine Mathematik. Kurz erklärt basiert die ganze Theorie darauf, dass zwei Primzahlen gefunden werden müssen, die dann in diesen beiden Schlüsseln enthalten sind. Und wenn du jetzt ein Hacker bist, müsstest du genau diese Primzahlen suchen. Wenn du jetzt so im "normalen" Zahlenbereich arbeitest, ist das sicher kein großes Problem. Aber um eine möglichst hohe Sicherheit zu gewährleisten sind die Zahlenbereiche in den Größenordnungen 10^512, 10 ^1024, 10^2048 usw. angesiedelt. Je größer der Zahlenbereich, desto unwahrscheinlicher ist es dass deine Code geknackt wird. Wobei anzumerken ist, dass irgendwann auch der Code geknackt werden kann ... die Sicherheit sagt nur aus, dass zum jetzigen Zeitpunkt kein Rechner der Welt schnell genug ist, den Code in einer annehmbaren Zeit zu knacken.
Und da sind wir jetzt schon bei den Tatsachen warum man sowas lieber nicht selber machen soll. Was brauchst du jetzt dafür? Langzahlenarithmetik und einen Algorithmus der dir die Primzahlen nach dem Zufallsprinzip sucht. Langzahlenarithmetik bedeutet schonmal, dass du nicht die Computer eigenen Datentypen verwenden kannst sondern eigene erstellen musst. Und das Finden der Primzahlen ist auch nicht so einfach. Und wenn du jetzt nicht wirklich fit in diesem Gebiet bist, dann wirst du schon bei der Schlüsselgenerierung Probleme bekommen, da die Algorithmen stark optimiert sein müssen, da sie ansonsten Stunden brauchen um eine Primzahl zu berechnen. Mit den fertigen Funktionen hast du das schon nach ein paar Sekunden erreicht. Daran sieht man, dass sehr viel KnowHow in dieser Thematik steckt.
Und jetzt nochmals:
NIEMALS selbst einen Verschlüsselungsalgorithmus schreiben, es sei denn du bist Profi darin und verdienst dein Geld damit (oder bist bei der Entwicklung neuer Algorithmen beteiligt). Das ist einfach zu unsicher und kannst du ohne großen Aufwand schon von Hause aus haben.
So long,
Chrisu
PS: die Beschreibung wie asynchrone Verschlüsselung abläuft ist nur grob umrissen, da auch bei diesen Algorithmen unterschiedliche Ansätze verfolgt werden.