Patent US3751784A successfully refreshed from Google Patents.
Patent US5778074A successfully refreshed from Google Patents.
US5778074A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Methods for generating variable S-boxes from arbitrary keys of arbitrary length including methods which allow rapid key changes
Assignee: Teledyne Technologies Inc
•
Filing: 1996-06-28
•
Granted: 1998-07-07
•
Expires: 2016-06-28
Abstract
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,
Inventors
- 👤 Knute T. Garcken
- 👤 Charles E. Strawbridge
- 👤 Andrew Philip Kisylia
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-11-04 19:44
CPC Classifications
H; H04; H04L; H04L9/00; H04L9/06; H04L9/0618; H04L2209/00; H04L2209/12; H04L2209/24
Claims Analysis
Total Claims: 26
Claim 1
Independent Claim
97 words
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.
Claim 2
Dependent Claim
97 words
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.
Claim 3
Dependent Claim
30 words
The block cipher system of claim 1, wherein said first complete set of linearly independent n-bit numbers is used to form a linear transformation for the source substitution table (R).
Claim 4
Dependent Claim
34 words
The block cipher system of claim 2, wherein the linear transformation comprises a second complete set of linearly independent numbers generated by modulating the first complete set of linearly independent numbers with said key.
Claim 5
Dependent Claim
31 words
The block cipher system of claim 3, wherein said linear transformation (T) is used as follows: For K from 0 through 2 n -1: E T(K)!=T(R K!), and D T(R K!)!=T(K).
Claim 6
Dependent Claim
28 words
The block cipher system of claim 4, wherein the transformation (T) comprises a right multiplication by a matrix formed from the second complete act of linearly independent numbers.
Claim 7
Dependent Claim
41 words
The block cipher system of claim 3, wherein said linear transformation is used as follows: For K from 0 through 2 n -1: E T(K)!=T(R K!⊕F ), and D T(R K!⊕F)!=T(K), where F is an n-bit value determined from the key.
Claim 8
Dependent Claim
52 words
The block cipher system of claim 1, wherein said means for generating comprises a means for performing a linear transformation (T) on said source substitution table (R), said transformation (T) comprising a second complete set of linearly independent numbers generated from said key and said first complete set of linearly independent numbers.
Claim 9
Dependent Claim
62 words
The block cipher system of claim 1, wherein said means for generating comprises means for concurrently generating a second complete set of linearly independent n-bit numbers to form a first linear transformation (T), and a third complete set of linearly independent n-bit numbers to form a second linear transformation (T -1 ) which is the inverse of the first linear transformation (T).
Claim 10
Dependent Claim
58 words
The block cipher system of claim 1, wherein said means for generating comprises means for generating the specific n-bit output which correspond to outputs for the encryption substitution table or the decryption substitution table on an as needed basis, for each n-bit input value (U) without generating the entire encryption substitution table (E) or entire substitution table (D).
Claim 11
Dependent Claim
56 words
The block cipher system of claim 9, wherein said means for generating further comprises encryption and decryption source substitution tables, R E and R D , stored in memory, and further comprises means for performing an n-bit transformation, T, and its inverse, T -1 , as follows: E U!=T(R.sub.E T.sup.-1 (U)!), and D U!=T(R.sub.D T.sup.-1 (U)!).
Claim 12
Dependent Claim
130 words
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.
Claim 13
Dependent Claim
130 words
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.
Claim 14
Dependent Claim
48 words
The block cipher system of claim 11, further comprising an encryption module with an input and an output, said input comprising data blocks for which substitution is desired and said output comprising substitution blocks for said input data blocks, said substitution blocks obtained from said resulting substitution table.
Claim 15
Dependent Claim
47 words
The block cipher system of claim 11, further comprising a plurality of complete sets of linearly independent numbers stored in memory, wherein said modulation module is responsive to selected key bits to select said first complete set of linearly independent numbers from said plurality of complete sets.
Claim 16
Dependent Claim
54 words
The block cipher system of claim 13, wherein said modulation module is responsive to other key bits to select certain numbers from said first complete set of linearly independent numbers for XOR operations with other numbers from said first complete set of linearly independent numbers to form said second set of linearly independent numbers.
Claim 17
Dependent Claim
53 words
The block cipher system of claim 11, wherein said modulation module is responsive to selected key bits to select certain numbers of said first set of linearly independent numbers for an XOR operation with other numbers of said first set of linearly independent numbers to form said second set of linearly independent numbers.
Claim 18
Dependent Claim
40 words
The block cipher system of claim 11, wherein said transformation module forms a matrix of the second set of linearly independent numbers and uses this matrix as a transformation of the source substitution table to form said resulting substitution table.
Claim 19
Dependent Claim
28 words
The block cipher system of claim 16, wherein said transformation module right multiplies data from said source substitution table by said matrix to form said resulting substitution table.
Claim 20
Dependent Claim
78 words
The block cipher system of claim 17, wherein said source substitution table comprises a plurality of data blocks of a predetermined bit length, and wherein said transformation comprises two inputs, said first input being an index input and said second input being said data blocks from said source substitution table, wherein said transformation module right multiplies said index by said matrix and right multiplies said data blocks by said matrix in order to obtain said resulting substitution table.
Claim 21
Dependent Claim
34 words
The block cipher system of claim 18, wherein said transformation module comprises outputs, said outputs comprising a transformed index and a transformed data block, said index providing an address for the transformed data block.
Claim 22
Dependent Claim
124 words
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.
Claim 23
Dependent Claim
124 words
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.
Claim 24
Dependent Claim
22 words
The block cipher system of claim 20, wherein said transformation module comprises an n-bit transformation logic and an n-bit inverse transformation logic.
Claim 25
Dependent Claim
27 words
The block cipher system of claim 21, wherein said n-bit linear transformation logic and said n-bit inverse linear transformation logic have variable portions which are configured simultaneously.
Claim 26
Dependent Claim
86 words
The block cipher system of claim 21, wherein said transformation module performs the following transformation: E U!=T(R.sub.E T.sup.-1 (U)!), and D U!=T(R.sub.D T.sup.-1 (U)!), where R E is the source encryption substitution table, R D is the source decryption substitution table, T -1 is the inverse n-bit linear transformation, T is the n-bit linear transformation, E U! is the temporary portion of the resulting encryption substitution table and D U! is the temporary portion of the resulting decryption table and U is the input data block.
References Cited (Backward Citations)
US4195196A
Cited
US4431865A
Cited
US4531020A
Cited
US4803725A
Cited
US4751733A
Cited
US4897876A
Cited
US5003596A
Cited
US5214704A
Cited
US5365589A
Cited
US5237611A
Cited
US5412729A
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 2001-07-06 | 2002-01-05 | 2002-07-07 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2005-07-06 | 2006-01-05 | 2006-07-07 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2009-07-06 | 2010-01-05 | 2010-07-07 | $7700.00 | Window Closed / Lapsed |