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