IP Library Granted Patent US 10,270,590
Granted Patent B2
US 10,270,590 · App. 15/026,854 · Granted Apr 23, 2019

Process efficient preprocessing for any encryption standard

Inventor: Richard Bruno (St. Albans, VT)
Assignee: McAfee, LLC
H04L9/065G06F21/602G06F21/62H04L9/0637H04L2209/04H04L2209/34
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,270,590
App. No.
15/026,854
Granted
Apr 23, 2019
Kind
B2
Abstract

A pre-encryption process for symmetric encryption processes that inputs a bit stream into any existing or future encryption standard to increase encryption complexity with a disproportionate increase in processing time. The first encoding step is the two-stage generation of two strong keys based on a seed strong crypto key and known information from the Source Data bit stream. The second step is to split and encode the bit stream based on entropy levels. After entropy coding, the aligned bit streams are multiplexed in a cyclic fashion to generate one resulting bit stream. The third step is to slice the resulting bit stream into blocks, encrypting each block and adding each block to a coded output bit stream. Each new strong crypto key is derived from the previous crypto key and the previous pre-processed bit stream data. The decoding process is provided that is a simplified inverse of the encoding process.

Claims (37)

1. A method of creating at least two band entropy coded bit streams from a Source Data bit stream, the method comprising:

separating the Source Data bit stream into at least a high bit stream and a low bit stream, each of the high bit stream and the low bit stream associated with an entropy band having a predetermined entropy designation indicating a level of entropy content, the predetermined entropy designation selected from an entropy designation range between a predetermined high entropy designation and a predetermined low entropy designation;

entropy coding each of the high bit stream and the low bit stream separately and in parallel using a standard entropy coder to create at least two band entropy coded bit streams;

generating a bit mask with a hash, the hash having inputs of at least a predetermined strong encryption key and selected data that is from the Source Data bit stream, the selected data not encrypted during any encryption process;

merging each of the at least two band entropy coded bit streams into a resultant band entropy coded bit stream based on a sequence of at least one indexed value obtained from the bit mask; and

at least one of storing or sharing the resultant band entropy coded bit stream in a same file format as the Source Data bit stream.

2. The method of claim 1 , wherein:

the sequence of the at least one indexed value proceeds in steps from a first index value of the bit mask to a last index value of the bit mask and repeats from the first index value, wherein the steps have a step size in a range from a minimum step size of one bit and a maximum step size of a width of the at least one indexed value in bits, and

the at least one indexed value obtained from the bit mask is associated with at least one of the at least two band entropy coded bit streams to be merged.

3. The method of claim 2 wherein the at least one indexed value has a predetermined bit width and is determined based on a maximum number of the at least two band entropy coded bit streams created, the at least one indexed value including at least one of: a bit, a nibble, or a byte.

4. The method of claim 3 , wherein a current mask position indexed value is used to select a unit of multiplexing data from the at least two band entropy coded bit streams, the unit of multiplexing data having a bit size obtained from the bit mask, the bit size being one of: a bit, a nibble, a byte, a word, or a longword.

5. The method of claim 4 , further comprising:

adding an end of band flag to the resultant band entropy coded bit stream when one of the at least two band entropy coded bit streams has no further bits; and

merging a remaining one of the at least two band entropy coded bit streams until no further bits are left in the remaining one of the at least two band entropy coded bit streams.

6. A method of encoding sequential blocks, each of the sequential blocks being associated with a unique encryption key, the method comprising:

slicing a resultant band entropy coded bit stream into a plurality of sequential blocks having a predetermined block size;

generating a first unique strong encryption key for a first block of the plurality of sequential blocks from a hash of a previous unique encryption key associated with a previous block of the plurality of sequential blocks and data of the previous block of the plurality of sequential blocks;

encrypting, with a standard encryption coder, the first block of the plurality of sequential blocks by the first unique strong encryption key associated with the first block of the plurality of sequential blocks;

generating a second unique strong encryption key for a second subsequent block of the plurality of sequential blocks from a hash of the first unique strong encryption key associated with the first block and data of the first block;

encrypting, with a standard encryption coder, the second subsequent block by the second unique strong encryption key associated with the second subsequent block;

merging the encrypted sequential blocks into the resultant bit stream based on a sequence of at least one indexed value obtained from a bit mask generated with a hash, the hash having inputs of at least a predetermined strong encryption key and selected data that is from a Source Data bit stream, the selected data not encrypted during any encryption process; and

