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.

I've been reading "SQRL Secure QR Login" at Gibson's website, and I'm wondering if there is a way to generate an RSA private/public key-pair based on some cryptographically secure input, so that if the input stays the same we keep getting the same key pair on the output.

The linked web-site uses elliptic curve cryptography to achieve this property. Is it not possible with RSA?

share|improve this question
ecliptic $\mapsto$ elliptic $\:$ ? $\;\;\;$ –  Ricky Demer Oct 3 '13 at 3:53
add comment

1 Answer

up vote 3 down vote accepted

Of course it's possible; all you need is take your cryptographically secure input, feed it as the key to a CSRNG, and then use the CSRNG output as the source of randomness to an RSA key generation algorithm. For a concrete example, there are several such key generation methods in FIPS 186-3, with the cryptographically secure input being the 'seed' (and you would fix all the other various parameters).

This is easy; however this is not cheap. RSA key generation involves testing various large numbers for primality; depending on the hardware you have (and the RSA key size you are attempting to build), this can take multiple seconds. Depending on the your requirements, this can be a deal breaker. In contrast, the key generation method for elliptic curves is cheap; that is undoubtedly why the guys on the web-site selected it.

share|improve this answer
add comment

Your Answer


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

Not the answer you're looking for? Browse other questions tagged or ask your own question.