# How to change RSA Algorithm to be able to calculate D based on E or reverse?

I need an algorithm like RSA (http://en.wikipedia.org/wiki/RSA_(algorithm)) with an infrastructural different.

RSA is a works very nice, it uses Euler's Phi function to calculate 2 values that are related together but makes it impossible to obtain of the final variables (Means E (Public Key) or D (Private Key)) based on another one. We just can calculate all of the possible. But we can't find out which one is true, unless we test all of the possible answers.

I need to have the ability of calculating (just) One of them using another one. (Means, for example I can just calculate D using E. But should not be able to calculate E using D)

Does anybody have any idea that how to change RSA Algorithm for this purpose? Or even another algorithm that could solve my problem.

• Make your private key (D) the concatenation of E and D? (By the way, you really don't want people to be able to compute D from E) – Henry Swanson Jan 13 '14 at 18:16

In the RSA cryptosystem, there is already a way to recover the public key from the private one, since the private key is made by the prime factors of the public key. So the map from $D$ to $E$ (with your notation) is just a multiplication.
• We get $E$ from $D$, not the opposite. We have $D=(p,q)$ where $p$ and $q$ are huge primes, chosen in such a way that the factorization of $E=p\cdot q$ is extremely hard to afford. – Jack D'Aurizio Jan 13 '14 at 18:53