Helix: Fast Encryption and Authentication in a Single Cryptographic Primitive

Niels Ferguson, Doug Whiting, Bruce Schneier, John Kelsey, Stefan Lucks, and Tadayoshi Kohno

Proceedings of FSE 2003, to appear.

Abstract

Helix is a high-speed stream cipher with a built-in MAC functionality. On a Pentium II CPU it is about twice as fast as Rijndael or Twofish, and comparable in speed to RC4. The overhead per encrypted/authenticated message is low, making it suitable for small messages. It is efficient in both hardware and software, and with some pre-computation can effectively switch keys on a per-message basis without additional overhead.

Download

Available as PDF (208 kB) or as Zipped PostScript (99 kB).

Code

TBD

Test vectors

Initial Key: <empty string>
Nonce:       00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Working Key: a9 3b 6e 32 bc 23 4f 6c 32 6c 0f 82 74 ff a2 41
             e3 da 57 7d ef 7c 1b 64 af 78 7c 38 dc ef e3 de
Plaintext:   00 00 00 00 00 00 00 00 00 00
Ciphertext:  70 44 c9 be 48 ae 89 22 66 e4
MAC:         65 be 7a 60 fd 3b 8a 5e 31 61 80 80 56 32 d8 10

Initial Key: 00 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00
             04 00 00 00 05 00 00 00 06 00 00 00 07 00 00 00
Nonce:       00 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00
Working Key: 6e e9 a7 6c bd 0b f6 20 a6 d9 b7 59 49 d3 39 95
             04 f8 4a d6 83 12 f9 06 ed d1 a6 98 9e c8 9d 45
Plaintext:   00 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00
             04 00 00 00 05 00 00 00 06 00 00 00 07 00 00 00
Ciphertext:  7a 72 a7 5b 62 50 38 0b 69 75 1c d1 28 30 8d 9a
             0c 74 46 a3 bf 3f 99 e6 65 56 b9 c1 18 ca 7d 87
MAC:         e4 e5 49 01 c5 0b 34 e7 80 c0 9c 39 b1 09 a1 17

Initial Key: 48 65 6c 69 78
Nonce:       30 31 32 33 34 35 36 37 38 39 61 62 63 64 65 66
Working Key: 6c 1e d7 7a cb a3 a1 d2 8f 1c d6 20 6d f1 15 da
             f4 03 28 4a 73 9b b6 9f 35 7a 85 f5 51 32 11 39
Plaintext:   48 65 6c 6c 6f 2c 20 77 6f 72 6c 64 21
Ciphertext:  6c 4c 27 b9 7a 82 a0 c5 80 2c 23 f2 0d
MAC:         6c 82 d1 aa 3b 90 5f 12 f1 44 3f a7 f6 a1 01 d2