Block cipher/Catalogs/Cipher table: Difference between revisions

From Citizendium
Jump to navigation Jump to search
imported>Sandy Harris
No edit summary
imported>Sandy Harris
No edit summary
Line 1: Line 1:
<table border="1" cellpadding="2" cellspacing="0" class="sortable wikitable">
<table border="1" cellpadding="2" cellspacing="0" class="sortable wikitable">
<tr>
<tr>
   <th>Cipher</th><th>Type</th><th>Block size</th><th>Key size</th><th>Rounds</th><th>S-boxes</th><th>Standard in</th><th>[[AES competition]]</th><th>Comment</th>
   <th>Cipher</th><th>Type</th><th>Block size</th><th>Key size</th><th>Rounds</th><th>S-boxes</th><th>Round function has</th><th>Standard in</th><th>[[AES competition]]</th><th>Comment</th>
</tr>
</tr>


<tr>
<tr>
   <td>AES, [[Advanced Encryption Standard]]</td><td>SP network</td><td>128</td><td>128,192,256</td><td>10 to 14</td><td>one 8*8</td><td>US, 2002 onward</td><td>Winner</td><td>current US standard, widely used</td>
   <td>AES, [[Advanced Encryption Standard]]</td><td>SP network</td><td>128</td><td>128,192,256</td><td>10 to 14</td><td>one 8*8</td><td></td><td>US, 2002 onward</td><td>Winner</td><td>current US standard, widely used</td>
</tr>
</tr>


<tr>
<tr>
   <td>DES, [[Data Encryption Standard]]</td><td>Feistel</td><td>64</td><td>56</td><td>16</td><td>8 6*4</td><td>US, 1976-2002</td><td></td><td>obsolete, key too short against [[brute force]]</td>
   <td>DES, [[Data Encryption Standard]]</td><td>Feistel</td><td>64</td><td>56</td><td>16</td><td>8 6*4</td><td>bit permutation</td><td>US, 1976-2002</td><td></td><td>obsolete, key too short against [[brute force]]</td>
</tr>
</tr>
<tr>
<tr>
   <td>[[Blowfish]]</td><td>Feistel</td><td>64</td><td>up to 556</td><td>16</td><td>4 8*32, key-dependent</td><td></td><td></td><td>widely used</td>
   <td>[[Blowfish]]</td><td>Feistel</td><td>64</td><td>up to 556</td><td>16</td><td>4 8*32, key-dependent</td><td></td><td></td><td></td><td>widely used</td>
