Methods for generating variable S-boxes from arbitrary keys of arbitrary length including methods which allow rapid key changes
First Claim
1. A block cipher system, in which sub-blocks of data are replaced by other sub-blocks as defined by one or more mappings, wherein each snapping can be expressed as a substitution table, said system comprising:
- a first complete set of linearly independent numbers selected from a plurality of complete sets of linearly independent numbers;
a key; and
means for generating at least portions of a resulting n-bit encryption table (E) and a resulting n-bit decryption table (D) from a fixed n-bit source substitution table (R) stored in memory and said first complete set of linearly independent n-bit numbers.
2 Assignments
0 Petitions
Accused Products
Abstract
A system for generating variable substitution boxes from arbitrary keys for use in a block cipher system utilizes an initial set of linearly independent numbers to generate substitution tables. The initial set of linearly independent numbers is modulated with the bits of an arbitrary key through operations that result in final sets of linearly independent numbers to form the substitution tables. The system also includes an implementation which allows for rapid key changes for the crypto system by only generating portions of the substitution tables as needed for specific blocks of input data to be encrypted or decrypted,
67 Citations
23 Claims
-
1. A block cipher system, in which sub-blocks of data are replaced by other sub-blocks as defined by one or more mappings, wherein each snapping can be expressed as a substitution table, said system comprising:
-
a first complete set of linearly independent numbers selected from a plurality of complete sets of linearly independent numbers; a key; and means for generating at least portions of a resulting n-bit encryption table (E) and a resulting n-bit decryption table (D) from a fixed n-bit source substitution table (R) stored in memory and said first complete set of linearly independent n-bit numbers. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A block cipher system comprising:
-
a first complete set of linearly independent numbers, each of a selected bit length; a key; a source substitution table stored in memory; a modulation module responsive to selected bits from said key to control operations on said first complete set of linearly independent numbers to obtain a second complete set of linearly independent numbers; a transformation module which transforms the source substitution table stored in memory using said second complete set of linearly independent numbers to obtain a resulting substitution table; and a decryption substitution module which has an input and an output, said input comprising data blocks for which substitution is desired and said output comprising the substitution blocks for said input data blocks, said substitution blocks obtained from said resulting substitution table. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. A block cipher system comprising:
-
a first complete set of linearly independent numbers, each of a selected bit length; a key; a source substitution table stored in memory; a transformation module which transforms the source substitution table stored in memory using a transformation from said first complete set of linearly independent numbers and said key to obtain a temporary portions of a resulting substitution table on an as needed basis, without generating entire substitution tables for encryption and decryption; and a crypto module which has an input and an output, sad input comprising data blocks to be encrypted or decrypted and said output comprising substitution blocks for said input data blocks, said substitution blocks obtained from said temporary portions of the resulting substitution table. - View Dependent Claims (21, 22, 23)
-
Specification