The FEAL Cipher Family
Total Page:16
File Type:pdf, Size:1020Kb
The FEAL Cipher Family Shoji MYAGUCHI Co,mmvnications and Information Processing Laboratories, NTT l-2356, Take, Yokosuka-shi, I{anagawa, 23843 Japan 1 FEAL cipher family FEAL-8 has been expanded to FEAL-N (N round FEAL with 64-bit key), where FEAL-N with N=4/8 is identical to FEAL-4/- 8 which have been previously published respectively. N is a user defined parameter (N>4, N:even, N=2”, 2 >2 is recommended). FEAL-N has also been expanded to FEAL-NX (X: expansion, N round FEAL with 12%bit key) that accepts la&bit keys. When the right half of the 128-bit key is all zeros, FEAL-NX works as FEAL-N. Upward compatibility is an important concept of the FEAL cipher family (I]. 2 Round number N The author believes that most cipher applications can avoid cho- sen plaintext attacks by the countermeasures described in Annex-l. Increased N in FEAL-N or FEAL-NX can avoid chosen plaintext at- tacks. Where the countermeasures are applicable, small values of N (eg. N=8) should b e used. If none of the countermeasures can be applied or their effectiveness is unclear, the value of N in FEAL-N or FEAL-NX should be increased. 3 64-bit key and 128-bit key The author thinks that exhaustive searches for FEAL-N 64-bit keys may be possible if LSI technology advances sufficiently, as shown in Annex-2. He feels that FEAL-N may weaken against exhaustive search within one to two decades. Therefore, FEAL-NX which ac- cepts 128-bit keys has been designed. A.J. Menezes and S.A. Vanstone (Eds.): Advances in Cryptology - CRYPT0 ‘90, LNCS 537, pp. 627-638, 1991. 0 Springer-Verlag Berlin Heidelberg 1991 629 ECB mode. This case includes the situation where the attacker uses the tool without permission of the victim. 2 Countermeasures One of the following may lie effective to prevent the attack. (1) Elimination of cooperation and improper use A cipher user should not encipher data from outside (possible chosen plaintexts) in the ECB mode using his secret key, and then return the ciphertexts so generated. He also should not provide an encipherment tool that outputs data enciphered in the ECB mode using the user’s secret key, i.e. eliminate user cooperation with the attacker, improper uses of the cipher as in Case-1 or Case-2 above. (2) Inhibitation of the ECB ECB mode should be inhibited, and CBC or CFB modes (feed- back modes, see IS08372) should be used(t). Initial va41uesof each mode are changed with each use of the cipher. The cipher user de- termines the initial value, IV, with his rule that is secret to others (possible attackers). The value of IV may be revealed after the first block of plaintexts is given. If the initial value IV must be sent to the receiver, it can be appended to the head of the ciphertext. t : 1nternationa.l standards, IS08732, IS09160 and IS010126, rec- ommend the use of CBC or CFB modes in cipher communications. (3) Key changes : The key, the target of chosen plaintext attack should be changed after each key use (tt). tt : International standard, IS08732, recommends that the key be changed for each communication session. (4) Miscellaneous: Individual countermeasures can be devel- oped for each cipher application. For instance, if the volume of cho- sen plaintexts is 1 Mega-byte, maximum data is limited to a lesser volume (eg. 100 kilo-byte) within one key lifetime. Annex-2 Exhaustive search for 64-bit keys 1 Progress of LSI C-MOS technology A rough approximation is that LSI processing speed is inversely proportional to the channel width while LSI integrated transistor density is inversely proportional to the square of the channel width. The past decade has shown that LSI channel width has decreased to one third of the original width; consequently, processing speeds 630 have roughly tripled and the transister density has increased by a factor of 10. It is predicted that similar LSI technology advances will continue in the future. 2 FEAL-attack LSI chip Assume that a special FEAL-attack LSI chip can be fabricated, i.e., enciphering speed of the chip is 3 times the current speed, 300 Mbps E 3~ 96 Mbps (3x speed of current FEAL-8 chip). The chip has ten FEAL-N processing elements, while chip price is 20 US dollars. 3 Exhaustive search equipment The equipment includes 100,000 FEAL-attack chips. The eqip- ment inputs one plaintext (P)and its ciphertext (C) which was en- ciphered by a secret key, and enciphers P repeatedly and in parallel using key 1i-i for i from i=l to 264, producing ciphertext C, and com- paring C, to C. Here, the key I<t is generated in the equipment. If the equipment finds C, = C, it outputs the value of I<;. The encipher- ing speed (V) of the equipment is V = 300~10~(bps)x105(chips)x10 [ FEAL-8 processing elements/chip) = 300 Tera-bps. Assume that the equipment price is ten times the total chip cost. For reference, the equipment cannot be re-designed to input and/or output texts at a speed of 300 Tera-bys because it is technically impossible. 4 Equipment performance Let p be the probability to discover the secret key. Then the price of the equipment and the time to discover the key are given as: (a) the price = 20 US (dollars/chip)x 100,000 (chips) x 18 (times) = 20 million US dollars, (b) the time = ((a6* x 64{bits))/(300x1O6 (bps)x lo5(chips) x 10 (FEAL-8 processing elements/chip) x 8.64 X lo4 (sec/day) ) x p M 4.5 days x p). That is: Equipment price (million dollars) x Time to discover the key (days) M 20 x 45x p (million dollarsxdays) 5 Coiiclusion FEAL-N (64-bit key) may weaken against exhaustive search within one to two decades. Reference: Exhaustive search for DES 56-bit keys (a) the price: 20 million US dollars (the same as above) (11) the time = ((256x 64 (bits))/(3 x 2O(t)x1O6(bps)xlO5(chips) x 10 (DES elements/chip) ~8.64x lo4 [sec/day) ) zz 1 days ). t 20 Mbps (approximate speed of DES chip) 631 Annex-3 Comparison of Chosen plaintext attack and Ex- haustive search The author believes that a chosen plaintext attack (CPA) on 264 hlocks is extremely ineffective, and cannot be equated with ex- haustive search on 264 keys, even if the count6rmearsures to cP.4 described in Anrider-1 am ignored. The reasons are: (a) A cipher user (victim) or attacker has to use encipherment equip- ment that inpiit/outputs texts at a speed of 300 Tera-bps which cannot he realized, if the speed of CPA is comparable with that for exhaustive search (see Clause 3 of Annex-2). (b) The sheer vollime of data to be transferred, 264 x 8 bytes (1.47 X lo2’ bytes), prevents CPA within any reasonable period or price. To the author, it seeins to be questionable to compare the num- her of chosen plaintext attacks with that of czhaustive search, when the number is very big such as 2(j4. This comparison may lead to the misunderstanding that both attacks might be equally strong. Annex-4 Prograniiniiig techniques for FEAL I’rograinniing exainples of S functions of FEAL are shown below. 1 Program example using 1-bit left rotation instruction If a I-bit (or 2-hit) left rotation is used, ,So/S1 Functions can be coded easily. S~(.l-l,Ll-2)= ICot2( (.XI + .Y2 + 1 ) mod 256 ) is given below in typical 16-bit pp assembly language. add R1, R2 ; Rl - (Itl) + (R2) mod ’256, where Xl/X? is in Rl/R2. inc R1 ; R1 - (Rl) + 1 rot R1 ; R1 + 1-bit left rotation on (Rl) rot R1 ; R1 - 1-bit left rotation on (Rl) 2 Table search technique: This is suitable for processors that have a base register to point the table. The idea is shown for SI(XI,X,) = Rot2( (-Y1 + X:! + 1) mod 256) Step-1: X - XI + Xr2 (add XI and X2.then sum is stored into X) Step-2: Y - 2-bit left rotation on (X+l) froin table pointed S 3 Note: Program coding of paired stages in FEAL data ran- domization is very useful to decrease dynamic program steps. 632 Annex-5 FEAL Specifications This Annex uses the following conventions and notations. (1) A,Ar, ... : blocks (2) (A,B, . .): concatenation of blocks in this order (3) A B: exclusive-or operation of A and B (4) C#J : zero block, 32-bits long (5) =: Transfer from left side to right side (6) Bit position: 1,2,3,. from the first left side bit (MSB) in a block towards the right. 1 FEAL options (1) Round number (N): Determines the round number (N) for FEAL data randomization, where N 2 4 and even. 2", x>2 is recom- mended. (2) Key parity: Indicates: (a) Use of key parity bits in a key-block, or (b) Non-use of key parity bits in a key-block 2 Enciphering algorithm Plaintext P is separated into Lo and I& of equal lengths (32 bits), i.e., P = (Lo,&). First, (Lo,&) = (Lo,Ro) @ (~~N,~~N+l,Ii'N+2,~~NS3) Next, (Lo,Ro) = (Lo,Ro) @ (4, Lo) Next, and calculate the equations below for r from 1 to N iteratively, Rr = Lr-I tz, f(&-1, ~{T-I) L, = R,--i where extended keys K,s are defined in Clause 4, and function f is defined in Clause 5.