home *** CD-ROM | disk | FTP | other *** search
-
- FEAL
- A Fast Encryprion ALgorithm
- Version 1.03
- Copyright 1992,94 Christian von Roques
-
-
-
- License/Disclaimer
- ------------------
-
- This library may be freely distributed with the XPK compression package,
- as long as it is kept in its original, complete, and unmodified form. It
- may not be distributed by itself or in a commercial package of any kind
- without my permission.
-
- This program is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- or FITNESS FOR A PARTICULAR PURPOSE.
-
- This program is at most as strong as FEAL itself. So, we urge the user
- to use this program only after he has assured himself that FEAL is strong
- enough AND he has read the source code of this program and its libraries AND
- he has compiled the program himself with a troyan-free compiler. WE DO NOT
- GUARANTEE THAT THIS PROGRAM IS A DECENT ENCRYPTION PROGRAM.
-
-
- Description
- -----------
-
- xpkFEAL is an XPK encryption sublibrary which implements the FEAL-N data
- encryption algorithm in CBC1 mode. FEAL-N has been developed at the NTT
- Communications and Informnation Processing Labs. in 1988.
-
- FEAL-N is a blockchifre, which encryptes a datablock of 64Bit to a 64Bit
- codeblock using a 64Bit external key. FEAL mainly consists of a loop which
- is taken N times. The loopbody encodes half of the data using a 16Bit
- internal key and swaps the encoded half with the other one. The 64Bit
- external key is expanded to N * 16Bit internal keys.
-
- FEAL was designed to be a replacement of DES. DES can be easy made fast
- using special purpose hardware, but is a pain to be implemented in software
- using conventional hardware. Since FEAL only uses 8Bit add, rol and eor
- operations, it is designed to be implemented in software.
-
- (Btw.: FEAL is one of the few algorithms which is easier to implement
- using the 80x86 processorarchitecture than the 680x0 because of the 80x86s
- splitable registers.)
-
-
- Speed and Memoryusage
- ---------------------
-
- Rounds Memory En-/Decryptioncryption
- Usage Speed
- ------ ------ ----------------------
- 4 1K 190 K/sec
- 8 1K 144 K/sec
- 16 1K 96 K/sec
- 32 1K 58 K/sec
- 64 1K 33 K/sec
-
-
- Safety
- ------
-
- Rounds Safety (? ;-)
- ------ -------------
- 4 unsafe, broken (Murphy 1990)
-
- 8 unbreakable for ``normal'' people
-
- 16 good Cryptoanalysists can decypher this with less
- (default) then testing all possible keys. But it can be valued
- as ``safe'' anyway.
-
- 32 There is no known better method of breaking this
- than testing all 2^64 possible keys.
-
- 64 Only paranoids will use this.
- ( But real paranoiac don't use FEAL )
-
-
- History of FEAL
- ---------------
-
- 1985 first proposal to ISO ( FEAL-1, FEAL-1', FEAL-2 )
- 1987 FEAL-4 presented on Eurocrypt.
- 1987 attack on FEAL-4 by B. den Boer. ( Crypto 1987 )
- => doubled the number of rounds: FEAL-8
- 1988 FEAL-N proposed (N even >=4)
- 1988 FEAL-NX proposed (N even >=4)
- different method to calculate partial keys
- => 128Bit key instead of 64Bit
-
-
- published attacks
- -----------------
-
- o B. den Boer (1987: FEAL-4; 100-10000 choosen plaintexts)
- o Murphy (1990: FEAL-4; 4 choosen plaintext)
- o Gilbert Chasse (1990: FEAL-8; statistically)
- o Bilham, Shamir (1990: FEAL-4. FEAL-8, FEAL-N, FEAL-NX)
- differencial Cryptoanalysis:
- => for up to 31 rounds better than testing all keys.
- o Gilbert (1991: FEAL-4, FEAL-6; 20000 knowm plaintexts)
-
-
- published versions of FEAL
- --------------------------
-
- name rounds key internal key
- ---- ------ --- ------------
- FEAL-1 4 64 4*16+2*32
-
- FEAL-2 6 128 6*16+2*32
-
- FEAL-1'
- FEAL-1.00 4 64 4*16+2*64
- FEAL-4
-
- FEAL-2.00
- FEAL-8 8 64 8*16+2*64
-
- FEAL-N N 64 N*16+2*64
-
- FEAL-NX N 128 N*16+2*64
-
-
- Version History of xpkFEAL
- --------------------------
-
- 1.0 First public release.
-
- 1.02 Fixed a stupid typo, which did not prevent the user from
- encrypting with an uneven number of rounds.
-
- 1.03 Previous versions filled the last block with junk, now
- the last encrypted byte is length&7.
- Minor speedups in the assembler part.
-
-
- Future Plans
- ------------
-
- Support the other 3 standard modes. (ECB, CFB and OFB)
- Improve the speed.
-
-
- Contact Address
- ---------------
-
- Christian von Roques Christian von Roques
- Forststrasse 71 or Kastanienweg 4
- D-76131 Karlsruhe 1 W-78713 Schramberg
- GERMANY GERMANY
-
- roques@ira.uka.de IRCnick: Nescum
- roques@pond.sub.org
-
-
- +----------------------------------------------------------+
- | Questions regarding FEAL-N can be referred to: |
- | Mr. Shoji Miyaguchi |
- | Communications and Information Processing Labs., NTT |
- | 1-2356, Take, Yokosuka-shi, 238-03, JAPAN |
- +----------------------------------------------------------+
-