Well I've been working on coding LFSR structures for my research projects.
Being able to find sources on the subject, I've been able to test a single LFSR with different initialisation and TAP values, to convince me that the implementation is correct.

I'm now on working on asynchronous LFSRs structure (combination of LFSR, with asynchronous shifting behaviour), but I'm in need of test vectors to ensure my implementation is correct.

Do someone know where I could fine some? I'm also aware that the A5/1 algorithm used for mobile communications is one instance of Asynchronous LFSRs , but still I can't find the test vectors for this protocol either.

1 Answer
1

The pedagogical A5/1 implementation (which is the only publicly known "reference" on A5/1) contains a single test vector, which the code actually tests when executed (see the test() function).

A LFSR is a structure which produces a sequence of bits from on internal state; at each "clock", a single bit is output, and the internal state is correspondingly updated. An "asynchronous" LFSR is a LFSR which you do not always clock, based on some externally specified arbitrary rule. Being asynchronous is not a property of the LFSR itself, but of how it is invoked. From the point of view of the LFSR, nothing is changed: when a "clock" occurs, one bit is produced and the internal state is updated. Consequently, you will not find test vectors for "a lone asynchronous LFSR" because there is no such thing as a LFSR being asynchronous by itself: asynchronicity stems from an extra piece which controls whether the LFSR shall be clocked or not. You may find test vectors for some algorithms which use one or several LFSR in an asynchronous fashion, e.g. A5/1.

Well indeed I made a language abuse calling the LFSR asynchronous. It is in fact a set of 3 (or an odd number of LFSR) synchronised with a master bit. All the LFSR with the majority bit as master bit are shifted. Pretty much like A5/1. Did other type of regulating the bit shifting of the LFSR in the async structure rather than a master bit? (Are those accepted behaviour, cause I can of course invent a technique, but that would be a bad idea :D)
–
M'vyJul 8 '11 at 12:33