Changeset 329 for trunk/CrypPlugins/TEA


Ignore:
Timestamp:
May 28, 2009, 6:34:02 PM (13 years ago)
Author:
Sören Rinne
Message:
  • added description for XTEA
  • changed rounds of TEA from 32 to 64
Location:
trunk/CrypPlugins/TEA
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/CrypPlugins/TEA/DetailedDescription/Description.xaml

    r84 r329  
    1616      <Run FontSize="14.6666666666667" xml:lang="de-de">TEA operates on 64-bit blocks and uses a 128-bit key. It has a Feistel structure with a suggested 64 rounds, typically implemented in pairs termed cycles. It has an extremely simple key schedule, mixing all of the key material in exactly the same way for each cycle. Different multiples of a magic constant are used to prevent simple attacks based on the symmetry of the rounds. The magic constant, 2654435769 (Decimal) or 9E3779B9 (Hex) is chosen to be (2^32 / phi) where phi is the golden ratio.</Run>
    1717  </Paragraph>
     18 
     19  <Paragraph>
     20      <Run FontWeight="Bold" FontSize="18.6666666666667" xml:lang="de-de">
     21          <Run.TextDecorations>
     22              <TextDecoration Location="Underline" />
     23          </Run.TextDecorations> XTEA (eXtended TEA)
     24      </Run>
     25  </Paragraph>
     26  <Paragraph>
     27      <Run FontSize="14.6666666666667" xml:lang="de-de">In cryptography, XTEA (eXtended TEA) is a block cipher designed to correct weaknesses in TEA. The cipher's designers were David Wheeler and Roger Needham of the Cambridge Computer Laboratory, and the algorithm was presented in an unpublished technical report in 1997 (Needham and Wheeler, 1997).</Run>
     28  </Paragraph>
     29  <Paragraph>
     30      <Run FontSize="14.6666666666667" xml:lang="de-de">Like TEA, XTEA is a 64-bit block Feistel network with a 128-bit key and a suggested 64 rounds. Several differences from TEA are apparent, including a somewhat more complex key-schedule and a rearrangement of the shifts, XORs, and additions.</Run>
     31  </Paragraph>
    1832</FlowDocument>
  • trunk/CrypPlugins/TEA/TEA.cs

    r328 r329  
    375375            uint sum = 0;
    376376            uint delta = 0x9e3779b9;
    377             uint n = 32;
     377            uint n = 64;
    378378
    379379            while (n-- > 0)
     
    395395        private void decode_tea(uint[] v, uint[] k)
    396396        {
    397             uint n = 32;
    398             uint sum = 0xC6EF3720;
     397            uint n = 64;
     398            uint sum = 0x8DDE6E40; // for 64 rounds, for 32 rounds it would be 0xC6EF3720
    399399
    400400            uint k0 = k[0], k1 = k[1], k2 = k[2], k3 = k[3];
Note: See TracChangeset for help on using the changeset viewer.