Block cipher/Catalogs/Cipher table: Difference between revisions
imported>Sandy Harris No edit summary |
imported>Sandy Harris m (typo) |
||
(26 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
{{subpages}} | |||
<table border="1" cellpadding="2" cellspacing="0" class="sortable wikitable"> | <table border="1" cellpadding="2" cellspacing="0" class="sortable wikitable"> | ||
<caption>Block ciphers</caption> | |||
<tr> | <tr> | ||
<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> | <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>Used in hash</th><th>Comment</th> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td>[[Advanced Encryption Standard|AES]]</td><td>SP network</td><td>128</td><td>128,192,256</td><td>10 | <td>[[Advanced Encryption Standard|AES]]</td><td>SP network</td><td>128</td><td>128,192,256</td><td>10, 12 or 14</td><td>one 8*8</td><td></td><td>US, 2002 on</td><td>winner</td><td></td><td>extremely widely used</td> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td>[[Data Encryption Standard|DES]]</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> | <td>[[Data Encryption Standard|DES]]</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></td><td>obsolete, key too short against [[brute force]]</td> | ||
</tr> | |||
<tr> | |||
<td>[[Triple DES]]</td><td>Feistel</td><td>64</td><td>112 or 168</td><td>48 (3*16)</td><td>8 6*4</td><td>bit permutation</td><td></td><td></td><td></td><td>widely used, but being replaced by AES</td> | |||
</tr> | |||
<tr> | |||
<td>[[Blowfish]]</td><td>Feistel</td><td>64</td><td>up to 576</td><td>16</td><td>4 8*32, key-dependent</td><td></td><td></td><td></td><td></td><td>widely used</td> | |||
</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>key-dependent rotation</td><td></td><td></td><td></td><td>widely used, including [[PGP]]</td> | |||
</tr> | |||
<tr> | |||
<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><td></td> | |||
</tr> | |||
<tr> | |||
<td>[[Skipjack]]</td><td>Feistel, unbalanced</td><td>64</td><td>80</td><td>32</td><td></td><td></td><td></td><td></td><td></td><td>designed by [[NSA]] for [[Clipper chip]] phones</td> | |||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td>[[ | <td>[[International Data Encryption Algorithm|IDEA]]</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><td></td> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td>[[ | <td>[[Tiny Encryption Algorithm|TEA]]</td><td>Feistel</td><td>64</td><td>128</td><td>32</td><td>none</td><td>only shift, XOR, addition</td><td></td><td></td><td></td><td>small, fast & simple</td> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td>[[ | <td>[[SAFER (cipher)|SAFER SK-128]]</td><td>SP network</td><td>64</td><td>128</td><td>8</td><td></td><td>[[pseudo-Hadamard transform|PHT]]</td><td>Singapore</td><td></td><td></td><td></td> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td>[[ | <td>[[SAFER (cipher)|SAFER+]]</td><td>SP network</td><td>128</td><td>128,192,256</td><td>8,12 or 15</td><td></td><td>[[pseudo-Hadamard transform|PHT]]</td><td></td><td>candidate</td><td></td><td></td> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td>[[ | <td>[[LOKI (cipher)|LOKI]]</td><td>Feistel</td><td>64</td><td>64</td><td>16</td><td></td><td></td><td></td><td></td><td></td><td></td> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<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><td></td> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<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><td></td> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<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></td><td>designed at IBM</td> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<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><td></td> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td>[[ | <td>[[Twofish]]</td><td>Feistel</td><td>128</td><td>128,192,256</td><td>16</td><td>4 8*8, key-dependent</td><td>[[pseudo-Hadamard transform|PHT]], rotation</td><td></td><td>finalist</td><td></td> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td>[[ | <td>[[Rivest ciphers#RC2|RC2]]</td><td>Feistel</td><td>64</td><td>variable</td><td>18</td><td></td><td></td><td></td><td></td><td></td><td>often used with 40-bit key, for export</td> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td>[[ | <td>[[Rivest ciphers#RC5|RC5]]</td><td>Feistel</td><td>64 or 128</td><td>up to 2040</td><td>variable</td><td></td><td>data-dependent rotation</td><td></td><td></td><td></td><td></td> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td>[[ | <td>[[Rivest ciphers#RC6|RC6]]</td><td></td><td>128</td><td>128,192,256</td><td></td><td></td><td>data-dependent rotation</td><td></td><td>finalist</td><td></td><td></td> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td>[[ | <td>[[DFC (cipher)|DFC]]</td><td>Feistel</td><td>128</td><td>128,192,256</td><td>6</td><td>one 6*32</td><td></td><td></td><td>candidate</td><td></td><td></td> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td>[[ | <td>[[FROG (cipher)|FROG]]</td><td></td><td>variable</td><td>variable</td><td>8</td><td></td><td></td><td></td><td>candidate</td><td></td><td>uses key as program, not just as data</td> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td>[[ | <td>[[E2 (cipher)|E2]]</td><td>Feistel</td><td>128</td><td>128,192,256</td><td>12</td><td>one 8*8</td><td></td><td></td><td>candidate</td><td></td><td>replaced by Camellia</td> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td>[[ | <td>[[DEAL (cipher)|DEAL]]</td><td>Feistel</td><td>128</td><td>128,192,256</td><td>6 or 8</td><td></td><td>DES as the round function</td><td></td><td>candidate</td><td></td><td></td> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td>[[ | <td>[[Camellia (cipher)|Camellia]]</td><td>Feistel</td><td>128</td><td>128,192,256</td><td>18 or 24</td><td></td><td></td><td></td><td></td><td></td><td>Japanese</td> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td>[[ | <td>[[SEED (cipher)|SEED]]</td><td>Feistel</td><td>128</td><td>128</td><td>16</td><td>2 8*8</td><td></td><td></td><td></td><td></td><td>Korean</td> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td>[[ | <td>[[CRYPTON (cipher)|CRYPTON]]</td><td>SP network</td><td>128</td><td>128,192,256</td><td>12</td><td></td><td></td><td></td><td>candidate</td><td></td><td></td> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td>[[ | <td>[[MAGENTA (cipher)|MAGENTA]]</td><td>Feistel</td><td>128</td><td>128,192,256</td><td>6 or 8</td><td></td><td></td><td></td><td>candidate</td><td></td><td>quickly broken</td> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td>[[ | <td>[[Hasty Pudding (cipher)|Hasty Pudding]]</td><td></td><td>variable</td><td>variable</td><td></td><td></td><td></td><td></td><td>candidate</td><td></td><td>[[Block cipher#Whitening and tweaking|tweakable]]</td> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td>[[ | <td>[[Threefish]]</td><td>SP network</td><td>256,512,1024</td><td>256,512,1024</td><td>72 or 80</td><td></td><td></td><td></td><td></td><td>[[Hash_(cryptography)#Skein|Skein]]</td><td>[[Block cipher#Whitening and tweaking|tweakable]]</td> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td>[[ | <td>[[Hash_(cryptography)#Whirlpool|Whirlpool]] cipher</td><td>SP network</td><td>512</td><td>512</td><td>10</td><td></td><td></td><td></td><td></td><td>[[Hash_(cryptography)#Whirlpool|Whirlpool]]</td><td>AES-like</td> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td>[[ | <td>[[3-Way]]</td><td>SP network</td><td>96</td><td>96</td><td>11</td><td></td><td></td><td></td><td></td><td></td><td>an ancestor of AES</td> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td>[[ | <td>[[BaseKing]]</td><td>SP network</td><td>192</td><td>192</td><td>11</td><td></td><td></td><td></td><td></td><td></td><td>in same thesis as 3-Way</td> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td>[[ | <td>[[Square (cipher)|Square]]</td><td>SP network</td><td>128</td><td>128</td><td>8</td><td></td><td></td><td></td><td></td><td></td><td>an ancestor of AES</td> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td>[[ | <td>[[ABC (cipher)|ABC]]</td><td>SP network</td><td>256</td><td>512</td><td>17</td><td></td><td></td><td></td><td></td><td></td><td></td> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td>[[ | <td>[[Akelarre (cipher)|Akelarre]]</td><td></td><td>128</td><td>variable</td><td>4</td><td></td><td></td><td></td><td></td><td></td><td></td> | ||
</tr> | |||
<tr> | |||
<td>[[Anubis (cipher)|Anubis]]</td><td>SP network</td><td>128</td><td>128-320</td><td>12-18</td><td></td><td></td><td></td><td></td><td></td><td></td> | |||
</tr> | </tr> | ||
</table> | </table> | ||
Latest revision as of 11:20, 27 July 2010
The metadata subpage is missing. You can start it via filling in this form or by following the instructions that come up after clicking on the [show] link to the right. | |||
---|---|---|---|
|
Cipher | Type | Block size | Key size | Rounds | S-boxes | Round function has | Standard in | AES competition | Used in hash | Comment |
---|---|---|---|---|---|---|---|---|---|---|
AES | SP network | 128 | 128,192,256 | 10, 12 or 14 | one 8*8 | US, 2002 on | winner | extremely widely used | ||
DES | Feistel | 64 | 56 | 16 | 8 6*4 | bit permutation | US, 1976-2002 | obsolete, key too short against brute force | ||
Triple DES | Feistel | 64 | 112 or 168 | 48 (3*16) | 8 6*4 | bit permutation | widely used, but being replaced by AES | |||
Blowfish | Feistel | 64 | up to 576 | 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 | |||
Skipjack | Feistel, unbalanced | 64 | 80 | 32 | designed by NSA for Clipper chip phones | |||||
IDEA | 64 | 128 | 8 | none | modular multiplication | Europe | ||||
TEA | Feistel | 64 | 128 | 32 | none | only shift, XOR, addition | small, fast & simple | |||
SAFER SK-128 | SP network | 64 | 128 | 8 | PHT | Singapore | ||||
SAFER+ | SP network | 128 | 128,192,256 | 8,12 or 15 | PHT | candidate | ||||
LOKI | Feistel | 64 | 64 | 16 | ||||||
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 | Feistel | 128 | 128,192,256 | 16 | 4 8*8, key-dependent | PHT, rotation | finalist | |||
RC2 | Feistel | 64 | variable | 18 | often used with 40-bit key, for export | |||||
RC5 | Feistel | 64 or 128 | up to 2040 | variable | data-dependent rotation | |||||
RC6 | 128 | 128,192,256 | data-dependent rotation | finalist | ||||||
DFC | Feistel | 128 | 128,192,256 | 6 | one 6*32 | candidate | ||||
FROG | variable | variable | 8 | candidate | uses key as program, not just as data | |||||
E2 | Feistel | 128 | 128,192,256 | 12 | one 8*8 | candidate | replaced by Camellia | |||
DEAL | Feistel | 128 | 128,192,256 | 6 or 8 | DES as the round function | candidate | ||||
Camellia | Feistel | 128 | 128,192,256 | 18 or 24 | Japanese | |||||
SEED | Feistel | 128 | 128 | 16 | 2 8*8 | Korean | ||||
CRYPTON | SP network | 128 | 128,192,256 | 12 | candidate | |||||
MAGENTA | Feistel | 128 | 128,192,256 | 6 or 8 | candidate | quickly broken | ||||
Hasty Pudding | variable | variable | candidate | tweakable | ||||||
Threefish | SP network | 256,512,1024 | 256,512,1024 | 72 or 80 | Skein | tweakable | ||||
Whirlpool cipher | SP network | 512 | 512 | 10 | Whirlpool | AES-like | ||||
3-Way | SP network | 96 | 96 | 11 | an ancestor of AES | |||||
BaseKing | SP network | 192 | 192 | 11 | in same thesis as 3-Way | |||||
Square | SP network | 128 | 128 | 8 | an ancestor of AES | |||||
ABC | SP network | 256 | 512 | 17 | ||||||
Akelarre | 128 | variable | 4 | |||||||
Anubis | SP network | 128 | 128-320 | 12-18 |