In article <1119098147.634323.20530@f14g2000cwb.googlegroups.com>,
<manmohan2k@gmail.com> wrote:
>dear friends and respected Seniors, I have designed one stream cipher
>based on LSFR for the fullfilment of my master degree. As I am novice
>in this area. So I need yours suggestions and support, will it be
>secure against attack if not how I can make it secure.
>While testing of randomness of keystream, it is clearing 14 tests
>except random excursion and random excursion variants..
>Hope to hear soon from yours side.
If it consistently fails any tests at all, it's no
good by today's standards.
>Design and Implementation of LFSR based stream cipher
>
> Suppose in a system there are 4 shift register. Each shift register
>will generate a PN sequence. The length of sequence will depend on the
>size of shift register and the total period of the system will be the
>LCM of the periods of the 4 shift registers. The
>Keystream of the 4 shift registers are mixed with the input data
>bits(plain text) using the XOR operation. This will be the output
>sequence bit (ciphertext)
This is equivalent to a single shift register,
with a more complicated tap sequence. OK.
>Mathematically if X1,X2,X3,X4 are the output sequence bit of the 4
>shift registers R1, R2, R3 and R4 and P is the plain text(in ASCII)
>form . Then we can say
>
> PTK = C
>Where value of Keystream(K) is calculated by using the function
>
> (X1^X2)T X3TX4 = K
What is 'T'? The only thing that I can think of
here is multiplication.
If this is what you mean, it won't particularly
help to consider the registers as one big
register.
In any case, this is only a degree-3 polynomial in
the state bits. So the cipher is a sucker for
linearization (xonsider each term as a new
variable, gather enough equations to solve it as a
linear system, and you're done. There are about
350,000 variables in the system, so this most
basic algebraic attack will take 2^54 time or
less.)
>Assuming the stages of 4 Linear Feed back shift registers are
>31,29,27 and 41 . The primitive polynomials for each shift registers
>will be:
>1) x31+x3+1 = 0
>2) x29+x2+1 = 0
>3) x27+x5+x2+x+1 = 0
>4) x41+x3+1 = 0
You also need to avoid sparse polynomials. Both
fast correlation and guess-and-determine attacks
will apply.
>These sequences will be used as the tapping point ie for 31 stage shift
>register the tapping point will be 31 and 3rd . For 29 bit shift
>register tapping point will be 29 and 2nd and so on.
>These potions are XOR ie for 31 stage shift register 31 and 3rd bit is
>XORed . In this way these are XOR and right shifted.
>Same operation is applied for each shift register.
>Suppose we get output X1 from LFSR R1, X2 from shift Register R2, X3
>from shift Register R3 and X4 from Shift register R4 .
>Then these all result set are XOR with the input text P(this is
>converted into ASCII code) to get the cipher text.
What? You just XOR all of them together? This is
silly... just solve 128 linear equations and
you're done. There's no cipher here. I must be
misunderstanding.
>At the receiving end the system is again activated so that the 4 shift
>registers in the system will again generate the sequence and the crypt
>bit will be XOR to get back the initial input.
Yeah, yeah, that's how stream ciphers work, you
know.
You should go look at the Ecrypt stream ciphers.
Greg.
--
Greg Rose
232B EC8F 44C6 C853 D68F E107 E6BF CD2F 1081 A37C
Qualcomm Australia: http://www.qualcomm.com.au
Received on Thu Sep 29 21:44:42 2005