5 Integrity algorithm GIA4
3GPP55.241GIA4 specificationSpecification of the GIA4 integrity algorithm for General Packet Radio Service (GPRS)TS
5.1 Introduction
The integrity algorithm GIA4 computes a Message Authentication Code (MAC) on an input message under an integrity key IK128. The input message may be between 1 and 65536 octets long.
For ease of implementation the algorithm is based on the same block cipher (KASUMI) as is used by the confidentiality algorithm GEA4.
5.2 Inputs and outputs
The inputs to the algorithm are given in table 5.2.1, the output in table 5.2.2:
Table 5.2.1: GIA4 inputs
Parameter |
Size (bits) |
Comment |
INPUT-I |
32 |
Frame dependent input INPUT-I[0]…INPUT-I[31] |
M |
The length of MESSAGE in octets (1-65536) |
|
MESSAGE |
8M |
Input octet stream MESSAGE{0}….MESSAGE{M-1} |
DIRECTION |
1 |
Direction of transmission DIRECTION[0] |
FRAMETYPE |
8 |
Input value signifying the type of frame to be protected |
KI128 |
128 |
Integrity key KI128[0]…KI128[127] |
Table 5.2.2: GIA4 output
Parameter |
Size (bits) |
Comment |
MAC |
32 |
Message authentication code MAC[0]…MAC[31] |
5.3 Components and architecture
This clause only available under licence.
See http://www.etsi.org/about/what-we-do/security-algorithms-and-codes/cellular-algorithm-licences.
5.4 Initialisation
This clause only available under licence.
See http://www.etsi.org/about/what-we-do/security-algorithms-and-codes/cellular-algorithm-licences.
5.5 Calculation
This clause only available under licence.
See http://www.etsi.org/about/what-we-do/security-algorithms-and-codes/cellular-algorithm-licences.
Annex A (informative):
Components and architecture of the GIA4 algorithm
This clause only available under licence.
See http://www.etsi.org/about/what-we-do/security-algorithms-and-codes/cellular-algorithm-licences.
Annex B (informative):
Simulation program listing
This clause only available under licence.
See http://www.etsi.org/about/what-we-do/security-algorithms-and-codes/cellular-algorithm-licences.
Annex C (informative):
Change history
Change history |
|||||||
Date |
Meeting |
TDoc |
CR |
Rev |
Cat |
Subject/Comment |
New version |
2016-04 |
SA3#83 |
– |
– |
– |
First Draft |
0.1.0 |
|
2016-04 |
SA3#83 |
– |
– |
– |
Updated and Shared with French Government |
0.2.0 |
|
2016-05 |
SA3#83 |
– |
– |
– |
Algorithm redacted |
0.2.2 |
|
2016-04 |
SA3#85 |
– |
– |
– |
Full Specification with Example Code |
0.3.0 |
|
2016-06 |
SA#72 |
SP-160377 |
EditHelp editorial fix and presented for information |
1.0.0 |
|||
2016-11 |
SA3#85 |
Sent for Approval with only version changes |
1.1.0 |
||||
2016-11 |
SA3#85 |
Changed editors note to reflect availability of the content |
1.1.1 |
||||
2016-11 |
SA#74 |
SP-160791 |
MCC clean up, redacted version for TSG SA approval |
2.0.0 |
|||
2016-12 |
SA#74 |
Approved by TSG SA |
13.0.0 |
||||
2017-03 |
SA#75 |
– |
– |
– |
Promotion to Release 14 without technical change |
14.0.0 |
|
2018-06 |
– |
– |
– |
– |
– |
Update to Rel-15 version (MCC) |
15.0.0 |
2018-06 |
Change to GSM logo |
15.0.1 |
|||||
2020-07 |
– |
– |
– |
– |
– |
Update to Rel-16 version (MCC) |
16.0.0 |
2022-03 |
– |
– |
– |
– |
– |
Update to Rel-17 version (MCC) |
17.0.0 |