I was conducting research on stream ciphers and LFSRs was a subtopic of my research and I was wondering why are LFSRs so popular?
-
1$\begingroup$ Note: Stream ciphers based on a single LFSR are very insecure, thus not popular. Hint: simplicity. $\endgroup$– fgrieu ♦Jan 23, 2019 at 15:03
-
1$\begingroup$ Short answer: LFSRs have been around for a long time, the math behind them is very well understood, and they have many applications outside of crypto. $\endgroup$– bmm6oJan 23, 2019 at 16:04
-
1$\begingroup$ Please don't substantially change your question after it has been posted. I have rolled back the latest edit. If you have a new / different question now, please post a new question instead. $\endgroup$– SEJPMJan 24, 2019 at 9:33
-
1$\begingroup$ @Learner You will find that most specifications are written around a minimally viable VLSI implementation, whether it's MPEG, RFID or BlueTooth. There's a huge disparity between what a cryptographer would use and what an engineer with a space constraint will consider adequate. I've made many choices based on what worked best in silicon that were marginal from the cryptography standpoint. $\endgroup$– b degnanJan 24, 2019 at 17:20
2 Answers
There were popular once upon a time;
They were very easy to implement in the hardware. Think about you only need latch and $\oplus$. For combining functions some $\wedge$ operation.
Their periodic properties are well studied, the minimal polynomial and characteristic polynomial etc. You can see a glimpse in the classical book of Solomon Golomb.
They are insecure, as Fgrieu said in comments. Single LFSR can be breakable by Berlekamp-Massay algorithm. You need only $2L$ keystream if the LFSR's length is $L$. Interestingly, this algorithm was invented for decoding the BCH codes.
Many people tried to use LFSRs to produce secure stream ciphers. To see the attacks on them look at the links.
- Combining LFSRs with non-linear combiner broken by the novel attack of Siegenthaler
- Irregular clocking as Alternating step generator
- Shrinking Generator
- Filtering the LFSR
Some recent (date back to 1999) algorithms based on LFSR
Note 0: Definitions:
Shift Register : cascaded flip-flops that the out od each is connected to the next one's input. At each clock cycle, the data shifts one. As in 'C' code
x << 1
Linear-feedback shift register, LFSR is a shift register where the input is the linear combination of previous states.
- Nonlinear-feedback shift register, NLFSR is a shift register where the input is the non-linear combination of previous states.
Note 1: The following from eSream project are using LFSR or NLFSR or both:
- Trivium uses 3 NLFSRs.
- Sosemanuk uses LFSR with a maximal period $2^{230}-1$
- Grain uses both LFSR and NLFSR
- MICKEY uses both LFSR and NLFSR
Note 2: They have other applications as @bmmo6 said in the comments.
Note 3: I barely remember a product advertisement in Cryptologia. They were claiming that they combined 5 LFSRs to generate a secure cipher.
-
1$\begingroup$ I'd say "classic book" of Golomb. Archaic has a negative connotation. $\endgroup$– kodluJan 23, 2019 at 20:59
-
1$\begingroup$ @kodlu let me correct. Actually, I couldn't find a better one. it was like the book of stream ciphers at that time. $\endgroup$– kelalakaJan 23, 2019 at 21:01
A complement to @kelalaka's excellent answer.
Here are a few LFSR (and NLFSR for Trivium) based stream ciphers that have not been broken.
Trivium
Self shrinking generator.
Also, some stream ciphers with more modern structure are much less understood.
-
$\begingroup$ Can we say Trivium is LFSR based? It uses non-linear combining taps. Also, the Feedback is in circular of three Shift Registers. $\endgroup$– kelalakaJan 24, 2019 at 9:57
-
$\begingroup$ You're right of course, there is an algebraic relation between LFSR and NLFSR's, it is a small departure that gives strength. $\endgroup$– kodluJan 24, 2019 at 10:02
-
$\begingroup$ could you provide me a link about the algebraic relation to read? $\endgroup$– kelalakaJan 24, 2019 at 16:19
-
1$\begingroup$ I should have said, there are algebraic relationships, not a "single algebraic relation". See here to begin (this may be known to you of course) ricam.oeaw.ac.at/specsem/specsem2013/workshop4/slides/…. There are some other recent papers by Helleseth and others. $\endgroup$– kodluJan 30, 2019 at 0:18