analyzing the available information. The details of this implementation, as well as some documented facts about A5, are summarized below: A5 is a stream cipher consisting of three clock-controlled LFSRs of degree 19, 22, and 23. The clock control is a threshold function of the middle bits of each of the three shift registers. The sum of the degrees of the three shift registers is 64. The 64-bit session key is used to initialize the contents of the shift registers. The 22-bit TDMA frame number is fed into the shift registers. Two 114-bit keystreams are produced for each TDMA frame, which are XOR-ed with the uplink and downlink traffic channels. It is rumored that the A5 algorithm has an "effective" key length of 40 bits. 5.2 Key Length This section focuses on key length as a figure of merit of an encryption algorithm. Assuming a brute-force search of every possible key is the most efficient method of cracking an encrypted message (a big assumption), Table 1 shown below summarizes how long it would take to decrypt a message with a given key length, assuming a cracking machine capable of one million encryptions per second. Table 1 Brute-force key search times for various key sizes Key length in bits 32 40 56 64 128 Time required to test all possible keys 1.19 hours 12.7 days 2,291 years 584,542 years 10.8 x 10^24 years The time required for a 128-bit key is extremely large; as a basis for comparison the age of