Using QUADIBLOC with the initial key formed by concatenating the 80-bit key with its inverse (one's complement, bitwise negation), encipher the following:

1) Expand the first 18 bits of the key to 24 bits using the 4 of 8 bit code in QUADIBLOC; repeat these as often as required to XOR with the last 64 bits of the key. (Yes, 2 bits are used twice.)

2) Take the first 64 bits of the key; XOR with the 24 bits formed by expanding the last 18 bits of the key, repeated starting from the right.

3) Form a 48-bit string by XORing the first 40 bits + 00000000 with 00000000 + the last 40 bits; convert that to 64 bits using the 4 of 8 bit code on all of it.

Using the 192 bits which result from these three block encryptions, convert to a 160-bit key as follows:

concatenate the 64 bits of 1) enciphered with the 64 bits of 2) enciphered and the first (leftmost, most significant) 32 bits of 3) enciphered,

and XOR these 160 bits with the last 32 bits of 3) enciphered, repeated five times.

Expand a 64-bit key to an 80-bit key by converting the first 48 bits of the key to 64 bits, using the 4 of 8 bit code. This, concatenated with the last 16 bits, makes 80 bits.

Produce a 160-bit key from this as outlined for QUADIBLOC-80.

Then XOR the 64 bit key with that, repeated 2 and 1/2 times. (The last one-half uses the first 32 bits.)

Expand the 40-bit key to an 80-bit key by concatenating it with its inverse.

Produce a 160-bit key from this as outlined for QUADIBLOC-80.

Expand the 40-bit key to 52 bits by converting the first 36 bits to 48 bits using the 4 of 8 bit code. XOR the 52 bit result (48 expanded bits + 4 original bits) starting with a whole block on the left repeatedly with the 160-bit result to get the 160-bit key to use.

The first half is used to generate subkeys normally, and so is the second half. First-half subkeys are used in rounds 1, 2, 5, 6, 9, 10, 13, and 14; second-half subkeys are used in rounds 3, 4, 7, 8, 11, 12, 15, and 16.

The key is divided into four quarters, each of which is used to generate subkeys normally, and the subkeys generated from the first quarter are used in rounds 1, 2, 9, and 10; from the second in 3, 4, 11, and 12; from the third in 5, 6, 13, and 14; and from the fourth in 7, 8, 15, and 16.

S-box 2, in QUADIBLOC, is used only when enciphering, and its inverse is used when deciphering. Since this S-box gets changed anyways, Enhanced QUADIBLOC is QUADIBLOC changed in that S-box 2 is part of the key, and supplied by the user, instead of being the fixed value shown in the definition of QUADIBLOC.

[Next] [Up] [Previous] [Index]

Next

Chapter Start

Skip to Next Section

Table of Contents

Main Page

Home Page