Misplaced Pages

COMP128

Article snapshot taken from Wikipedia with creative commons attribution-sharealike license. Give it a read and then ask your questions in the chat. We can research this topic together.

This is an old revision of this page, as edited by Bomazi (talk | contribs) at 21:07, 15 May 2012. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Revision as of 21:07, 15 May 2012 by Bomazi (talk | contribs)(diff) ← Previous revision | Latest revision (diff) | Newer revision → (diff)

COMP128 is an implementation of the A3 and A8 algorithms defined in the GSM standard.

A3 is used to authenticate the mobile station to the network. A8 is used to generate the session key used by the A5 algorithm to encrypt the data exchanged between the mobile station and the BTS.

The algorithm was originally confidential. A partial description was leaked in 1997 and completed via reverse engineering.

Introduction

For details on the way A3 and A8 are used see Authentication Center.

A3 and A8 both take a 128 bits key (Ki) and a 128 bits challenge (RAND) as inputs. A3 produces a 32 bits response (SRES) and A8 produces a 64 bits session key (Kc).

COMP128 combines the functionality of A3 and A8. It is built around a hash function with a 256 bits input and a 128 bits output.

Ki and RAND constitute the input. Bits 0-31 of the output are used as SRES. Bits 74-127 are zero-padded to form Kc.

The hash function has nine rounds and a butterfly structure.

Security

The COMP128 hash function is considered weak because small changes in the input are not sufficiently dispersed.

Practical attacks have been demonstrated that can recover the subscriber key from the SIM. Replacements algorithms have since been developed.

In addition the session key produced by COMP128 has only 54 bits of entropy. This significantly weakens A5.

References

  1. ^ Brumley, Billy (2004), A3/A8 & COMP128 (PDF)

External links

Category:
COMP128 Add topic