1

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.

Mike
  • 13
  • 2

1 Answers1

2

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.

Simon Johnson
  • 3,236
  • 17
  • 21