logo资料库

SNOW 3G Specification.pdf

第1页 / 共37页
第2页 / 共37页
第3页 / 共37页
第4页 / 共37页
第5页 / 共37页
第6页 / 共37页
第7页 / 共37页
第8页 / 共37页
资料共37页,剩余部分请下载后查看
ETSI/SAGE Specification Version: 1.1 Date: 6th September 2006 Specification of the 3GPP Confidentiality and Integrity Algorithms UEA2 & UIA2. Document 2: SNOW 3G Specification The SNOW 3G algorithm is the core of the standardised 3GPP Confidentiality and Integrity algorithms UEA2 & UIA2. 3GPP Confidentiality and Integrity Algorithms UEA2 & UIA2. SNOW 3G Algorithm Specification Version 1.1 page 1 of 37
Document History 10th January 2006 Publication 6th September 2006 No change to the algorithm specification at all, just removal of an unwanted page header V1.0 V1.1 3GPP Confidentiality and Integrity Algorithms UEA2 & UIA2. SNOW 3G Algorithm Specification Version 1.1 page 2 of 37
PREFACE This specification has been prepared by the 3GPP Task Force, and gives a detailed specification of the 3GPP Algorithm SNOW 3G. SNOW 3G is a stream cipher that forms the heart of the 3GPP confidentiality algorithm UEA2 and the 3GPP integrity algorithm UIA2. This document is the second of four, which between them form the entire specification of 3GPP Confidentiality and Integrity Algorithms: • Specification of the 3GPP Confidentiality and Integrity Algorithms UEA2 & UIA2. Document 1: UEA2 and UIA2 Algorithm Specifications. • Specification of the 3GPP Confidentiality and Integrity Algorithms UEA2 & UIA2. Document 2: SNOW 3G Algorithm Specification. • Specification of the 3GPP Encryption and Confidentiality Algorithms UEA2 & UIA2. Document 3: Implementors’ Test Data. • Specification of the 3GPP Encryption and Confidentiality Algorithms UEA2 & UIA2. Document 4: Design Conformance Test Data. The normative part of the specification of SNOW 3G is in the main body of this document. The annexes to this document are purely informative. Annex 1 contains remarks about the mathematical background of some functions of SNOW 3G. Annex 2 contains implementation options for some functions of SNOW 3G. Annex 3 contains illustrations of functional elements of the algorithm, while Annex 4 contains an implementation 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 UEA2 (confidentiality) and the UIA2 (integrity) algorithms is in the main body of Document 1. The annexes of those documents and Documents 3 and 4 above, are purely informative. 3GPP Confidentiality and Integrity Algorithms UEA2 & UIA2. SNOW 3G Algorithm Specification Version 1.1 page 3 of 37
Blank Page 3GPP Confidentiality and Integrity Algorithms UEA2 & UIA2. SNOW 3G Algorithm Specification Version 1.1 page 4 of 37
TABLE OF CONTENTS 1. Outline of the Normative Part of the Document.................................................................8 2. Introductory Information ....................................................................................................8 2.1. Introduction.................................................................................................................8 2.2. Notation ......................................................................................................................8 3. Components of SNOW 3G ...............................................................................................10 3.1. Functions used in different Components of SNOW 3G ...........................................10 3.2. Linear Feedback Shift Register (LFSR) ...................................................................10 3.3. Finite State Machine (FSM) .....................................................................................10 3.4. The Clocking Operations ..........................................................................................11 4. Operation of SNOW 3G ...................................................................................................12 4.1. Initialisation ..............................................................................................................12 4.2. Generation of Keystream ..........................................................................................13 5. Definition of Tables used in SNOW 3G...........................................................................14 ANNEX 1 Remarks about the mathematical background of some operations of the SNOW 3G Algorithm...............................................................................................................17 1.1 MULx and MULxPOW ............................................................................................17 1.2 The S-Box S1 used in the FSM .................................................................................17 1.3 The S-Box SQ used in the S-Box S2 .........................................................................17 1.4 The S-Box S2 used in the FSM .................................................................................18 1.5 Interpretation of the 32-bit words contained in the LFSR as elements of GF(232)..............................................................................................................................18 ANNEX 2 Algorithm Implementation options for some operations of the SNOW 3G 19 2.1. The S-Box S1 used in the FSM .................................................................................19 2.2. The S-Box S2 used in the FSM .................................................................................19 2.3. The functions MULα and DIVα used in the LFSR....................................................19 2.4. Definitions of tables for the FSM .............................................................................20 2.5. Definitions of tables for the LFSR............................................................................28 ANNEX 3 Figures of the SNOW 3G Algorithm..................................................................30 SNOW 3G Algorithm during key initialisation................................................................30 SNOW 3G Algorithm during keystream-generation ........................................................31 ANNEX 4 Simulation Program Listing................................................................................32 4.1. Header file ................................................................................................................32 4.2. Code..........................................................................................................................32 3GPP Confidentiality and Integrity Algorithms UEA2 & UIA2. SNOW 3G Algorithm Specification Version 1.1 page 5 of 37
REFERENCES 3rd Generation Partnership Project; Technical Specification Group Services and System Aspects; 3G Security; Security Architecture (3G TS 33.102 version 6.3.0). 3rd Generation Partnership Project; Technical Specification Group Services and System Aspects; 3G Security; Cryptographic Algorithm Requirements; (3G TS 33.105 version 6.0.0). Specification of the 3GPP Confidentiality and Integrity Algorithms UEA2 & UIA2. Document 1: UEA2 and UIA2 specifications. Specification of the 3GPP Confidentiality and Integrity Algorithms UEA2 & UIA2. Document 2: SNOW 3G specification. Specification of the 3GPP Confidentiality and Integrity Algorithms UEA2 & UIA2. Document 3: Implementors’ Test Data. Specification of the 3GPP Confidentiality and Integrity Algorithms UEA2 & UIA2. Document 4: Design Conformance Test Data. P. Ekdahl and T. Johansson, “A new version of the stream cipher SNOW”, in Selected Areas in Cryptology (SAC 2002), LNCS 2595, pp. 47–61, Springer- Verlag. J. Daemen, V. Rijmen, “The design of Rijndael”, Springer Verlag Series on Information Security and Cryptography, Springer Verlag, 2002, ISBN 3-540-42580- 2. [1] [2] [3] [4] [5] [6] [7] [8] 3GPP Confidentiality and Integrity Algorithms UEA2 & UIA2. SNOW 3G Algorithm Specification Version 1.1 page 6 of 37
NORMATIVE SECTION This part of the document contains the normative specification of the SNOW 3G algorithm. 3GPP Confidentiality and Integrity Algorithms UEA2 & UIA2. SNOW 3G Algorithm Specification Version 1.1 page 7 of 37
1. Outline of the Normative Part of the Document Section 2 introduces the algorithm and describes the notation used in the subsequent sections. Section 3 defines the basic components of the algorithm. Section 4 defines the operation of SNOW 3G. Section 5 contains tables defining functions used in SNOW 3G. 2. Introductory Information 2.1. Introduction Within the security architecture of the 3GPP system there are standardised algorithms: A confidentiality algorithm UEA2, and an integrity algorithm UIA2. These algorithms are fully specified in a companion document. Each of these algorithms is based on the SNOW 3G algorithm that is specified here. SNOW 3G is a word-oriented stream cipher that generates a sequence of 32-bit words under the control of a 128-bit key and a 128-bit initialisation variable. These words can be used to mask the plaintext. First a key initialisation is performed, i.e. the cipher is clocked without producing output, see 4.1. Then with every clock tick it produces a 32-bit word of output, see 4.2. 2.2. Notation 2.2.1. Radix We use the prefix 0x to indicate hexadecimal numbers. 2.2.2. Bit ordering All data variables in this specification are presented with the most significant bit on the left hand side and the least significant bit on the right hand side. Where a variable is broken down into a number of sub-strings, the left most (most significant) sub-string is numbered 0, the next most significant is numbered 1 and so on through to the least significant. For example if a 64-bit value X is subdivided into four 16-bit substrings P, Q, R, S we have: X = 0x0123456789ABCDEF with P = 0x0123, Q = 0x4567, R = 0x89AB, S = 0xCDEF. In binary this would be: X = 0000000100100011010001010110011110001001101010111100110111101111 with P = 0000000100100011 3GPP Confidentiality and Integrity Algorithms UEA2 & UIA2. SNOW 3G Algorithm Specification Version 1.1 page 8 of 37
分享到:
收藏