|  | <<  
             ^ 
              >> 
            
              | Date: 2000-04-18 
 
 Crypto: Nachfolge von DES-.-. --.- -.-. --.- -.-. --.- -.-. --.- -.-. --.- -.-. --.-
 
 MARS oder Twofish, Rijndael, Serpent oder RC6 - wer wird
 der Algorithmus sein, der den antiken DES ablöst? Bruce
 Schneier [Mitautor von Twofish] zählt Vor- und Nachteile der
 Kandidaten auf.
 -.-. --.-  -.-. --.-  -.-. --.-  -.-. --.-  -.-. --.-  -.-. --.-
 The Advanced Encryption Standard (AES) is the forthcoming
 encryption standard that will replace the aging DES.  In 1996,
 the National Institute of Standards and Technology (NIST)
 initiated this program.  In 1997, they sent out a call for
 algorithms.  Fifteen candidates were accepted in 1998,
 whittled down to five in 1999.  This past week was the Third
 AES Candidate Conference in New York.  Attendees
 presented 23 papers (in addition to the 7 AES-related papers
 presented at Fast Software Encryption earlier in the week)
 and 12 informal talks (more papers are on the AES website),
 as NIST prepares to make a final decision later this year.
 
 Several of the algorithms took a beating cryptographically.
 RC6 was wounded most seriously: two groups were able to
 break 15 out of 20 rounds faster than brute force.  Rijndael
 fared somewhat better: 7 rounds broken out of 10/12/14
 rounds.  Several attacks were presented against MARS, the
 most interesting breaking 11 of 16 rounds of the
 cryptographic core.  Serpent and Twofish did best: the most
 severe Serpent attack broke 9 of 32 rounds, and no new
 Twofish attacks were presented.  (Lars Knudsen presented
 an attack at the FSE rump session, which he retracted as
 unworkable two days later.  Our team also showed that an
 attack on reduced-round Twofish we presented earlier did not
 actually work.)
 
 It's important to look at these results in context.  None of
 these attacks against reduced-round variants of the
 algorithms are realistic, in that they could be used to recover
 plaintext in any reasonable amount of time.  They are all
 "academic" attacks, since they all show design weaknesses
 of the ciphers.  If you were using these algorithms to keep
 secrets, none of these attacks would cause you to lose
 sleep at night.  If you're trying to select one of five algorithms
 as a standard, all of these attacks are very interesting.
 
 As the NSA saying goes: "Attacks always get better; they
 never get worse." When choosing between different
 algorithms, it's smarter to pick the one that has the fewest
 and least severe attacks.  (This assumes, of course, that all
 other considerations are equal.) The worry isn't that someone
 else discovers another unrealistic attack against one of the
 ciphers, but that someone turns one of those unrealistic
 attacks into a realistic one.  It's smart to give yourself as
 large a security margin as possible.
 
 Many papers discussed performance of the various
 algorithms.  If there's anything I learned, it's that you can
 define "performance" in all sorts of ways to prove all sorts of
 things.  This is what the trends were:
 
 In software, Rijndael and Twofish are fastest.  RC6 and
 MARS are also fast, on the few platforms that have fast
 multiplies and data-dependent rotates.  They're slow on
 smart cards, ARM chips, and the new Intel chips (Itanium
 and beyond).  They're fast on Pentium Pro, Pentium II, and
 Pentium III.  Serpent is very slow everywere.
 
 In hardware, Rijndael and Serpent are fastest.  Twofish is
 good.  RC6 is poor, and MARS is terrible.
 
 The only two algorithms that had such implementation
 problems that I would categorically eliminate them were Mars
 and RC6.  MARS is so bad in hardware that it would be a
 disaster for Internet applications, and RC6 is close.  And
 both algorithms just don't fit on small smart cards.  (The RC6
 team made a comment about being suitable for cheap--$5--
 smart cards.  I am talking about $0.25 smart cards.)
 
 I would increase the number of rounds in Rijndael to give it a
 safety margin similar to the others.  Either Serpent, Twofish,
 and 18-round Rijndael would make a good standard, but I
 think that Twofish gives the best security to performance
 trade-off of the three, and has the most implementation
 flexibility.  So I support Twofish for AES.
 
 The deadline for comments is May 15.  I urge you to
 comment.  As many of the papers and comments indicate,
 this decision is more about suitability than security.  NIST
 needs to know what is important to you: efficiency on cheap
 8-bit smart cards, key agility in hardware, bulk encryption
 speed, gate count in hardware, etc.  If you like the idea of
 multiple algorithms, tell them.  If you don't, tell them.  Once
 NIST chooses an AES we're all going to be stuck with it;
 customers will demand that products be "AES compatible."
 Now's your chance to influence how onerous that demand will
 be.
 
 NIST AES website: <http://www.nist.gov/aes>
 
 For the record, I am one of the creators of Twofish:
 <http://www.counterpane.com/twofish.html>
 
 
 
 -.-  -.-.
 Connectivity statt Isolierung
 http://o5.or.at
 -.-. --.- -.-. --.-  -.-. --.-  -.-. --.-  -.-. --.-  -.-. --.-
 - -.-. --.- -.-. --.- -.-. --.- -.-. --.- -.-. --.- -.-. --.-
 edited by Harkank
 published on: 2000-04-18
 comments to office@quintessenz.at
 subscribe Newsletter
 - -.-. --.- -.-. --.- -.-. --.- -.-. --.- -.-. --.- -.-. --.-
 <<  
                   ^ 
                    >>
 |  |  |  |