1、 ETSI TS 135 202 V15.0.0 (2018-07) Universal Mobile Telecommunications System (UMTS); LTE; 3G Security; Specification of the 3GPP confidentiality and integrity algorithms; Document 2: Kasumi specification (3GPP TS 35.202 version 15.0.0 Release 15) TECHNICAL SPECIFICATION ETSI ETSI TS 135 202 V15.0.0
2、 (2018-07)13GPP TS 35.202 version 15.0.0 Release 15Reference RTS/TSGS-0335202vf00 Keywords LTE,SECURITY,UMTS ETSI 650 Route des Lucioles F-06921 Sophia Antipolis Cedex - FRANCE Tel.: +33 4 92 94 42 00 Fax: +33 4 93 65 47 16 Siret N 348 623 562 00017 - NAF 742 C Association but non lucratif enregistr
3、e la Sous-Prfecture de Grasse (06) N 7803/88 Important notice The present document can be downloaded from: http:/www.etsi.org/standards-search The present document may be made available in electronic versions and/or in print. The content of any electronic and/or print versions of the present documen
4、t shall not be modified without the prior written authorization of ETSI. In case of any existing or perceived difference in contents between such versions and/or in print, the only prevailing document is the print of the Portable Document Format (PDF) version kept on a specific network drive within
5、ETSI Secretariat. Users of the present document should be aware that the document may be subject to revision or change of status. Information on the current status of this and other ETSI documents is available at https:/portal.etsi.org/TB/ETSIDeliverableStatus.aspx If you find errors in the present
6、document, please send your comment to one of the following services: https:/portal.etsi.org/People/CommiteeSupportStaff.aspx Copyright Notification No part may be reproduced or utilized in any form or by any means, electronic or mechanical, including photocopying and microfilm except as authorized b
7、y written permission of ETSI. The content of the PDF version shall not be modified without the written authorization of ETSI. The copyright and the foregoing restriction extend to reproduction in all media. ETSI 2018. All rights reserved. DECTTM, PLUGTESTSTM, UMTSTMand the ETSI logo are trademarks o
8、f ETSI registered for the benefit of its Members. 3GPPTM and LTETMare trademarks of ETSI registered for the benefit of its Members and of the 3GPP Organizational Partners. oneM2M logo is protected for the benefit of its Members. GSMand the GSM logo are trademarks registered and owned by the GSM Asso
9、ciation. ETSI ETSI TS 135 202 V15.0.0 (2018-07)23GPP TS 35.202 version 15.0.0 Release 15Intellectual Property Rights Essential patents IPRs essential or potentially essential to normative deliverables may have been declared to ETSI. The information pertaining to these essential IPRs, if any, is publ
10、icly available for ETSI members and non-members, and can be found in ETSI SR 000 314: “Intellectual Property Rights (IPRs); Essential, or potentially Essential, IPRs notified to ETSI in respect of ETSI standards“, which is available from the ETSI Secretariat. Latest updates are available on the ETSI
11、 Web server (https:/ipr.etsi.org/). Pursuant to the ETSI IPR Policy, no investigation, including IPR searches, has been carried out by ETSI. No guarantee can be given as to the existence of other IPRs not referenced in ETSI SR 000 314 (or the updates on the ETSI Web server) which are, or may be, or
12、may become, essential to the present document. Trademarks The present document may include trademarks and/or tradenames which are asserted and/or registered by their owners. ETSI claims no ownership of these except for any which are indicated as being the property of ETSI, and conveys no right to us
13、e or reproduce any trademark and/or tradename. Mention of those trademarks in the present document does not constitute an endorsement by ETSI of products, services or organizations associated with those trademarks. Foreword This Technical Specification (TS) has been produced by ETSI 3rd Generation P
14、artnership Project (3GPP). The present document may refer to technical specifications or reports using their 3GPP identities, UMTS identities or GSM identities. These should be interpreted as being references to the corresponding ETSI deliverables. The cross reference between GSM, UMTS, 3GPP and ETS
15、I identities can be found under http:/webapp.etsi.org/key/queryform.asp. Modal verbs terminology In the present document “shall“, “shall not“, “should“, “should not“, “may“, “need not“, “will“, “will not“, “can“ and “cannot“ are to be interpreted as described in clause 3.2 of the ETSI Drafting Rules
16、 (Verbal forms for the expression of provisions). “must“ and “must not“ are NOT allowed in ETSI deliverables except when used in direct citation. ETSI ETSI TS 135 202 V15.0.0 (2018-07)33GPP TS 35.202 version 15.0.0 Release 15Contents Intellectual Property Rights 2g3Foreword . 2g3Modal verbs terminol
17、ogy 2g3Foreword . 4g3Introduction 4g30 Scope 6g3NORMATIVE SECTION 7g31 Outline of the normative part . 8g31.1 References 8g32 Introductory information 8g32.1 Introduction 8g32.2 Notation 8g32.2.1 Radix . 8g32.2.2 Bit/Byte ordering 9g32.2.3 Conventions 9g32.2.4 Subfunctions . 9g32.2.5 List of Symbols
18、 . 9g32.3 List of Functions and Variables 10g33 KASUMI operation 10g33.1 Introduction 10g33.2 Encryption 10g34 Components of KASUMI . 10g34.1 Function fi. 10g34.2 Function FL 11g34.3 Function FO . 11g34.4 Function FI . 11g34.5 S-boxes . 12g34.5.1 S7 12g34.5.2 S9 13g34.6 Key Schedule 14g3INFORMATIVE
19、SECTION . 16g3Annex 1 (informative): Figures of the KASUMI Algorithm 17g3Annex 2 (informative): Simulation Program Listing . 19g3Annex 3 (informative): Change history . 23g3History 24g3ETSI ETSI TS 135 202 V15.0.0 (2018-07)43GPP TS 35.202 version 15.0.0 Release 15Foreword This Technical Specificatio
20、n has been produced by the 3rdGeneration Partnership Project (3GPP). The 3GPP Confidentiality and Integrity Algorithms f8 2 presented to TSG for approval; 3 or greater indicates TSG approved document under change control. y the second digit is incremented for all changes of substance, i.e. technical
21、 enhancements, corrections, updates, etc. z the third digit is incremented when editorial only changes have been incorporated in the document. Introduction This specification has been prepared by the 3GPP Task Force, and gives a detailed specification of the 3GPP Algorithm KASUMI. KASUMI is a block
22、cipher that forms the heart of the 3GPP confidentiality algorithm f8, and the 3GPP integrity algorithm f9. This document is the second of four, which between them form the entire specification of the 3GPP Confidentiality and Integrity Algorithms: - 3GPP TS 35.201: “3rd Generation Partnership Project
23、; Technical Specification Group Services and System Aspects; 3G Security; Specification of the 3GPP Confidentiality and Integrity Algorithms; Document 1: f8 and f9 Specification“. - 3GPP TS 35.202: “3rd Generation Partnership Project; Technical Specification Group Services and System Aspects; 3G Sec
24、urity; Specification of the 3GPP Confidentiality and Integrity Algorithms; Document 2: KASUMI Specification“. - 3GPP TS 35.203: “3rd Generation Partnership Project; Technical Specification Group Services and System Aspects; 3G Security; Specification of the 3GPP Confidentiality and Integrity Algorit
25、hms; Document 3: Implementors Test Data“. - 3GPP TS 35.204: “3rd Generation Partnership Project; Technical Specification Group Services and System Aspects; 3G Security; Specification of the 3GPP Confidentiality and Integrity Algorithms; Document 4: Design Conformance Test Data“. ETSI ETSI TS 135 202
26、 V15.0.0 (2018-07)53GPP TS 35.202 version 15.0.0 Release 15The normative part of the specification of KASUMI is in the main body of this document. The annexes to this document are purely informative. Annex 1 contains illustrations of functional elements of the algorithm, while Annex 2 contains an im
27、plementation program listing of the cryptographic algorithm specified in the main body of this document, written in the programming language C. Similarly the normative part of the specification of the f8 (confidentiality) and the f9 (integrity) algorithms is in the main body of Document 1. The annex
28、es of those documents, and Documents 3 and 4 above, are purely informative. ETSI ETSI TS 135 202 V15.0.0 (2018-07)63GPP TS 35.202 version 15.0.0 Release 150 Scope This specification gives a detailed specification of the 3GPP Algorithm KASUMI. KASUMI is a block cipher that forms the heart of the 3GPP
29、 confidentiality algorithm f8, and the 3GPP integrity algorithm f9. ETSI ETSI TS 135 202 V15.0.0 (2018-07)73GPP TS 35.202 version 15.0.0 Release 15NORMATIVE SECTION This part of the document contains the normative specification of the KASUMI algorithm. ETSI ETSI TS 135 202 V15.0.0 (2018-07)83GPP TS
30、35.202 version 15.0.0 Release 151 Outline of the normative part Section 2 introduces the algorithm and describes the notation used in the subsequent sections. Section 3 defines the algorithm structure and its operation. Section 4 defines the basic components of the algorithm. 1.1 References The foll
31、owing 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
32、 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. 1 3GPP TS 33.102 version 3.2.0:
33、 “3rd Generation Partnership Project; Technical Specification Group Services and System Aspects; 3G Security; Security Architecture“. 2 3GPP TS 33.105 version 3.1.0: “3rd Generation Partnership Project; Technical Specification Group Services and System Aspects; 3G Security; Cryptographic Algorithm R
34、equirements“. 3 3GPP TS 35.201: “3rd Generation Partnership Project; Technical Specification Group Services and System Aspects; 3G Security; Specification of the 3GPP Confidentiality and Integrity Algorithms; Document 1: f8 and f9 Specification“. 4 3GPP TS 35.202: “3rd Generation Partnership Project
35、; Technical Specification Group Services and System Aspects; 3G Security; Specification of the 3GPP Confidentiality and Integrity Algorithms; Document 2: KASUMI Specification“. 5 3GPP TS 35.203: “3rd Generation Partnership Project; Technical Specification Group Services and System Aspects; 3G Securi
36、ty; Specification of the 3GPP Confidentiality and Integrity Algorithms; Document 3: Implementors Test Data“. 6 3GPP TS 35.204: “3rd Generation Partnership Project; Technical Specification Group Services and System Aspects; 3G Security; Specification of the 3GPP Confidentiality and Integrity Algorith
37、ms; Document 4: Design Conformance Test Data“. 7 ISO/IEC 9797-1:1999: “Information technology Security techniques Message Authentication Codes (MACs)“. 2 Introductory information 2.1 Introduction Within the security architecture of the 3GPP system there are two standardised algorithms: A confidentia
38、lity algorithm f8, and an integrity algorithm f9. These algorithms are fully specified in a companion document3. Each of these algorithms is based on the KASUMI algorithm that is specified here. KASUMI is a block cipher that produces a 64-bit output from a 64-bit input under the control of a 128-bit
39、 key. 2.2 Notation 2.2.1 Radix We use the prefix 0x to indicate hexadecimal numbers. ETSI ETSI TS 135 202 V15.0.0 (2018-07)93GPP TS 35.202 version 15.0.0 Release 152.2.2 Bit/Byte ordering All data variables in this specification are presented with the most significant bit (or byte) on the left hand
40、side and the least significant bit (or byte) on the right hand side. Where a variable is broken down into a number of sub-strings, the left most (most significant) sub-string consists of the most significant part of the original string and so on through to the least significant. For example if a 64-
41、bit value X is subdivided into four 16-bit substrings P, Q, R, S we have: X = 0x0123456789ABCDEF we have: P = 0x0123, Q = 0x4567, R = 0x89AB, S = 0xCDEF. In binary this would be: X = 0000000100100011010001010110011110001001101010111100110111101111 with P = 0000000100100011 Q = 0100010101100111 R = 1
42、000100110101011 S = 1100110111101111 2.2.3 Conventions We use the assignment operator =, as used in several programming languages. When we write = we mean that assumes the value that had before the assignment took place. For instance, x = x + y + 3 means (new value of x) becomes (old value of x) + (
43、old value of y) + 3. 2.2.4 Subfunctions KASUMI decomposes into a number of subfunctions (FL, FO, FI) which are used in conjunction with associated sub-keys (KL, KO, KI) in a Feistel structure comprising a number of rounds (and rounds within rounds for some subfunctions). Specific instances of the fu
44、nction and/or keys are represented by XXi,jwhere i is the outer round number of KASUMI and j is the inner round number. For example the function FO comprises three rounds of the function FI, so we designate the third round of FI in the fifth round of KASUMI as FI5,3. 2.2.5 List of Symbols = The assi
45、gnment operator. The bitwise exclusive-OR operation. | The concatenation of the two operands. (16-b) /*- unions: used to remove “endian“ issues -*/ typedef union u32 b32; u16 b162; u8 b84; DWORD; typedef union u16 b16; u8 b82; WORD; /*- globals: The subkey arrays -*/ static u16 KLi18, KLi28; static
46、u16 KOi18, KOi28, KOi38; static u16 KIi18, KIi28, KIi38; /*- * FI() * The FI function (fig 3). It includes the S7 and S9 tables. * Transforms a 16-bit value. *-*/ static u16 FI( u16 in, u16 subkey ) u16 nine, seven; static u16 S7 = 54, 50, 62, 56, 22, 34, 94, 96, 38, 6, 63, 93, 2, 18,123, 33, 55,113
47、, 39,114, 21, 67, 65, 12, 47, 73, 46, 27, 25,111,124, 81, 53, 9,121, 79, 52, 60, 58, 48,101,127, 40,120,104, 70, 71, 43, 20,122, 72, 61, 23,109, 13,100, 77, 1, 16, 7, 82, 10,105, 98, 117,116, 76, 11, 89,106, 0,125,118, 99, 86, 69, 30, 57,126, 87, 112, 51, 17, 5, 95, 14, 90, 84, 91, 8, 35,103, 32, 97
48、, 28, 66, ETSI ETSI TS 135 202 V15.0.0 (2018-07)203GPP TS 35.202 version 15.0.0 Release 15102, 31, 26, 45, 75, 4, 85, 92, 37, 74, 80, 49, 68, 29,115, 44, 64,107,108, 24,110, 83, 36, 78, 42, 19, 15, 41, 88,119, 59, 3; static u16 S9 = 167,239,161,379,391,334, 9,338, 38,226, 48,358,452,385, 90,397, 183
49、,253,147,331,415,340, 51,362,306,500,262, 82,216,159,356,177, 175,241,489, 37,206, 17, 0,333, 44,254,378, 58,143,220, 81,400, 95, 3,315,245, 54,235,218,405,472,264,172,494,371,290,399, 76, 165,197,395,121,257,480,423,212,240, 28,462,176,406,507,288,223, 501,407,249,265, 89,186,221,428,164, 74,440,196,458,4