at least one of storing or sharing the resultant bit stream in a same file format as the Source Data bit stream.

7. The method of claim 6 , further comprising adding an end of block flag to an end of each of the plurality of sequential blocks.

8. A method of decoding a resultant bit stream, the method comprising:

slicing the resultant bit stream into a plurality of sequential blocks having predetermined block sizes;

decrypting, with a standard decryption decoder, a first block of the plurality of sequential blocks using a first generated unique strong decryption key from a hash of a known strong decryption key and bit stream data, the first unique strong decryption key associated with the first block of the plurality of sequential blocks to generate a first segment of a band entropy coded bit stream;

generating a second unique strong decryption key for a second subsequent block of the plurality of sequential blocks from a hash of the first generated unique strong decryption key associated with the first block of the plurality of sequential blocks and data of the first block of the plurality of sequential blocks;

decrypting, with a standard decryption decoder, the second subsequent block of the plurality of sequential blocks using the second unique strong decryption key associated with the second subsequent block of the plurality of sequential blocks to generate a second segment of the band entropy coded bit stream;

merging at least the first segment of the band entropy coded bit stream and the second segment of the band entropy coded bit stream to generate a Source Data bit stream using a bit mask for de-multiplexing, the bit mask based on the hash of a known strong decryption key and the bit stream data; and

at least one of storing or sharing the Source Data bit stream in a same file format as the resultant bit stream.

9. The method of claim 8 , wherein the predetermined block size is fixed.

10. The method of claim 8 , wherein the predetermined block size is variable.

11. A method of decoding at least two band entropy coded bit streams into a Source Data bit stream, the method comprising:

generating a bit mask with a hash, the hash having inputs of at least a predetermined strong decryption key and selected data that is from a bit stream and that is not encrypted during any encryption process;

entropy decoding each of at least two band entropy coded bit streams separately and in parallel using a standard entropy decoder to generate at least two band entropy decoded bit streams, each of the at least two band entropy coded bit streams decoded with an entropy band decoder having a predetermined entropy designation indicating a level of entropy content, the predetermined entropy designation selected from an entropy designation range between a predetermined high entropy designation and a predetermined low entropy designation;

merging each of the at least two band entropy decoded bit streams together to generate the Source Data bit stream based on a sequence of at least one indexed value obtained from the bit mask; and

at least one of storing or sharing the Source Data bit stream in a same file format as the at least two band entropy coded bit streams.

Assignments (11)
CORRECTIVE ASSIGNMENT TO CORRECT THE THE PATENT TITLES AND REMOVE DUPLICATES IN THE SCHEDULE PREVIOUSLY RECORDED AT REEL: 059354 FRAME: 0335. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jun 23, 2022
From: MCAFEE, LLC
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 060792/0307 →
SECURITY INTEREST Recorded Mar 3, 2022
From: MCAFEE, LLC
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT AND COLLATERAL AGENT
Reel/Frame 059354/0335 →
RELEASE OF INTELLECTUAL PROPERTY COLLATERAL - REEL/FRAME 045056/0676 Recorded Mar 2, 2022
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: MCAFEE, LLC
Reel/Frame 059354/0213 →
RELEASE OF INTELLECTUAL PROPERTY COLLATERAL - REEL/FRAME 045055/0786 Recorded Oct 26, 2020
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: MCAFEE, LLC
Reel/Frame 054238/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE PATENT 6336186 PREVIOUSLY RECORDED ON REEL 045056 FRAME 0676. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY INTEREST. Recorded Oct 22, 2020
From: MCAFEE, LLC
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 054206/0593 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE PATENT 6336186 PREVIOUSLY RECORDED ON REEL 045055 FRAME 786. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY INTEREST. Recorded Oct 22, 2020
From: MCAFEE, LLC
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 055854/0047 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 22, 2019
From: PASSWORDBOX INC.
To: MCAFEE, INC.
Reel/Frame 048416/0380 →
SECURITY INTEREST Recorded Jan 12, 2018
From: MCAFEE, LLC
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 045056/0676 →
SECURITY INTEREST Recorded Jan 12, 2018
From: MCAFEE, LLC
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 045055/0786 →
CHANGE OF NAME Recorded Jan 9, 2018
From: MCAFEE, INC.
To: MCAFEE, LLC
Reel/Frame 045029/0406 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 21, 2016
From: BRUNO, RICHARD
To: PASSWORDBOX INC.
Reel/Frame 039214/0524 →
Continuity (1)
Related Publication 20160234011A1 · Aug 11, 2016