United States Patent (19) 11 Patent Number: 5,724,428 Rivest 45) Date of Patent: Mar
Total Page:16
File Type:pdf, Size:1020Kb
US005724428A United States Patent (19) 11 Patent Number: 5,724,428 Rivest 45) Date of Patent: Mar. 3, 1998 54 BLOCK ENCRYPTIONALGORTHM WITH 5,351.299 9/1994 Matsuzaki et al. ....................... 38037 DATA-DEPENDENT ROTATIONS 5,454,039 9/1995 Coppersmith et al. ................... 380/28 75) Inventor: Ronald L. Rivest, Arlington, Mass. OTHER PUBLICATIONS Ronald L. Rivest, “The RC5 Encryption Algorithm". Dr. 73) Assignee: RSA Data Security, Inc.. Redwood Dobb's Journal, Jan. 1995 pp. 146-148. City, Calif. Applied Cryptography, Protocols, Algorithms, and Source Code in C, Bruce Schneier, pp. 154-185: 219–272. (21) Appl. No.: 548,318 "A High Performance Encryption Algorithm." W.E. 22 Filed: Nov. 1, 1995 Madryga, Computer Secuirty, pp. 557-570. (51) Int. Cl. ........................... H04L 9/06 Primary Examiner Thomas H. Tarcza 52 U.S. Cl. .................. 380/37:380/28; 380/43 Assistant Examiner-Pinchus M. Laufer (58) Field of Search .................................. 380/37, 42, 43, Attorney, Agent, or Firm-Nixon & Vanderhye PC. 380/44, 46, 57, 28, 9.50; 364/717 57 ABSTRACT 56 References Cited A simple encryption and decryption device has been devel oped. The underlying algorithm is a fast block cipher that U.S. PATENT DOCUMENTS may be implemented efficiently in hardware or software. 4.078,152 3/1978 Tuckerman, III ......................... 380/37 The algorithm makes heavy use of data-dependent rotations. 4,157,454 6/1979 Becker .............. ... 380/37 The amount of each rotation depends on the data being 4.249,180 2/1981 Eberde et al. ... 380/37 encrypted and intermediate encryption results. The variables 4,255,811 3/1981 Adler ........ ... 380/37 for the algorithm include word size, rounds, and the length 4,724.541 2/1988 Mallick. ..., 380/28 5,003.597 3/1991 Merkle .......... ... 38037 of a secret key. 5,054.067 10/1991 Moroney et al 380/37 5,214,704 5/1993 Mittenthal ................................. 380/37 16 Claims, 4 Drawing Sheets ENCRYPTION U.S. Patent Mar. 3, 1998 Sheet 1 of 4 5,724,428 KEY EXPANSION ALOGORTHM FIG. 1A U.S. Patent Mar. 3, 1998 Sheet 2 of 4 5,724,428 ENCRYPTION FIG 1B U.S. Patent Mar. 3, 1998 Sheet 3 of 4 5,724,428 DECRYPTION FIG. 1C U.S. Patent Mar. 3, 1998 Sheet 4 of 4 5,724,428 104 102 PROCESSOR MEMORY 118 OEXECUTABLE CODE O PLAN TEXT 108 32 o KEY TABLE e ENCRYPTED TEXT UNSECURE CHANNEL CONTROL, BLOCK MEMORY OEXECUTABLE CODE o PLAIN TEXT o ENCRYPTED TEXT 110 o KEY TABLE FIG. 2 5,724.428 1. 2 BLOCK ENCRYPTIONALGORTHM WITH The cipher is suitable for implementation in hardware and DATA-DEPENDENT ROTATIONS software. To this end, the cipher invokes primarily compu tational primitive operations that are commonly found and BACKGROUND AND FELD OF INVENTION executed on conventional microprocessors. The cipher is exceptionally simple and short, especially in its encryption/ The present invention relates broadly to cipher methods decryption algorithms. The simplicity and brevity of the and devices, and in particular to block-cipher cryptographic cipher allows for easy implementation and analysis, as methods and devices. The invention also has applicability in compared to other block ciphers. In a preferred embodiment other fields, such as that of pseudo-random number genera of the cipher, its algorithms do not resort to operations that tors used in randomized computations. Generally, crypto 10 are difficult to execute on conventional processors. The graphic devices are used to encrypt and decrypt data trans cipher is also fast. To achieve its speed, the cipher is mitted through communication and transmission systems. word-oriented. The basic computational operations used in Typically, the data is encrypted at the transmitting station the cipher are operations that act on complete words of data, utilizing a unique key, and transmitted in its encrypted form. rather than smaller segments of words. Moreover, the cipher At the receiving station, the encrypted data is passed through 15 requires minimal memory and may be readily implemented a decryption unit supplied with the same unique key such on smart cards. and other computing and data processing that clear text is output from the decrypt section of the devices with limited available memory. receiver. An example of a conventional block-cipher cryp The cipher employs parameterized algorithms with sev tographic system is the Data Encryption Standard (DES). eral variable parameters. The variable parameters include: DES and other block-cipher systems are described in word size (w), rounds (r) of data rotations, and secret key Schneier. Applied Cryptography, pp. 154-185 and 219–272. length (b). The flexibility afforded by these variable param John Wiley & Sons, Inc. (1993). This text in its entirety eters allows the cipher to be tailored to match the word size provides a good general description of cryptography and used in a selected processor, and to suit the security and block-cipher systems. speed requirements of a particular cryptographic applica A novel aspect of the cipher of the present invention is its 25 tion. The cipher may be adapted to processors of different heavy use of data-dependent rotations and employing inter word-lengths by having the number of bits "w" in a word be mediate encryption results to determine the amount of each a variable parameter of the cipher. For example, the word rotation of the data being encrypted. The invention is one of length of the cipher may be set for the relatively-long word the first to use data dependant rotation for encryption. An lengths used by 64-bit processors, as those processors example of a prior cipher that employs data-dependent 30 become available. The number of rounds "r" is a second rotations is described in W. E. Madryga "A High Perfor variable parameter of the cipher. By properly selecting the mance Encryption Algorithm' Computer Security: A Global number of rounds, the execution speed of the cipher may be Challenge. pp. 557-70 (1994). The Madryga cipher lacks balanced with the security requirements for the application the broad generality and flexibility afforded by the present of the cipher. invention and does not have a so-called "Feistel" (DES-like) 35 It is another objective of the inventive cipher to have a structure, as has the present invention. Moreover, doubts variable-length cryptographic key. Since the cipher is have been expressed about the strength of the Madryga symmetric, the same secret cryptographic key is used for algorithm. See Schneier. Applied Cryptography, pp. both encryption and for decryption. By properly selecting 244-247. Another example of data-dependant rotation in a the length of the key, the cipher can be tailored to provide cipher is described in U.S. Pat. No. 4157.454, entitled the desired level of security that is appropriate for a par "Method And System For Machine Enciphering And Deci ticular application or other requirement. The key length "b" phering” which discloses a cipher algorithm having rotation (in bytes) is the third selectable parameter of the cipher. By dependent on a key, rather than on the message. These prior selecting a relatively-long key length "b", the resulting examples of data-dependent rotation in a cipher are few and cipher application will have a relatively-high degree of infrequent. Most of the prior art ciphers that have used 45 rotation, do not make the rotation data dependent. Examples security against an exhaustive search of each possible key. of ciphers using rotation that is not data dependent, include Similarly, a short key length is believed to provide a lesser FEAL and the ciphers disclosed in U.S. Pat. Nos. 5.351,299 degree of security. ("Apparatus And Method For Data Encryption With Block The inventive cipher, its potential applications and Selection Keys And Data Encryption Keys"); 5,045,067 50 implementations, and other objectives of the cryptographic ("Block-Cipher Cryptographic Device Based Upon A Pseu system of the present invention will become more apparent dorandom Nonlinear Sequence Generator"); 5,003.597 by the following detailed description of the invention. With (Method And Apparatus For Data Encryption) and 4.255. the inventive cipher, a flexible data encryption system is 811 ("Key Controlled Block Cipher Cryptographic available that can be tailored to particular applications and System"). meet specific security requirements. In addition, the inven 55 tive data encryption system is capable of being processed at SUMMARY OF NVENTION high speeds and/or high security for use in open digital An encryption algorithm has been invented that is a fast, communication. Moreover, the invention is applicable to block cipher. A novel feature of the cipher is its heavy use other uses, such as pseudo-random number generation. of data-dependent rotations which are an intriguing crypto BRIEF DESCRIPTION OF DRAWINGS graphic primitive. Data-dependent rotations operate such that one word of intermediate results is cyclically rotated by The objectives, advantages and features of the invention an amount determined for example, by some low-order bits will become more apparent from the following description of another word of the intermediate results. The data that includes the accompanying drawings and detailed writ dependent rotations in the cipher should frustrate differential 55 ten description. In the drawings: cryptanalysis and linear cryptanalysis, which are two pow FIGS. 1A, 1B and 1C are a series of flow charts showing erful techniques for cryptanalyzing block ciphers. a sequence of executable instructions for preforming an 5,724,428 3 4 exemplary key expansion (FIG. 1A), encryption (Fig. 1B) These primitive operations are directly and efficiently sup and decryption (FIG. 1C), all in accordance with an embodi ported by most processors. ment of the present invention, and A novel feature of the cipher is that the rotations are FIG.