The A5 is the algorithm used for encryption in GSM
mobile phones. It can optionally be used on all voice
and data connections. A5 is a stream cipher, which uses
a 64-bit secret key. It’s implementation, however, is block based
with a block length of 228 bits. A5 is designed
to be efficiently implemented in hardware, involving only XOR and
one-bit addition operations. A5 is notionally a secret algorithm, although
it has now been widely publicised on the Internet.
There are
two versions of the A5 algorithm:
A5/1, which is used in
Europe, and
A5/2, which is used in export systems.
Known security
vulnerabilities of the GSM A5 algorithm include:
In most deployed versions
of GSM (employing COMP128), the 10 least significant bits of
the key are set to zero, reducing the effective length
of the key to 54 bits.
The keystream is frequently re-initialised,
permitting attacks based on a known initial state.
While the
state transition function of A5 is not uniquely invertible, it
can be efficiently inverted because the number of possible parent
states is small.
Cryptanalysis of A5/1 requires approximately 224 operations (with
248 pre-computed stored values.)
Cryptanalysis of A5/2 requires O(216) steps.
Other topics in our resources on GSM related to A5 Encryption include: