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.

This question already has an answer here:

I am not well versed in the field but I believe I know the basics.

All encryption algorithms that I know of utilize direct data manipulation to encrypt a message (string of bits) such as shifting, cycling, etc. in specific patterns utilizing the encryption key.

Is there any algorithm that instead of touching the data-to-be-encrypted in any way instead generates a secure one time pad using a reasonably short key?

I suppose technically in this scenario you would call the key a seed for a pseudo-random number generator.

So my question is this, does such a generator exist in a secure form and with an algorithm that can turn a phrase into a key or just generate such a key.

If there is such a generator I suppose you will point out the weakness of a one time pad on changing/multiple data, but suppose it isn't a concern due to pad use markers or simply because there is no other data or changes.

share|improve this question

marked as duplicate by Ilmari Karonen, e-sushi, B-Con, Gilles, Reid Oct 9 '13 at 2:33

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

3  
en.wikipedia.org/wiki/Stream_cipher $\;$ –  Ricky Demer Oct 8 '13 at 19:57
1  
    
In canon with the comment by @RickyDemer — you might want to check out ecrypt.eu.org/stream –  e-sushi Oct 8 '13 at 21:07

1 Answer 1

up vote 2 down vote accepted

There is an entire class of ciphers that do exactly this. They're called stream ciphers. At their most basic, they pretend to be a one-time pad. You give them a small key and they generate a stream of seemingly random bits. You then XOR these bits with your plain-text to make ciphertext.

You can add bells and whistles to this basic behaviour but what I've described is the essence of the stream-cipher.

The most famous of these stream ciphers is probably RC4. If you ever used SSL at all then you will have used this steam cipher.

Equally, if you've ever used a mobile phone you've probably had your voice traffic "protected" with A5/1.

There are people who are experts in just this area of cipher design.

There's nothing more to say really other than that this is a well established branch of cryptography with a very well developed body of research and many fielded designs.

share|improve this answer
    
Agreed. I've deliberately picked old designs because they're closer to the essence of a stream cipher. In turn, it more closely matches the focus of the question. I thought introducing more sophisticated designs with nonce and/or AEAD support would have been confusing for question posed at this level. That's the purpose of the paragraph on "bells and whistles" paragraph, as sort of a dog whistle to people who would pounce on my choice of ciphers :) –  Simon Johnson Oct 8 '13 at 21:10

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