20050154874 | Setting in wireless communication device for encrypted communication | July, 2005 | Koga |
20090086965 | SECURE, TWO-STAGE STORAGE SYSTEM | April, 2009 | Glendinning |
20070019580 | Method for wireless network re-selection in a plurality of networks environment | January, 2007 | Zhang et al. |
20080152146 | Private and Controlled Ownership Sharing | June, 2008 | Conrado et al. |
20050120123 | Digital item adaptation negotiation mechanism | June, 2005 | Huang et al. |
20090208006 | Encryption system for satellite delivered television | August, 2009 | Candelore |
20080130875 | Low-cost pseudo-random nonce value generation system and method | June, 2008 | Ahlquist |
20090199016 | Storage system, and encryption key management method and encryption key management program thereof | August, 2009 | Kishi |
20080155252 | VLAN tunneling | June, 2008 | Nambiar |
20020018566 | Apparatus and method for disribution of contents | February, 2002 | Kawatsura et al. |
20030074319 | Method, system, and program for securely providing keys to encode and decode data in a storage cartridge | April, 2003 | Jaquette |
[0001] This is a continuation application of co-pending application Ser. No. 09/369,382, filed Aug. 5, 1999, entitled “METHOD AND APPARATUS FOR ENCRYPTING DATA IN A WIRELESS COMMUNICATION SYSTEM,” which is a continuation application of U.S. Pat. No. 6,075,859, filed Mar. 11, 1997, entitled “METHOD AND APPARATUS FOR ENCRYPTING DATA IN A WIRELESS COMMUNICATION SYSTEM,” issued to Gregory Rose on Jun. 13, 2000, both assigned to the assignee hereof and hereby expressly incorporated by reference herein.
[0002] I. Field of the Invention
[0003] The present invention relates to communications systems. More particularly, the present invention relates to a novel and improved method for encrypting data for security in wireless communication systems.
[0004] II. Description of the Related Art
[0005] In a wireless communication system, it is desirable for the service provider to be able to verify that a request for service from a remote station is from a valid user. In some current cellular telephone systems, such as those deploying the AMPS analog technology, no provision is made to deter unauthorized access to the system. Consequently, fraud is rampant in these systems. One fraudulent means for obtaining service is known as cloning, in which an unauthorized user intercepts the information necessary to initiate a call. Subsequently, the unauthorized user can program a mobile telephone using the intercepted information and use that telephone to fraudulently receive telephone service.
[0006] To overcome these and other difficulties, many cellular telephone systems have implemented authentication schemes such as that standardized by the Telecommunications Industry Association (TIA) in EIA/TIA/IS-54-B. One facet of this authentication scheme is encryption of information, transmitted over the air, that is required to receive service. This information is encrypted using the Cellular Message Encryption Algorithm (CMEA). The CMEA algorithm is disclosed in U.S. Pat. No. 5,159,634, entitled “CRYPTOSYSTEM FOR CELLULAR TELEPHONY”, incorporated by reference herein.
[0007] Several major weaknesses have been discovered in CMEA which allow encrypted information to be deciphered using current standard computational equipment in a relatively short period of time. These weaknesses will be thoroughly outlined hereinafter followed by a description of the present invention which overcomes these weaknesses. CMEA has been published on the Internet, hence these weaknesses are open for discovery by anyone with an interest in doing so. Thus, a new algorithm for encryption is desirable to replace CMEA to avoid the interception and fraudulent use of authentication information necessary to initiate cellular service.
[0008] The present invention is a novel and improved method for data encryption. The present invention is referred to herein as Block Encryption Variable Length (BEVL) encoding, which overcomes the identified weaknesses of the CMEA algorithm. The preferred embodiment of the present invention has the following properties:
[0009] Encrypts variable length blocks, preferably at least two bytes in length;
[0010] Self-inverting;
[0011] Uses very little dynamic memory, and only 512 bytes of static tables;
[0012] Efficient to evaluate on 8-bit microprocessors; and
[0013] Uses a 64 bit key, which can be simply modified to use a longer or shorter key.
[0014] The first weakness identified in CMEA is that the CAVE (Cellular Authentication Voice Privacy and Encryption) table used for table lookups is incomplete. It yields only 164 distinct values instead of 256. The existence of a large number of impossible values makes it possible to guess return values of tbox( ) or key bytes, and verify the guesses. This first weakness is mitigated in the present invention by replacing the CAVE table with two different tables chosen to eliminate the exploitable statistical characteristics of the CAVE table. These tables, called t
[0015] The second weakness of CMEA is the repeated use of the value of a function called tbox( ), evaluated at zero. The value tbox(
[0016] A related weakness in CMEA is that information gathered from analyzing texts of different lengths can generally be combined. The use of the second critical tbox( ) entry in BEVL depends on the length of the message and makes combining the analysis of different length texts less feasible.
[0017] A third weakness discovered in CMEA is incomplete mixing of upper buffer entries. The last n/2 bytes of the plaintext are encrypted by simply adding one tbox( ) value and then subtracting another value, the intermediate step affecting only the first half of the bytes. The difference between ciphertext and piaintext is the difference between the two values of tbox( ). BEVL addresses this third weakness by performing five passes over the data instead of three. The mixing, performed by CMEA only in the middle pass, is done in the second and fourth passes which mix data from the end of the buffer back toward the front. The middle pass of CMEA also guarantees alteration of at least some of the bytes to ensure that the third pass does not decrypt. In an improved manner, BEVL achieves this goal in the middle pass by making a key dependent transformation of the buffer in such a way that at most a single byte remains unchanged.
[0018] CMEA's fourth weakness is a lack of encryption of the least significant bit (LSB) of the first byte. The repeated use of tbox(
[0019] A fifth weakness of CMEA is that the effective key size is 60 rather than 64 bits. As such, each key is equivalent to 15 others. BEVL increases the number of table lookups while decreasing the number of arithmetic operations, ensuring that all 64 bits of the key are significant.
[0020] Finally, CMEA's tbox( ) function can be efficiently compromised by a meet-in-the-middle attack. Once four tbox( ) values are derived, the meet-in-the-middle attack can be accomplished with space and time requirements on the order of 2
[0021] The features, objects, and advantages of the present invention will become more apparent from the detailed description set forth below when taken in conjunction with the drawings in which like reference characters identify correspondingly throughout and wherein:
[0022]
[0023]
[0024]
[0025]
[0026]
[0027] The exemplary embodiment of the present invention consists of a first station
[0028] In
[0029] Memory
[0030] Encryption key
[0031] The data to be encrypted, data
[0032] Data
[0033] Encrypted data
[0034] Processor
[0035]
[0036] Block
[0037] In the preferred embodiment of the present invention, the passes are made in opposite directions. In alternative embodiments, passes could progress in the same direction, with alternating passes using the same or different tables (re-using the same table in multiple passes does make the encryption more robust, but not as robust as when different tables are used). Inserting additional passes is another alternative which can be used in combination with either approach. In the situation where passes are made in the same direction, modifications to the first buffer entry are more predictable, with predictability decreasing in modifications further down the buffer. When alternating opposite pass directions are used, the modification to the first byte in the buffer is fairly predictable. However, the modification to that byte in the second pass depends on all the bytes in the buffer, making it much less predictable. In similar fashion, the modification to the last byte in the buffer depends on all the bytes in the buffer during the first pass, while a more predictable change is made in the second. Since the predictability of change is distributed more evenly using passes in opposite directions, doing so is much preferable to using multiple passes in the same direction. Note that pass
[0038] In each pass, a function tbox( ) is used. It is in this function that key
[0039] where
[0040] k
[0041] B[x] is the xth 8-bit element of an array B;
[0042] ≈ denotes the bit-wise exclusive OR operation; and
[0043] + represents modulo 256 addition.
[0044] In an alternative embodiment, where a key of a certain length provides encryption that is considered too strong, the key strength can be artificially limited without changing the length of the key by altering the tbox( ) function. For example, a 64 bit key can be artificially limited to 40 bits by using the 64 bit key in such a manner that it is in an equivalence class of 2
[0045] where
[0046] k
[0047] B[x] is the xth 8-bit element of an array B;
[0048] ≈ denotes the bit-wise exclusive OR operation; and
[0049] + represents modulo 256 addition.
[0050] The tbox( ) function is designed such that each of the intermediate operations are permutations, meaning each input has a one-to-one mapping to an output. In the exemplary embodiment, the operations used are modulo 256 addition and logical exclusive OR. If the input value passed to tbox( ) is a permutation, and the table lookup is as well, the use of these functions guarantees that the output of tbox( ) will also be a one-to-one function. In other words, the tbox( ) function as a whole is guaranteed to be a permutation if the table passed to it also is. This is not the case for CMEA, where the steps in the tbox( ) function are not one-to-one. Therefore, in CMEA, even if the CAVE table, which is not a permutation, were to be replaced with a table which is a permutation, the output of tbox( ) still would not be a permutation. Conversely for BEVL, any choice of one-to-one functions for combining key material to generate the final permutation would be acceptable. The exemplary embodiment is one such method. Alternative methods can easily be substituted by those skilled in the art which still conform to this permutation principle of the present invention. Intermediate functions which do not preserve the one-to-one nature of the output can alternatively be employed in the BEVL tbox( ) function, but the results would be sub-optimal.
[0051] A further improvement included in the definition of tbox( ) is that some of the key bits are used both at the beginning and at the end. In the exemplary embodiment key byte k
[0052] The exemplary embodiment of BEVL details the use of the tbox( ) function in conjunction with the two tables t
[0053] The tables t
[0054] Any form of cryptanalysis of CMEA must begin by deriving values of the tbox( ) function. A complete analysis, where all outputs for the 256 possible inputs are known, allows CMEA to be applied even without knowing the initial key. However, recovery of the key is possible knowing as few as four distinct values of the function. Thus BEVL places emphasis on disguising the outputs from tbox( ) with other outputs, particularly the value of tbox(
[0055] In the preferred embodiment, the forward and backward passes use different tables, t
[0056] Begin pass
[0057] Begin pass
[0058] Pass
[0059] In pass
[0060] Begin pass
[0061] Begin pass
[0062] Proceed now to block
[0063] A “C” program implementing the operation described above is provided in
[0064] The previous description of the preferred embodiments is provided to enable any person skilled in the art to make or use the present invention. The various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments without the use of the inventive faculty. Thus, the present invention is not intended to be limited to the embodiments shown herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.