Funkcja jednokierunkowa, będąca bijekcją

Szukam funkcji (algorytmu) operującej na liczbach rzeczywistych, która:

  • jest jednokierunkowa - to znaczy na podstawie pewnego argumentu liczbowego, można za pomocą algorytmu obliczyć wartość funkcji, ale znając wartość funkcji nie można w łatwy sposób znaleźć argumentu liczbowego.

  • dodatkowo jest bijekcją - zależy mi przede wszystkim na tym, aby dana wartość funkcji odpowiadała tylko jednemu argumentowi liczbowemu.

Czytałem trochę o MD5, ale z opisu na wikipedii wynika, że można tylko z dużym prawdopodobieństwem stwierdzić, że 2 różne argumenty nie wygenerują takiej samej wartości liczbowej.

Nie wiem natomiast jak sprawa wygląda przy SHA-1, ale doczytałem się, że jest to “funkcją skrótu”, dlatego domyślam się, że liczba wartości funkcji jest mniejsza od możliwych wartości argumentów, więc funkcja nie spełnia jednego z moich założeń.

RSA

Czy jest gotowa implementacja RSA w PHP, czy najlepiej samemu napisać funkcje?