Take the 2-minute tour ×
Cryptography Stack Exchange is a question and answer site for software developers, mathematicians and others interested in cryptography. It's 100% free, no registration required.

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.

share|improve this question
    
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
1  
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
1  
@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
show 9 more comments

Know someone who can answer? Share a link to this question via email, Google+, Twitter, or Facebook.

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Browse other questions tagged or ask your own question.