Browse Prior Art Database

Cryptographic Device

IP.com Disclosure Number: IPCOM000081049D
Original Publication Date: 1974-Mar-01
Included in the Prior Art Database: 2005-Feb-27
Document File: 4 page(s) / 43K

Publishing Venue

IBM

Related People

Adler, RL: AUTHOR

Abstract

This cryptographic scheme is implemented as a hardware device, though it could also be carried out in software. It is composed of the usual basic computer operations. The operations involved are exclusive OR (O), binary-addition-with-carry (+), binary-subtraction-with-carry (-), shift-left-circular (SLC), shift-right-circular (SRC). a switchboard (P) of wire crossings, and its inverse (P/-1/). The system operates on a clear text input block, labelled x, which consists of a fixed number of binary bits. The output is a cipher text block y of the same number of bits. To be specific, choose 2 = 128 bits for the basic block size, although other sizes are just as feasible. The algorithm which transforms x into y also depends on a parameter k, called the key, which is also a block of 128 bits. Thus, y = f(x;k).

This text was extracted from a PDF file.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 39% of the total text.

Page 1 of 4

Cryptographic Device

This cryptographic scheme is implemented as a hardware device, though it could also be carried out in software. It is composed of the usual basic computer operations. The operations involved are exclusive OR (O), binary-addition-with- carry (+), binary-subtraction-with-carry (-), shift-left-circular (SLC), shift-right- circular (SRC). a switchboard (P) of wire crossings, and its inverse (P/-1/). The system operates on a clear text input block, labelled x, which consists of a fixed number of binary bits. The output is a cipher text block y of the same number of bits. To be specific, choose 2 = 128 bits for the basic block size, although other sizes are just as feasible. The algorithm which transforms x into y also depends on a parameter k, called the key, which is also a block of 128 bits. Thus, y = f(x;k). The algorithm consists of a sequence of simple invertible transformations, hence it is itself invertible. Thus any clear text x can be recovered from its associated cipher y.

Encipherment (See Fig. 1): A block x is first transformed into y(o) = x+a(o) where means binary-addition-with-carry and a(o) is a block of 128 bits supplied from a key processor. The manner in which the key processor supplies a bit stream to the various operations in the algorithm will be described later. There now occurs n rounds of operations. Each round consists of six operations. The i/th/ round, 1</-i</-n is now described. The output of the i-1/st/ round is a block y(i-1) appearing at the output gate in Fig. 1. It is combined with a 128 bit block b(i) by an exclusive OR operation, yielding the block y(i-1)+b(i).

The bits for b(i) also come from the stream supplied by the key processor. Next, the components of y(i-1)0b(i) are permuted by a switchboard P of wire crossings, yielding a block P(y(i)0b(i)). This block is then circularly shifted to the left by a keyed amount, yielding SLC(i)(Py(i-1) 0b(i))). It requires 7 bits from the key processor to determine SLC(i) though it might be more convenient to use 8 bits for this. This will be commented upon later. The block at this stage is reversed through the switchboard, yielding P/-1/ (SLC(i)(P(y)i-1)0b(i)))), then combined by an exclusive OR operation, with a 128 bit block c(i), and finally added-with-carry to a 128 bit block a(i). The bits for a(i) and c(i) are again supplied by the key processor. At the end of the i/th/ round the result at the output gate is

(Image Omitted)

This is repeated for n rounds. The parameters in the various operations are changed from round to round depending on the stream of bits supplied by the key processor. At the end of the n/th/ round the result y(n) at the output gate is switched to an output register.

Thus we have at the output

(Image Omitted)

Decipherment:

Deciphering, that is calculating x = f/-1/ (y;k) proceeds exactly as encipherment except for the following differences.

1

Page 2 of 4

Binary-addition-with- carry (+) is replaced by binary-subtract...