# How to develop a public key cryptosystem based on a hard problem?

Recently, I found a function that is performed on a sequence to return another sequence. All known algorithms for finding the input, given the output are of exponential complexity. I want to propose this function for encryption in a public key cryptosystem. What steps I am supposed to take? Actually I am a beginner in cryptography.

-
Why do you need to propose this algorithm?Does it outperforms the existing ones?What you are describing sounds as a pseudorandom generator –  curious Oct 30 '13 at 17:47
You only described a one-way function so far, something similar to a hash function. You didn't say where the asymmetric component comes in. –  CodesInChaos Oct 30 '13 at 18:15
@curious. Actually, I want to know whether it outperforms the existing ones or no! –  Mahdi Khosravi Oct 30 '13 at 18:23
For asymmetric encryption or key-exchange your system needs lots of mathematical structure. Almost all one-way functions are not suitable. For example with diffie-hellman key-exchange you not only need the property that $A=G^a \mod p$ is hard to invert, you also have the property that $A^b=(G^a)^b = G^{ab} = (G^b)^a = B^a$ i.e. you are able to compute the same shared secret using $A$ and $b$ or $B$ and $a$. Where lowercase letters are private keys and upper case letters the corresponding public keys. –  CodesInChaos Oct 30 '13 at 18:35
@CodesInChaos: I totally agree! And as said, then you still are not finished. @ Mahdi: Maybe you want to present your ideas in more details? If not, you can surely consult your Prof. –  DrLecter Oct 31 '13 at 8:54