Ah, wir sind auf mein Lieblingsthema gestoßen *freu*

.
Wenn ich mal davon ausgehe, dass du monoalphabetisch - also einen Buchstaben in einen anderen, immer gleichen Buchstaben - verschlüsselst, brauchst du mindestens eine Variable, die dein Alphabet enthält.
Du kannst natürlich deinen Geheimtext einfach im Alphabet verschieben, sodass A => B, B => C, ... Y => Z, Z => A wird. Wenn du dieses Verfahren - die Caesar-Verschlüsselung - nimmst, brauchst du nur ein Alphabet.
Du kannst allerdings auch den Atbash-Algorithmus verwenden, bei dem der letzte Buchstabe gegen der ersten, der vorletzte gegen den vorletzten usw. ausgetauscht wird: A => Z, B => y, ... Y => B, Z => A. Auch hier brauchst du nur ein Alphabet (nämlich unser deutsches).
Wenn du jedem Buchstaben eindeutig einen anderen zuweist (nach einem beliebigen Muster), definierst du zwei Alphabet, ein Klartext- und ein Geheimtextalphabet. Du gehst dann Buchstabe für Buchstabe die eingelesene Zeichenkette durch (s.
substring()) und suchst die Position des Zeichens, das du mit
substring() erhältst, in deinem Alphabet (s.
indexOf()). Nun holst du dir mit
charAt() das Zeichen, was an der Stelle der ermittelten Position steht.
Allerdings sei gesagt, dass diese Art von Verschlüsselung (monoalphabetisch) heutzutage (und auch vor ein paar Jahrhunderten) nicht besonders sicher ist, da eine Häufigkeitsanalyse, wenn man die Textsprache kennt, schnell zum Ergebnis führt. Allerdings sollte der Algorithmus doch stark genug sein (wenn du das letzte Beispiel verwendest), um ein paar Texte vor deiner großen Schwester zu verstecken

(s. R. Rivest).
Wenn du dann auf den Geschmack gekommen bist, kannst du ein paar weitere Verfahren implementieren.
Leicht: Caesar - Atbash - ROT13 - Vigenère-Quadrat
Mittel: RC4 - ADFGVX
Schwer: Enigma - RSA
* Die Schwierigkeitsgerade sind selbstverständlich relativ ... Ich würde RSA nicht direkt als "schwer" einstufen, allerdings wäre es ungerechtfertigt, RSA mit RC4 auf eine Stufe zu stellen.
So, ich hoffe, du hast ein paar Anregungen bekommen

.