Block cipher/Catalogs/Cipher table: Difference between revisions
< Block cipher | Catalogs
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> | <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> | <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> | <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> | <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 05:21, 9 August 2009
Cipher | Type | Block size | Key size | Rounds | S-boxes | Round function has | Standard in | AES competition | Comment |
---|---|---|---|---|---|---|---|---|---|
AES, Advanced Encryption Standard | SP network | 128 | 128,192,256 | 10 to 14 | one 8*8 | US, 2002 onward | Winner | current US standard, widely used | |
DES, Data Encryption Standard | Feistel | 64 | 56 | 16 | 8 6*4 | bit permutation | US, 1976-2002 | obsolete, key too short against brute force | |
Blowfish | Feistel | 64 | up to 556 | 16 | 4 8*32, key-dependent | widely used | |||
CAST-128 | Feistel | 64 | 40 to 128 | 16 | 4 8*32, using bent functions | key-dependent rotation | widely used, including PGP | ||
GOST cipher | Feistel | 64 | 256 | 32 | 8 4*4 | rotation | Soviet Union | ||
IDEA, International Data Encryption Algorithm | 64 | 128 | 8 | none | modular multiplication | Europe | |||
TEA, Tiny Encryption Algorithm | Feistel | 64 | 128 | 32 | none | only shift, XOR, addition | |||
SAFER SK-128 | SP network | 64 | 128 | 8 | Singapore | uses pseudo-Hadamard transformation | |||
SAFER+ | SP network | 128 | 128,192,256 | candidate | uses pseudo-Hadamard transformation | ||||
LOKI97 | Feistel | 128 | 128,192,256 | 16 | two SP network rounds | candidate | |||
Serpent | SP network | 128 | 128,192,256 | 32 | 8 4*4 | finalist | |||
MARS | Feistel-like | 128 | 128,192,256 | 16 | one 9*32 | data=dependent rotation | finalist | designed at IBM | |
CAST-256 | Feistel-like | 128 | 128,192,256 | 48 | 4 8*32, using bent functions | key-dependent rotation | candidate | ||
Twofish | 128 | 128,192,256 | 16 | key-dependent | pseudo-Hadamard transformation | finalist | |||
RC2 | Feistel | 64 | 18 | often used with 40-bit key, for export | |||||
RC5 | Feistel | 64 | 128 | data-dependent rotation | |||||
RC6 | 128 | 128,192,256 | data-dependent rotation | finalist | |||||
DFC, Decorrelated Fast Cipher | Feistel | 128 | 128,192,256 | 6 | one 6*32 | candidate | |||
FROG | variable | variable | 8 | candidate | uses key as program, not just as data | ||||
E2 | 128 | 128,192,256 | candidate | ||||||
DEAL | Feistel | 128 | 128,192,256 | candidate | uses DES as the round function | ||||
CRYPTON | SP network | 128 | 128,192,256 | candidate | |||||
MAGENTA | 128 | 128,192,256 | candidate | quickly broken | |||||
Hasty Pudding | variable | variable | candidate | tweakable |