 |
|
| Science Forum Index » Cryptography Forum » Strengthening stream encryption processing... |
|
Page 1 of 1 |
|
| Author |
Message |
| Mok-Kong Shen... |
Posted: Sun Oct 25, 2009 2:50 am |
|
|
|
Guest
|
Hi,
I wish to collect through discussions in the group some ideas of
how, given a plaintext and a key sequence, the process of stream
encryption, which commonly consists of xoring the two, could somehow
be strengthened by a normal user without too much difficulty. I'll
start with some humble thoughts of myself.
The first stems from a recent post of mine concerning prediction
of congruential PRNGs, which I realize is relevant not only for key
sequences from that particular type of key generators but also for
key sequences in general. For a random circular permutation
(rotation) of bits in segments (computer words) of the key sequence
is evidently a rather simple user implementable method that adds to
the difficulty of the analyst attacking the encryption. Further,
a random rotation of plaintext bits in the corresponding segments
is clearly also helpful. That is, with the segments indexed by i,
we have the following:
C_i = rot( P_i, r1_i ) XOR rot( K_i, r2_i )
where r1_i and r2_i are random values that are taken from the given
key sequence, or from a separate key sequence. The scheme adds some
computing cost, but seems nevertheless to be eligible for
consideration in practical situations.
The second additional processing I am thinking of is to randomly
permute the segments in blocks. For example, with a block size of
512 bits, one can do a random permutation of the 16 words in it.
The analyst would evidently have to figure out the permutation in
his attack. This permutation can be done with Algorithm P in Knuth's
book, utilizing bits from the given or another key sequence. (Note
that one can use the bits of the key sequence to directly obtain
the random numbers needed in the algorithm without through
conversion to real numbers.) As an aside, it may be noted that such
permutations could also be usefully done for block encryptions, if
a key sequence is available.
Thanks,
M. K. Shen |
|
|
| Back to top |
|
|
|
| amzoti... |
Posted: Tue Oct 27, 2009 5:50 am |
|
|
|
Guest
|
On Oct 25, 1:50 am, Mok-Kong Shen <mok-kong.s... at (no spam) t-online.de> wrote:
[quote]Hi,
I wish to collect through discussions in the group some ideas of
how, given a plaintext and a key sequence, the process of stream
encryption, which commonly consists of xoring the two, could somehow
be strengthened by a normal user without too much difficulty. I'll
start with some humble thoughts of myself.
The first stems from a recent post of mine concerning prediction
of congruential PRNGs, which I realize is relevant not only for key
sequences from that particular type of key generators but also for
key sequences in general. For a random circular permutation
(rotation) of bits in segments (computer words) of the key sequence
is evidently a rather simple user implementable method that adds to
the difficulty of the analyst attacking the encryption. Further,
a random rotation of plaintext bits in the corresponding segments
is clearly also helpful. That is, with the segments indexed by i,
we have the following:
C_i = rot( P_i, r1_i ) XOR rot( K_i, r2_i )
where r1_i and r2_i are random values that are taken from the given
key sequence, or from a separate key sequence. The scheme adds some
computing cost, but seems nevertheless to be eligible for
consideration in practical situations.
The second additional processing I am thinking of is to randomly
permute the segments in blocks. For example, with a block size of
512 bits, one can do a random permutation of the 16 words in it.
The analyst would evidently have to figure out the permutation in
his attack. This permutation can be done with Algorithm P in Knuth's
book, utilizing bits from the given or another key sequence. (Note
that one can use the bits of the key sequence to directly obtain
the random numbers needed in the algorithm without through
conversion to real numbers.) As an aside, it may be noted that such
permutations could also be usefully done for block encryptions, if
a key sequence is available.
Thanks,
M. K. Shen
[/quote]
I am not sure I can answer your question, but are you familiar with
the happenings here?
http://en.wikipedia.org/wiki/ESTREAM |
|
|
| Back to top |
|
|
|
| Mok-Kong Shen... |
Posted: Wed Oct 28, 2009 11:56 am |
|
|
|
Guest
|
amzoti wrote:
[quote]I am not sure I can answer your question, but are you familiar with
the happenings here?
http://en.wikipedia.org/wiki/ESTREAM
[/quote]
Thank you very much for the link.
What I wrote isn't in any sense concerning the design a new stream
cipher. It only points out the fact that, if a (normal) user thinks
(or simply has psychological fear, that might be justified or
unjustified) that the bit stream from the particular software he
employs is not secure enough, then there is a fairly general and
very easily doable method (that needs only a little C programming)
of rendering that bit stream less predictable by the analyst.
M. K. Shen |
|
|
| Back to top |
|
|
|
|
|
All times are GMT - 5 Hours
The time now is Thu Dec 03, 2009 12:46 am
|
|