Secret-key-controlled reversible circuit and corresponding method of data processing
First Claim
1. A combinatorial key-dependent network for encryption/decryption of input digital data having a first word size into output digital data of the same word size, comprising at least two layers, each layer comprising at least an elementary building block, each building block operating on an input block of bits having a second word size smaller than or equal to said first word size, for generating an output block of bits, said building block comprising:
- a multiplexer circuit that receives a first portion of said input block of bits and a first set of key bits as inputs, the first portion of said input block of bits operable to select a second set of key bits out of the first set of key bits, wherein the selected second set of key bits are output by said multiplexer circuit, said first portion of bits are transferred intact without modification by an encryption operation to an output of said building block, and the number of bits in the second set of key bits is less than the number of bits in the first set of key bits; and
a transformation circuit, for transforming a second portion of said input block of bits into transformed bits according to a reversible transformation chosen, by means of said selected second set of key bits, among a plurality of reversible transformations implemented in said transformation circuit, wherein said transformation circuit transforms said second portion of said input block of bits without receiving said first portion of said input block of bits as an input and said output block of bits comprises the transformed bits followed by said first portion of said input block of bits.
1 Assignment
0 Petitions
Accused Products
Abstract
A combinatorial key-dependent network suitable for the encryption/decryption of data on buses and in memories of data-processing devices, has a number of layers, where each layer has a number of elementary building blocks operating on very small block sizes. A generic building block acts on a small number of input data bits, which are divided into two groups of m and n bits, respectively. The m input bits, which are passed to the output intact, are used to select k out of 2mk key bits by a multiplexer circuit; the k bits are then used to select an (n×n)-bit reversible transformation acting on the remaining n input bits to produce the corresponding n output bits. The total number of the key bits in the building block is thus 2mk, which can easily he made larger that m+n. An inverse building block is the same except that the reversible transformations are replaced by their inverses.
-
Citations
41 Claims
-
1. A combinatorial key-dependent network for encryption/decryption of input digital data having a first word size into output digital data of the same word size, comprising at least two layers, each layer comprising at least an elementary building block, each building block operating on an input block of bits having a second word size smaller than or equal to said first word size, for generating an output block of bits, said building block comprising:
-
a multiplexer circuit that receives a first portion of said input block of bits and a first set of key bits as inputs, the first portion of said input block of bits operable to select a second set of key bits out of the first set of key bits, wherein the selected second set of key bits are output by said multiplexer circuit, said first portion of bits are transferred intact without modification by an encryption operation to an output of said building block, and the number of bits in the second set of key bits is less than the number of bits in the first set of key bits; and a transformation circuit, for transforming a second portion of said input block of bits into transformed bits according to a reversible transformation chosen, by means of said selected second set of key bits, among a plurality of reversible transformations implemented in said transformation circuit, wherein said transformation circuit transforms said second portion of said input block of bits without receiving said first portion of said input block of bits as an input and said output block of bits comprises the transformed bits followed by said first portion of said input block of bits. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 40, 41)
-
-
28. A block for secret-key-controlled cryptographic functions, operating on an input block of bits for generating an output block of bits comprising:
-
a multiplexer circuit that receives a first portion of bits of said input block of bits and a first set of key bits as inputs, the first portion of said input block of bits operable to select a second set of key bits out of the first set of key bits, wherein the selected second set of key bits are output by said multiplexer circuit, said first portion of bits are transferred intact without modification by an encryption operation to an output of said building block, and the number of bits in the second set of key bits is less than the number of bits in the first set of key bits; and a transformation circuit for transforming a second portion of said input block of bits into transformed bits, according to a reversible transformation chosen, by means of said selected second set of key bits, among a plurality of reversible transformations implemented in said transformation circuit, wherein said transformation circuit transforms said second portion of said input block of bits without receiving said first portion of said input block of bits as an input and said output block of bits comprises the transformed bits followed by said first portion of said input block of bits. - View Dependent Claims (29, 30, 31, 32, 33, 34, 35)
-
-
36. A method for encryption/decryption of input digital data having a first word size into an output digital data of the same word size, comprising;
-
a) dividing said input digital data into blocks of bits, each having a second word size smaller than said first word size, each block of bits being divided into a first portion and a second portion; b) for each block of bits; b1) receiving, at a multiplexer circuit, a first portion of said input block of bits and a first set of key bits as inputs, the first portion of said input block of bits operating to select a second set of key bits out of the first set of key bits, wherein the selected second set of key bits are output by the multiplexer circuit, said first portion of bits are transformed intact without modification by an encryption operation to a first portion of transformed bits, and the number of bits in the second set of key bits is less than the number of bits in the first set of key bits; b2) selecting, by means of said selected second set of key bits, a reversible transformation among a plurality of reversible transformations, by inputting said selected second set of key bits into a transformation circuit without also inputting said first portion of bits into said transformation circuit; b3) applying said reversible transformation to said second portion of bits, thus generating a second portion of transformed bits; c) collecting the transformed bits from each block into said output digital data, wherein the transformed bits from each block comprise the second portion of transformed bits followed by the first portion of transformed bits. - View Dependent Claims (37, 38, 39)
-
Specification