Symmetrischer bijektiver Algorithmus für ganze Zahlen

Ich benötige einen Algorithmus, der eine Eins-zu-Eins-Zuordnung (dh keine Kollision) einer 32-Bit-Ganzzahl mit Vorzeichen auf eine andere 32-Bit-Ganzzahl mit Vorzeichen durchführen kann.

Meine eigentliche Sorge ist genug Entropie, so dass die Ausgabe der Funktion zufällig zu sein scheint. Grundsätzlich suche ich nach einer Verschlüsselung, die der XOR-Verschlüsselung ähnelt, die jedoch willkürlichere Ausgaben erzeugen kann. Sicherheit ist nicht mein eigentliches Anliegen, obwohl Dunkelheit ist.

Zur Verdeutlichung bearbeiten:

Der AlgorithmusMus symmetrisch sein, damit ich den Vorgang ohne Schlüsselpaar rückgängig machen kann.Der AlgorithmusMus Seien Sie bijektiv, jede 32-Bit-Eingabenummer muss eine eindeutige 32-Bit-Nummer generieren.Die Ausgabe der Funktion muss dunkel genug sein. Wenn Sie nur eine Eingabe hinzufügen, hat dies große Auswirkungen auf die Ausgabe.

Beispiel erwartetes Ergebnis:

F (100) = 98456
F (101) = -758
F (102) = 10875498
F (103) = 986541
F (104) = 945451245
F (105) = -488554

Genau wie bei MD5 kann das Ändern einer Sache viele Dinge verändern.

Ich suche nach einer mathematischen Funktion, daher ist es für mich keine Lösung, Ganzzahlen manuell zuzuordnen. Für diejenigen, die fragen, ist die Geschwindigkeit des Algorithmus nicht sehr wichtig.

Antworten auf die Frage(22)

Ihre Antwort auf die Frage