The present document contains an example algorithm which may be used as the VSTK key generation function A8_V as described in TS 43.020. (It is not mandatory that the particular algorithm specified in this document is used - the A8_V function is operator-specifiable rather than being fully standardised.)
Clause 4 introduces the algorithm and describes the input and output parameters. Clause 5 defines the algorithm. Clause 6 provides test data.
The following documents contain provisions which, through reference in this text, constitute provisions of the present document.
References are either specific (identified by date of publication, edition number, version number, etc.) or non specific.
For a specific reference, subsequent revisions do not apply.
For a non-specific reference, the latest version applies. In the case of a reference to a 3GPP document (including a GSM document), a non-specific reference implicitly refers to the latest version of that document in the same Release as the present document.
TS 35.206: "3G Security; Specification of the MILENAGE algorithm set: An example algorithm Set for the 3GPP Authentication and Key Generation functions f1, f1*, f2, f3, f4, f5 and f5*; Document 2: Algorithm specification".
TS 35.207: "3G Security; Specification of the MILENAGE Algorithm Set: An example algorithm set for the 3GPP authentication and key generation functions f1, f1*, f2, f3, f4, f5 and f5*; Document 3: Implementors' test data".
TS 35.208: "3G Security; Specification of the MILENAGE Algorithm Set: An example algorithm set for the 3GPP authentication and key generation functions f1, f1*, f2, f3, f4, f5 and f5*; Document 4: Design conformance test data".
For the purposes of the present document, the terms and definitions given in TR 21.905, TS 35.206 and TS 43.020, and the following apply. A term defined in the present document takes precedence over the definition of the same term, if any, in TR 21.905, TS 35.206 or TS 43.020.
For the purposes of the present document, the abbreviations given in TR 21.905, TS 35.206 and TS 43.020, and the following apply. An abbreviation defined in the present document takes precedence over the definition of the same abbreviation, if any, in TR 21.905, TS 35.206 or TS 43.020.
For VGCS and VBS ciphering in the GSM system the security function A8_V has been specified. The operation of this function falls completely within the domain of an individual operator, and the function is therefore to be specified by each operator rather than being fully standardized. The algorithm specified in this document is an example that may be used by an operator which does not wish to design its own.
The inputs and outputs of the function A8_V is defined in clause 4.4.
All data variables in this specification are presented with the most significant bit (or byte) on the left hand side and the least significant bit (or byte) on the right hand side. Where a variable is broken down into a number of substrings, the leftmost (most significant) substring is numbered 0, the next most significant is numbered 1, and so on through to the least significant. When a variable, with bit length L, is shown in hexadecimal format, bit 0 is the most significant bit of the leftmost hexadecimal digit, and bit L-1 is the least significant bit of the rightmost hexadecimal digit.
An example algorithm set for UMTS, called MILENAGE (see Note 1), is specified in TS 35.206. A8_V MILENAGE makes use of MILENAGE.
Specifically, the function f3 from the UMTS MILENAGE is making use of (all input and output names are prefixed by "MIL3G-" to distinguish them clearly from the inputs and outputs of A8_V MILENAGE):
MILENAGE f3 output, that equals the Short Term Key for use in VGCS and VBS ciphering
All test data in this tabular format is shown in hexadecimal representation. The first test set is also shown in binary, to show explicitly the relationship between the binary data and the hexadecimal representation.