home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD1.iso / Disk&HD / DCN-DP12.LHA / DiskProtection / Docs / FEAL.doc < prev    next >
Encoding:
Text File  |  1995-05-07  |  5.1 KB  |  168 lines

  1.  
  2.                                    FEAL
  3.                         A Fast Encryprion ALgorithm
  4.                                Version 1.03
  5.                   Copyright 1992,94 Christian von Roques
  6.                       
  7.                       
  8.                       
  9.                  License/Disclaimer
  10.                  ------------------
  11.  
  12.     This library may be freely distributed with the XPK compression package,
  13. as long as it is kept in its original, complete, and unmodified form.  It
  14. may not be distributed by itself or in a commercial package of any kind
  15. without my permission.
  16.  
  17.     This program is distributed in the hope that it will be useful, but
  18. WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
  19. or FITNESS FOR A PARTICULAR PURPOSE.
  20.  
  21.     This program is at most as strong as FEAL itself.  So, we urge the user
  22. to use this program only after he has assured himself that FEAL is strong
  23. enough AND he has read the source code of this program and its libraries AND
  24. he has compiled the program himself with a troyan-free compiler.  WE DO NOT
  25. GUARANTEE THAT THIS PROGRAM IS A DECENT ENCRYPTION PROGRAM.
  26.  
  27.  
  28.                 Description
  29.                 -----------
  30.  
  31.     xpkFEAL is an XPK encryption sublibrary which implements the FEAL-N data
  32. encryption algorithm in CBC1 mode.  FEAL-N has been developed at the NTT
  33. Communications and Informnation Processing Labs. in 1988.
  34.  
  35.     FEAL-N is a blockchifre, which encryptes a datablock of 64Bit to a 64Bit
  36. codeblock using a 64Bit external key.  FEAL mainly consists of a loop which
  37. is taken N times.  The loopbody encodes half of the data using a 16Bit
  38. internal key and swaps the encoded half with the other one.  The 64Bit
  39. external key is expanded to N * 16Bit internal keys.
  40.  
  41.     FEAL was designed to be a replacement of DES.  DES can be easy made fast
  42. using special purpose hardware, but is a pain to be implemented in software
  43. using conventional hardware.  Since FEAL only uses 8Bit add, rol and eor
  44. operations, it is designed to be implemented in software.  
  45.  
  46.     (Btw.: FEAL is one of the few algorithms which is easier to implement
  47. using the 80x86 processorarchitecture than the 680x0 because of the 80x86s
  48. splitable registers.)
  49.  
  50.  
  51.                Speed and Memoryusage
  52.                ---------------------
  53.  
  54.           Rounds   Memory   En-/Decryptioncryption
  55.                Usage            Speed
  56.           ------   ------   ----------------------
  57.                4       1K           190 K/sec
  58.                8       1K           144 K/sec
  59.               16       1K            96 K/sec
  60.               32       1K            58 K/sec
  61.               64       1K            33 K/sec
  62.                       
  63.  
  64.                    Safety
  65.                    ------
  66.  
  67.     Rounds    Safety (? ;-)
  68.     ------    -------------
  69.      4    unsafe, broken (Murphy 1990)
  70.  
  71.      8    unbreakable for ``normal'' people
  72.  
  73.     16    good Cryptoanalysists can decypher this with less
  74.      (default)    then testing all possible keys.  But it can be valued
  75.         as ``safe'' anyway.
  76.  
  77.     32    There is no known better method of breaking this
  78.         than testing all 2^64 possible keys.
  79.  
  80.     64    Only paranoids will use this.
  81.         ( But real paranoiac don't use FEAL )
  82.  
  83.  
  84.                   History of FEAL
  85.                   ---------------
  86.  
  87.   1985    first proposal to ISO ( FEAL-1, FEAL-1', FEAL-2 )
  88.   1987    FEAL-4 presented on Eurocrypt.
  89.   1987    attack on FEAL-4 by B. den Boer. ( Crypto 1987 )
  90.     => doubled the number of rounds: FEAL-8
  91.   1988    FEAL-N proposed (N even >=4)
  92.   1988  FEAL-NX proposed (N even >=4)
  93.         different method to calculate partial keys
  94.     => 128Bit key instead of 64Bit
  95.  
  96.  
  97.                  published attacks
  98.                  -----------------
  99.  
  100.  o B. den Boer (1987: FEAL-4; 100-10000 choosen plaintexts)
  101.  o Murphy (1990: FEAL-4; 4 choosen plaintext)
  102.  o Gilbert Chasse (1990: FEAL-8; statistically)
  103.  o Bilham, Shamir (1990: FEAL-4. FEAL-8, FEAL-N, FEAL-NX)
  104.    differencial Cryptoanalysis:
  105.    => for up to 31 rounds better than testing all keys.
  106.  o Gilbert (1991: FEAL-4, FEAL-6; 20000 knowm plaintexts)
  107.  
  108.  
  109.              published versions of FEAL
  110.              --------------------------
  111.  
  112.   name     rounds       key   internal key
  113.   ----     ------       ---   ------------
  114.   FEAL-1    4     64    4*16+2*32
  115.  
  116.   FEAL-2    6    128    6*16+2*32
  117.  
  118.   FEAL-1'
  119.   FEAL-1.00    4     64    4*16+2*64
  120.   FEAL-4
  121.  
  122.   FEAL-2.00
  123.   FEAL-8    8     64    8*16+2*64
  124.  
  125.   FEAL-N    N     64    N*16+2*64
  126.  
  127.   FEAL-NX    N    128    N*16+2*64
  128.  
  129.  
  130.              Version History of xpkFEAL
  131.              --------------------------
  132.  
  133.     1.0     First public release.
  134.  
  135.     1.02    Fixed a stupid typo, which did not prevent the user from
  136.         encrypting with an uneven number of rounds.
  137.  
  138.     1.03    Previous versions filled the last block with junk, now
  139.         the last encrypted byte is length&7.
  140.         Minor speedups in the assembler part.
  141.  
  142.  
  143.                 Future Plans
  144.                 ------------
  145.  
  146.     Support the other 3 standard modes. (ECB, CFB and OFB)
  147.     Improve the speed.
  148.  
  149.  
  150.                   Contact Address
  151.                   ---------------
  152.  
  153.     Christian von Roques            Christian von Roques
  154.     Forststrasse 71        or        Kastanienweg 4
  155.   D-76131 Karlsruhe 1                  W-78713 Schramberg
  156.     GERMANY                    GERMANY
  157.  
  158.     roques@ira.uka.de                IRCnick: Nescum
  159.     roques@pond.sub.org
  160.  
  161.  
  162.     +----------------------------------------------------------+
  163.     |  Questions regarding FEAL-N can be referred to:          |
  164.     |    Mr. Shoji  Miyaguchi                                  |
  165.     |    Communications and Information Processing Labs., NTT  |
  166.     |    1-2356, Take, Yokosuka-shi, 238-03, JAPAN             |
  167.     +----------------------------------------------------------+
  168.