</tr>
</tr>
<tr>
<tr>
   <td>[[CAST cipher#CAST-128|CAST-128]]</td><td>Feistel</td><td>64</td><td>40 to 128</td><td>16</td><td>4 8*32, using [[bent function]]s</td><td></td><td></td><td>widely used, including [[PGP]]</td>
   <td>[[CAST cipher#CAST-128|CAST-128]]</td><td>Feistel</td><td>64</td><td>40 to 128</td><td>16</td><td>4 8*32, using [[bent function]]s</td><td>key-dependent rotation</td><td></td><td></td><td>widely used, including [[PGP]]</td>
</tr>
</tr>
<tr>
<tr>
   <td>[[GOST cipher]]</td><td>Feistel</td><td>64</td><td>256</td><td>32</td><td>8 4*4</td><td>Soviet Union</td><td></td><td></td>
   <td>[[GOST cipher]]</td><td>Feistel</td><td>64</td><td>256</td><td>32</td><td>8 4*4</td><td>rotation</td><td>Soviet Union</td><td></td><td></td>
</tr>
</tr>
<tr>
<tr>
   <td>IDEA, [[International Data Encryption Algorithm]]</td><td></td><td>64</td><td>128</td><td>8</td><td>none</td><td>Europe</td><td></td><td>uses modular multiplication</td>
   <td>IDEA, [[International Data Encryption Algorithm]]</td><td></td><td>64</td><td>128</td><td>8</td><td>none</td><td>modular multiplication</td><td>Europe</td><td></td><td></td>
</tr>
</tr>
<tr>
<tr>
   <td>TEA, [[Tiny Encryption Algorithm]]</td><td>Feistel</td><td>64</td><td>128</td><td>32</td><td>none</td><td></td><td></td><td>only shift, XOR, addition</td>
   <td>TEA, [[Tiny Encryption Algorithm]]</td><td>Feistel</td><td>64</td><td>128</td><td>32</td><td>none</td><td></td><td></td><td>only shift, XOR, addition</td><td></td>
</tr>
</tr>
<tr>
<tr>
   <td>[[SAFER (cipher)|SAFER SK-128]]</td><td>SP network</td><td>64</td><td>128</td><td>8</td><td></td><td>Singapore</td><td></td><td>uses pseudo-Hadamard transformation</td>
   <td>[[SAFER (cipher)|SAFER SK-128]]</td><td>SP network</td><td>64</td><td>128</td><td>8</td><td></td><td></td><td>Singapore</td><td></td><td>uses pseudo-Hadamard transformation</td>
</tr>
</tr>
<tr>
<tr>
Line 33: Line 33:
</tr>
</tr>
<tr>
<tr>
   <td>[[LOKI (cipher)|LOKI97]]</td><td>Feistel</td><td>128</td><td>128,192,256</td><td>16</td><td></td><td></td><td>candidate</td><td></td>
   <td>[[LOKI (cipher)|LOKI97]]</td><td>Feistel</td><td>128</td><td>128,192,256</td><td>16</td><td></td><td>two SP network rounds</td><td></td><td>candidate</td><td></td>
</tr>
</tr>
<tr>
<tr>
   <td>[[Serpent (cipher)|Serpent]]</td><td>SP network</td><td>128</td><td>128,192,256</td><td>32</td><td>8 4*4</td><td></td><td>finalist</td><td></td>
   <td>[[Serpent (cipher)|Serpent]]</td><td>SP network</td><td>128</td><td>128,192,256</td><td>32</td><td>8 4*4</td><td></td><td></td><td>finalist</td><td></td>
</tr>
</tr>
<tr>
<tr>
   <td>[[MARS (cipher)|MARS]]</td><td>Feistel-like</td><td>128</td><td>128,192,256</td><td>16</td><td>one 9*32</td><td></td><td>finalist</td><td>designed at IBM</td>
   <td>[[MARS (cipher)|MARS]]</td><td>Feistel-like</td><td>128</td><td>128,192,256</td><td>16</td><td>one 9*32</td><td>data=dependent rotation</td><td></td><td>finalist</td><td>designed at IBM</td>
</tr>
</tr>
<tr>
<tr>
   <td>[[CAST (cipher)#CAST-256|CAST-256]]</td><td>Feistel-like</td><td>128</td><td>128,192,256</td><td>48</td><td>4 8*32, using [[bent function]]s</td><td></td><td>candidate</td><td></td>
   <td>[[CAST (cipher)#CAST-256|CAST-256]]</td><td>Feistel-like</td><td>128</td><td>128,192,256</td><td>48</td><td>4 8*32, using [[bent function]]s</td><td>key-dependent rotation</td><td></td><td>candidate</td><td></td>
</tr>
</tr>
<tr>
<tr>
   <td>[[Twofish]]</td><td></td><td>128</td><td>128,192,256</td><td>16</td><td>key-dependent</td><td></td><td>finalist</td><td>uses pseudo-Hadamard transformation</td>
   <td>[[Twofish]]</td><td></td><td>128</td><td>128,192,256</td><td>16</td><td>key-dependent</td><td>pseudo-Hadamard transformation</td><td></td><td>finalist</td><td></td>
</tr>
</tr>
<tr>
<tr>
Line 51: Line 51:
</tr>
</tr>
<tr>
<tr>
   <td>[[Rivest ciphers#RC5|RC5]]</td><td>Feistel</td><td>64</td><td>128</td><td></td><td></td><td></td><td></td><td>uses data-dependent rotations</td>
   <td>[[Rivest ciphers#RC5|RC5]]</td><td>Feistel</td><td>64</td><td>128</td><td></td><td>data-dependent rotation</td><td></td><td></td><td></td><td></td>
</tr>
</tr>
<tr>
<tr>
   <td>[[Rivest ciphers#RC6|RC6]]</td><td></td><td>128</td><td>128,192,256</td><td></td><td></td><td></td><td>finalist</td><td>uses data-dependent rotations</td>
   <td>[[Rivest ciphers#RC6|RC6]]</td><td></td><td>128</td><td>128,192,256</td><td></td><td></td><td></td><td>data-dependent rotation</td><td>finalist</td><td></td>
</tr>
</tr>
<tr>
<tr>

Revision as of 06:21, 9 August 2009

CipherTypeBlock sizeKey sizeRoundsS-boxesRound function hasStandard inAES competitionComment
AES, Advanced Encryption StandardSP network128128,192,25610 to 14one 8*8US, 2002 onwardWinnercurrent US standard, widely used
DES, Data Encryption StandardFeistel6456168 6*4bit permutationUS, 1976-2002obsolete, key too short against brute force
BlowfishFeistel64up to 556164 8*32, key-dependentwidely used
CAST-128Feistel6440 to 128164 8*32, using bent functionskey-dependent rotationwidely used, including PGP
GOST cipherFeistel64256328 4*4rotationSoviet Union
IDEA, International Data Encryption Algorithm641288nonemodular multiplicationEurope
TEA, Tiny Encryption AlgorithmFeistel6412832noneonly shift, XOR, addition
SAFER SK-128SP network641288Singaporeuses pseudo-Hadamard transformation
SAFER+SP network128128,192,256candidateuses pseudo-Hadamard transformation
LOKI97Feistel128128,192,25616two SP network roundscandidate
SerpentSP network128128,192,256328 4*4finalist
MARSFeistel-like128128,192,25616one 9*32data=dependent rotationfinalistdesigned at IBM
CAST-256Feistel-like128128,192,256484 8*32, using bent functionskey-dependent rotationcandidate
Twofish128128,192,25616key-dependentpseudo-Hadamard transformationfinalist
RC2Feistel6418often used with 40-bit key, for export
RC5Feistel64128data-dependent rotation
RC6128128,192,256data-dependent rotationfinalist
DFC, Decorrelated Fast CipherFeistel128128,192,2566one 6*32candidate
FROGvariablevariable8candidateuses key as program, not just as data
E2128128,192,256candidate
DEALFeistel128128,192,256candidateuses DES as the round function
CRYPTONSP network128128,192,256candidate
MAGENTA128128,192,256candidatequickly broken
Hasty Puddingvariablevariablecandidatetweakable