Dynamic substitution combiner and extractor
First Claim
1. A mechanism for combining a first data source and a second data source into result data, including:
- (a) substitution means for translating values from said first data source into said result data or substitute values, and(b) change means, at least responsive to some aspect of said second data source, for permuting or re-arranging a plurality of the translations or substitute values within said substitution means, potentially after every substitution operation.
0 Assignments
0 Petitions
Accused Products
Abstract
A first data source and a second data source are combined into a complex intermediate form or result; the first data source can be extracted from the intermediate form using the second data source. The combining mechanism can provide an alternative to the exclusive-OR combiner commonly used in stream ciphers.
Each data value from the first data source is transformed by substitution using one of potentially multiple translation tables (12). The translations within each table can be changed after each substitution operation using a changes controller (18). Commonly, the just-used table is re-arranged or permuted; permutation retains invertibility, so that the ciphertext may be deciphered. As a particular design, the just-used substitution element may be exchanged with some element within the same table, as selected by the second data source, after every translation.
The combiner substitution tables (12) can easily be forced to be invertible, and when they are, extraction is possible by substitution through inverse tables (24). Valid inverse tables can be maintained provided that the same second data is used by both mechanisms. This is the normal situation in stream ciphers.
The combiner can also be used to combine two pseudo-random confusion streams into a more-complex confusion stream. In this case, exctraction may be unnecessary and so the combiner substitution tables need not be invertible. Thus, the translation changes need not be limited to permutations.
-
Citations
19 Claims
-
1. A mechanism for combining a first data source and a second data source into result data, including:
-
(a) substitution means for translating values from said first data source into said result data or substitute values, and (b) change means, at least responsive to some aspect of said second data source, for permuting or re-arranging a plurality of the translations or substitute values within said substitution means, potentially after every substitution operation. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A mechanism for extracting original data from a first data source using a second data source, including:
-
(a) first substitution means for inverse translating values from said first data source into said original data or resulting data values, (b) second substitution means for translating values from said second data source into translated second data source values, (c) second change means, at least responsive to some aspect of said resulting data values, for permuting or re-arranging a plurality of the translations within said second substitution means, and (d) first change means, at least responsive to some aspect of said translated second data values, for permuting or re-arranging a plurality of the translations within said first substitution means. - View Dependent Claims (10, 11, 12, 13, 14)
-
-
15. A two-input one-circuit logic mechanism or design, which combines a first input value with a second input value, including:
-
(a) substitution means, potentially including a plurality of storage means, for saving substitute values and translating said first input value into an output value, and (b) change means, at least responsive to some aspect of said second input value, for redefining a plurality and proper subset of the substitute values within said storage means, potentially after every substitution operation. - View Dependent Claims (16, 17, 18, 19)
-
Specification