Optimizing a fast stream cipher for VLIW, SIMD, and superscalar processors
The mismatch between traditional cipher designs and efficient operation on modern Very Long Instruction Word, Single Instruction Multiple Data, superscalar, and deeply pipelined processors is explored. Guidelines are developed for efficiently exploiting the instruction-level parallelism of these processor architectures.
Two stream ciphers, WAKE-ROFB and WiderWake, incorporating these ideas are proposed. WAKE-ROFB inherits the security characteristics of WAKE, from which it is derived, but runs almost three times as fast as WAKE on a commercially available VLIW CPU. Throughput in excess of 40 MByte/s on a 100 MHz processor is demonstrated. Another derivative, WiderWake, whose security characteristics are not directly transferable from WAKE runs in excess of 50 MByte/s on the same processor.
KeywordsCritical Path Encryption Algorithm Block Cipher Stream Cipher Execution Unit
- 1.D. J. Wheeler, “A Bulk Data Encryption Algorithm≓, Fast Software Encryption (Ed. R. Anderson), Lecture Notes in Computer Science No. 809, Springer-Verlag, 1994, pp. 127–134Google Scholar
- 2.R. J. Anderson and E. Biham, “Tiger: A Fast New Hash Function≓, Fast Software Encryption (Ed. D. Gollmann), Lecture Notes in Computer Science No. 1039, Springer-Verlag, 1996, pp. 89–97Google Scholar
- 3.J. Daemen, R. Govaerts, and J. Vandewalle, “Resynchronization Weaknesses in Synchronous Stream Ciphers≓, Advances in Cryptology — EUROCRYPT ’93 Proceedings, Springer-Verlag, 1994, pp. 159–167Google Scholar
- 4.ISO/IEC 10166, “Information Technology — Modes of operation for an n-bit block cipher algorithm≓, International Organization for Standardization / International Electrotechnical Commission, 1991Google Scholar
- 5.R. J. Jenkins, “ISAAC≓, Fast Software Encryption (Ed. D. Gollmann), LNCS 1039, Springer-Verlag, 1996, pp. 41–49Google Scholar
- 6.B. S. Kaliski and M. J. B. Robshaw, “Fast Block Cipher Proposal≓, Fast Software Encryption (Ed. R. Anderson), LNCS 809, Springer-Verlag, 1994, pp. 33–40Google Scholar
- 7.NBS FIPS PUB 46-1, “Data Encryption Standard≓, National Bureau of Standards, U.S. Department of Commerce, Jan 1988Google Scholar
- 8.NIST FIPS PUB 180-1, “Secure Hash Standard≓, National Institute of Standards and Technology, U.S. Department of Commerce, April 1995Google Scholar
- 10.P. Rogaway and D. Coppersmith, “A Software-Optimized Encryption Algorithm≓, Fast Software Encryption (Ed. R. Anderson), LNCS 809, Springer-Verlag, 1994, pp. 56–63Google Scholar
- 11.B. Schneier, Applied Cryptography, Second Edition, John Wiley & Sons, 1996, pp. 397–398Google Scholar
- 12.B. Schneier, “Description of a New Variable-Length Key, 64-bit Block Cipher (Blowfish)≓, Fast Software Encryption (Ed. R. Anderson), LNCS 809, Springer-Verlag, 1994, pp. 191–204Google Scholar