Data encryption and decryption using dynamic screens and logic blocks
AssigneeCeruleant Systems, LLC
InventorsJason McNutt, Amy J. Witty
Life of this patent
Estimating the term…
Abstract
A data encryption and decryption method using dynamic screens and logic blocks is disclosed. Data blocks are encrypted in accordance with an encryption scheme that transforms a data block into an encrypted data block by applying a dynamic screen and one or more logic blocks—wherein the dynamic screen and logic blocks are preferably different between successive data blocks. The encrypted data blocks may then be decrypted in accordance with a decryption scheme that transforms an encrypted data block into the original data block by applying a dynamic inverse screen and the same logic blocks that were used in the encryption scheme.
Claims14
A data encryption method, comprising:
- creating a plurality of data blocks each of which comprises a plurality of bits positioned in an index block comprising a plurality of index positions;
- generating a plurality of dynamic screens each of which identifies a correspondence between a plurality of initial index positions and a plurality of remapped index positions within the index block;
- and
- encrypting the data blocks in accordance with an encryption scheme that performs a bit remapping operation using a different one of the dynamic screens in connection with each of the data blocks,
- wherein the step of generating the dynamic screens comprises:
- generating a plurality of useable subscreens;
- selecting a different subset of the useable subscreens for each of the dynamic screens;
- and
- assembling the subset of the useable subscreens to generate each of the dynamic screens,
- and wherein the useable subscreens comprise a plurality of dependent subscreens each of which is dependently generated based on a previously-generated subscreen.
A data encryption method, comprising:
- creating a plurality of data blocks each of which comprises a plurality of bits;
- generating a plurality of logic blocks for each of the data blocks;
- generating a different dynamic screen for each of the data blocks;
- and
- encrypting the data blocks in accordance with an encryption scheme that transforms a data block into an encrypted data block by:
- (a) modifying the bits of the data block using a first portion of the logic blocks generated for the data block to thereby generate a first intermediate state data block;
- (b) remapping the modified bits of the first intermediate state data block using the dynamic screen generated for the data block to thereby generate a second intermediate state data block;
- and (c) modifying the remapped bits of the second intermediate state data block using a second portion of the logic blocks generated for the data block to thereby generate the encrypted data block,
- wherein the step of generating a dynamic screen comprises:
- generating a plurality of useable subscreens;
- selecting a different subset of the useable subscreens for each of the dynamic screens;
- and
- assembling the subset of the useable subscreens to generate each of the dynamic screens,
- and wherein the useable subscreens comprise a plurality of dependent subscreens each of which is dependently generated based on a previously-generated subscreen.
Dependencies are inferred from the claim text.