Hi,
Ein Beispiel:
Wertebereich: 0-10
Zielbereich: 200-300
Abbildungsfunktion f(x):= x*10+200
Damit kannst du jede Zahl x eindeutig abbilden.
Die Umkehrfunktion wäre dann:
f⁻¹(x) := (x-200)/10
Damit kommst du wieder auf die ursprüngliche Zahl.
Es gibt aber beliebig viele Abbildungsfunktionen, die du verwenden könntest.
Wie gelingt es mir eine solche Funktion zu schreiben? Was ist, wenn ich z.B. _nicht_ möchte, dass aus der neuen Zahl auf die alte geschlossen werden kann?
Das hört sich nach hashing an. Dabei kannst du beliebig große Mengen auf eine kleine abbilden.
Ein sehr einfaches Beispiel wäre die Quersumme:
Die Zahlen 13,22,31 haben alle die Quersumme 4. Also kannst du von der 4 nicht mehr auf die ursprüngliche Zahl schließen.
Was ist, wenn ich möchte, dass die erste Funktion f eine Zahl erhält, mit dieser Zahl etwas macht, sodass ich entweder Zahl X _oder_ Zahl Y erhalte (Zufall), dass man aber nur durch X wieder auf die ursprüngliche Zahl kommt (mit einer anderen Funktion), nicht aber durch Y.
Du könntest einfach 2 Zahlen erzeugen und dann mit einem Zufallsgenerator entscheiden welche der beiden du verwendest. Dafür würde mir aber kein praktischer Anwendungsfall einfallen. Vor allem weiß du ja dann am Schluss auch nicht, ob du dann X oder Y als Ergebnis erhalten hast.
mfG,
steckl