27 March 2001. Thanks to JC.


Date: Tue, 20 Mar 2001 12:49:02 +1100
From: Greg Rose <ggr@qualcomm.com>
To: coderpunks@toad.com
Subject: a 32-bit block cipher

Recently I needed a way of generating an
unpredictable permutation function of 32-bit
values, in other words, a block cipher with a
32-bit block. It was important for that
application that 32-bit values generated over a
period of time should not repeat. I searched
around looking for such a cipher, and couldn't
find one, not surprisingly since it would be
insecure in the face of a codebook style attack
(the entire codebook would fit into 16GB).

Anyway, that didn't change the fact that I needed
one, so I wrote one. I took Skipjack (Panu
Rissanen <bande@lut.fi>'s version) and turned it
into a 24-round feistel cipher. It retains the
F-table, the G-permutation and the key-schedule
(including the 80-bit keys), but it loses the
feedback register structure and the two different
kinds of rounds.

Then for the fun of it I applied for, and
received, an export license from the Australian
Defence Signals Directorate that allows me to post
it on the Web. It's at:

   http://www.home.aone.net.au/qualcomm/skip32.c

It's freely available, and I hope it is of use to
someone else too. If anyone sees any problems with
it, please do tell me.

Greg.

Greg Rose                                       INTERNET: ggr@qualcomm.com
Qualcomm Australia          VOICE:  +61-2-9817 4188   FAX: +61-2-9817 5199
Level 3, 230 Victoria Road,                http://people.qualcomm.com/ggr/
Gladesville NSW 2111    232B EC8F 44C6 C853 D68F  E107 E6BF CD2F 1081 A37C