cr.yp.to update
[email protected] 16 Jun 2005 18:59:35 -0000
| Newsgroups | gmane.comp.djb.announce |
|---|---|
| Message-ID | <[email protected]> |
diff -ru .old-crypto/streamciphers.html cr.yp.to/streamciphers.html
--- .old-crypto/streamciphers.html 2005-06-16 01:09:04.000000000 -0400
+++ cr.yp.to/streamciphers.html 2005-06-16 02:15:38.000000000 -0400
@@ -49,7 +49,7 @@
<tr><td>Salsa20 (Snuffle 2005)</td><td>32 bytes</td><td>Daniel J. Bernstein; ``My policy is that Salsa20 is free for everyone to use''</td><td><a href="snuffle/ecrypt.c">C</a> <a href="snuffle/spec.pdf">spec</a> <a href="snuffle/security.pdf">security</a> <a href="snuffle/design.pdf">design</a> <a href="snuffle/speed.pdf">speed</a> <a href="snuffle/robustness.pdf">robustness</a> <a href="snuffle/ip.pdf">IP</a> <a href="snuffle.html">link</a></td></tr>
<tr><td>Self-Synchronous SOBER (SSS)</td><td>16 bytes</td><td>Gregory Rose, Philip Hawkes, Michael Paddon, Miriam Wiggers de Vries; ``QUALCOMM Incorporated allows free and unrestricted use of any of its intellectual property required to exercise the primitive''</td><td><a href="streamciphers/sss/desc.pdf">paper</a> <a href="http://people.qualcomm.com/ggr/NLS-SSS.html">link</a></td></tr>
<tr><td>SFINKS</td><td>10 bytes</td><td>An Braeken, Joseph Lano, Nele Mentens, Bart Preneel, Ingrid Verbauwhede</td><td><a href="streamciphers/sfinks/desc.pdf">paper</a></td></tr>
-<tr><td>SOSEMANUK</td><td>32 bytes</td><td>Come Berbain, Olivier Billet, Anne Canteaut, Nicolas Courtois, Henri Gilbert, Louis Goubin, Aline Gouget, Louis Granboulan, Cedric Lauradoux, Marine Minier, Thomas Pornin, Herve Sibert; ``Permission is granted to anyone to use this software for any purpose, including commercial applications.''</td><td><a href="streamciphers/sosemanuk/SOSEMANUK.C">C</a> <a href="streamciphers/sosemanuk/desc.pdf">paper</a></td></tr>
+<tr><td>SOSEMANUK</td><td>32 bytes</td><td>Come Berbain, Olivier Billet, Anne Canteaut, Nicolas Courtois, Henri Gilbert, Louis Goubin, Aline Gouget, Louis Granboulan, Cedric Lauradoux, Marine Minier, Thomas Pornin, Herve Sibert; ``Permission is granted to anyone to use this software for any purpose, including commercial applications''</td><td><a href="streamciphers/sosemanuk/SOSEMANUK.C">C</a> <a href="streamciphers/sosemanuk/desc.pdf">paper</a></td></tr>
<tr><td>TRBDK3 YAEA</td><td></td><td>Timothy Brigham</td><td><a href="streamciphers/trbdk3-yaea/desc.ps">paper</a></td></tr>
<tr><td>Trivium</td><td></td><td>Christophe De Canniere</td><td></td></tr>
<tr><td>TSC-3</td><td>10 bytes</td><td>Jin Hong, Dong Hoon Lee, Yongjin Yeom, Daewan Han, Seongtaek Chee</td><td><a href="streamciphers/tsc-3/desc.pdf">paper</a></td></tr>
@@ -120,6 +120,7 @@
so they should be ignored,
and the underlying pure-encryption stream cipher
should be evaluated on its own merits.
+<hr>
<h2>Notes on Salsa20</h2>
My own submission.
Quite conservative.
@@ -156,27 +157,6 @@
Exceptions:
Salsa20 is faster than Phelix when the hardware offers more parallelism,
and (in conjunction with Poly1305) is faster at rejecting forged packets.
-<h2>Notes on SOSEMANUK</h2>
-Key length between 16 bytes and 32 bytes.
-Nonce length: 16 bytes.
-Inspired by SNOW 2.0 and SERPENT.
-<p>
-48-byte ``internal state size.''
-4096-byte ``data.''
-<p>
-Authors report, for a Pentium 4,
-900 cycles to load a key,
-and 480 cycles to load a nonce.
-Time, in cycles/byte, to encrypt a big block:
-5.575 Pentium 3;
-6.775 Pentium 4-M;
-7.075 Pentium 4 Prescott;
-4.925 Pentium 4 Nocona;
-4.25 Athlon XP;
-3.15 PowerPC 7450 (G4e);
-5.40 PowerPC 970 (G5);
-3.925 Alpha EV67;
-5.975 UltraSPARC III.
<h2>Notes on Rabbit</h2>
Authors report, for a Pentium III-1000,
278 cycles to load a 16-byte key;
@@ -219,11 +199,33 @@
and computes the sum e_0 b_0 + e_1 b_1 + ... + e_{31} b_{31}.
Every 4 bytes of output have one dot product and several other operations.
<p>
+Initial impression:
The reported speed of ABC relies on computing the dot product
-by secret-index table lookups.
+by secret-index table lookups,
+creating timing-attack problems.
+<h2>Notes on SOSEMANUK</h2>
+Key length between 16 bytes and 32 bytes.
+Nonce length: 16 bytes.
+Inspired by SNOW 2.0 and SERPENT.
+<p>
+Authors report, for a Pentium 4,
+900 cycles to load a key,
+and 480 cycles to load a nonce.
+Time, in cycles/byte, to encrypt a big block:
+5.575 Pentium 3;
+6.775 Pentium 4-M;
+7.075 Pentium 4 Prescott;
+4.925 Pentium 4 Nocona;
+4.25 Athlon XP;
+3.15 PowerPC 7450 (G4e);
+5.40 PowerPC 970 (G5);
+3.925 Alpha EV67;
+5.975 UltraSPARC III.
<p>
Initial impression:
-Timing attacks will be a big problem here.
+The reported speed of SOSEMANUK relies on performing computations in F_{2^32}
+by secret-index table lookups,
+creating timing-attack problems.
<h2>Notes on Dragon-128</h2>
Authors report, for a 3200MHz Pentium 4,
1395 cycles to load a 16-byte key (and nonce?),
@@ -259,6 +261,14 @@
Initial impression:
Timing-attack problems, like AES.
Also looks like a great target for algebraic attacks.
+<h2>Notes on YAMB</h2>
+Key as large as 32 bytes.
+Nonce as large as 16 bytes.
+380 bytes of memory.
+Authors report 12.5 cycles/byte for Pentium 4.
+<p>
+Initial impression:
+Timing-attack problems, like RC4.
<h2>Notes on Py</h2>
Authors report, for a Pentium III,
2727 cycles to load a key;
@@ -284,14 +294,14 @@
Scaled-down version of Py.
Smaller key-loading time and nonce-loading time;
same cycles/byte to encrypt a big block.
-<h2>Notes on YAMB</h2>
-Key as large as 32 bytes.
-Nonce as large as 16 bytes.
-380 bytes of memory.
-Authors report 12.5 cycles/byte for Pentium 4.
+<h2>Notes on HC-256</h2>
+Author reports, for a 2400MHz Pentium 4,
+74000 cycles to load a key and nonce;
+plus 4.2 cycles/byte to encrypt a big block.
<p>
Initial impression:
Timing-attack problems, like RC4.
+<hr>
<h2>Notes on DICING</h2>
Author reports, for an 1800MHz Athlon XP,
918 cycles to load a 16-byte key;