From: mark on
Sorry for the newbie question. What difference would it make for an
attacker with respect to trying to guess an input key into a stream
cipher, versus trying to guess the outputted keystream?

If you put a key into some stream cipher, it may use several LFSR's to
help encrypt your message. Assuming something like the E0 cipher (but
not limited to that cipher) (http://en.wikipedia.org/wiki/E0_%28cipher
%29), how do they impact whether it is smarter to guess a key versus a
keystream?

Thanks :)
From: mark on
On Jan 23, 12:41 pm, unruh <un...(a)wormhole.physics.ubc.ca> wrote:
> On 2010-01-23, mark <cheesemonke...(a)gmail.com> wrote:
>
> > Sorry for the newbie question.  What difference would it make for an
> > attacker with respect to trying to guess an input key into a stream
> > cipher, versus trying to guess the outputted keystream?
>
> > If you put a key into some stream cipher, it may use several LFSR's to
> > help encrypt your message.  Assuming something like the E0 cipher (but
> > not limited to that cipher) (http://en.wikipedia.org/wiki/E0_%28cipher
> > %29), how do they impact whether it is smarter to guess a key versus a
> > keystream?
>
> Since the keystream is typically longer than the key, it is harder to
> guess. also, you have no criteria for deciding whether you have guessed
> the right stream or not (See One Time Pad and its proof of security).
>
>
>
> > Thanks :)

How does the use of LFSRs play into this, though? If you determine
the key, you still need to know the nature and the state of the LFSRs
in order to generate useful keystream frames to encrypt/decrypt
messages, correct? In the case of the e0 cipher, there are 4 LFSRs,
along with a 128 bit key and some other information passed to the
cipher. I think I'm missing a key piece of knowledge here :)
Bruteforcing on a 128 bit key would require at most 2^128 guesses.
The e0 cipher creates a keystream frame of approximately 3000 bits.

We will be getting a different keystream with each frame. So, does
this mean that attacking a keystream would be approximately 2^3000 (at
most. expected half of that) guesses for each keystream, and cracking
that is only useful for a short period of time, until we get a new
frame?
From: Greg Rose on
In article <3d75bccb-bf7e-4b3a-a371-6d1b101a20be(a)22g2000yqr.googlegroups.com>,
mark <cheesemonkey22(a)gmail.com> wrote:
>Sorry for the newbie question. What difference would it make for an
>attacker with respect to trying to guess an input key into a stream
>cipher, versus trying to guess the outputted keystream?
>
>If you put a key into some stream cipher, it may use several LFSR's to
>help encrypt your message. Assuming something like the E0 cipher (but
>not limited to that cipher) (http://en.wikipedia.org/wiki/E0_%28cipher
>%29), how do they impact whether it is smarter to guess a key versus a
>keystream?

You can't guess the keystream, since the bits
appear independent of each other. Even more, you
should assume known plaintext attacks, where the
attacker knows both the input and output, and
hence can *derive* the keystream for at least
large segments of generated output.

So, really, if you are guessing something it
should be the key. Another alternative is to guess
the internal state of the generator; this may be
much more efficient than guessing the key and
doing all the key setup, and you might be able to
guess just some of it and derive the rest (so
called "Guess and Determine attack"). Once you
know the internal state it is often possible to
work backward to the actual key, or even if not,
you can generate more output.

Greg.
--
Greg Rose
232B EC8F 44C6 C853 D68F E107 E6BF CD2F 1081 A37C
From: Greg Rose on
In article <65e5a47f-3393-4d7b-a171-43b50926aeb0(a)h2g2000yqj.googlegroups.com>,
mark <cheesemonkey22(a)gmail.com> wrote:
>On Jan 23, 12:41�pm, unruh <un...(a)wormhole.physics.ubc.ca> wrote:
>> On 2010-01-23, mark <cheesemonke...(a)gmail.com> wrote:
>>
>> > Sorry for the newbie question. �What difference would it make for an
>> > attacker with respect to trying to guess an input key into a stream
>> > cipher, versus trying to guess the outputted keystream?
>>
>> > If you put a key into some stream cipher, it may use several LFSR's to
>> > help encrypt your message. �Assuming something like the E0 cipher (but
>> > not limited to that cipher) (http://en.wikipedia.org/wiki/E0_%28cipher
>> > %29), how do they impact whether it is smarter to guess a key versus a
>> > keystream?
>>
>> Since the keystream is typically longer than the key, it is harder to
>> guess. also, you have no criteria for deciding whether you have guessed
>> the right stream or not (See One Time Pad and its proof of security).
>>
>>
>>
>> > Thanks :)
>
>How does the use of LFSRs play into this, though? If you determine
>the key, you still need to know the nature and the state of the LFSRs
>in order to generate useful keystream frames to encrypt/decrypt
>messages, correct? In the case of the e0 cipher, there are 4 LFSRs,
>along with a 128 bit key and some other information passed to the
>cipher. I think I'm missing a key piece of knowledge here :)
>Bruteforcing on a 128 bit key would require at most 2^128 guesses.
>The e0 cipher creates a keystream frame of approximately 3000 bits.
>
>We will be getting a different keystream with each frame. So, does
>this mean that attacking a keystream would be approximately 2^3000 (at
>most. expected half of that) guesses for each keystream, and cracking
>that is only useful for a short period of time, until we get a new
>frame?

So, you can either guess the 3000 bits of
keystream, or you can guess something else that is
3000 bits long, namely the contents of the frame
itself. The time to guess, the probability of
correctness, and the ease of guessing the wrong
thing, are all the same.

Greg.
--
Greg Rose
232B EC8F 44C6 C853 D68F E107 E6BF CD2F 1081 A37C