IP Library Granted Patent US 7,848,515
Granted Patent B2
US 7,848,515 · App. 11/358,979 · Granted Dec 7, 2010

Encryption protection method

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 7,848,515
App. No.
11/358,979
Granted
Dec 7, 2010
Kind
B2
Abstract

A deterministic blinding method for cipher algorithms that employ key-mixing and substitution (S-box) operations uses a masking table constructed with a true mask and a plurality of dummy masks corresponding to every possible S-box input. Each mask is applied in the key-mixing operation (e.g., bitwise XOR) to the cipher key or to round subkeys to generate true and dummy keys or subkeys that are applied to the data blocks within the overall cipher algorithm or within individual cipher rounds. The mask values prevent side-channel statistical analyses from determining the true from the dummy keys or subkeys. The true mask is identifiable to the cipher but not by external observers.

Claims (21)

1. An encryption protection method, comprising:

constructing a masking table having a plurality of masks, including a true mask;

applying all masks of the masking table to a cipher key to generate masked keys, including one true key and a plurality of dummy keys, for use in multiple loops of a cipher algorithm;

executing the multiple loops of the cipher algorithm upon input message data to obtain processed message data results, each loop of the cipher algorithm being executed using a different one of the masked keys until all masked keys have been used once, the executing of a loop of the cipher algorithm using the true key producing a true message data result, while the executing of a loop of the cipher algorithm using any of the dummy keys producing a dummy message data result: and

storing the true message data result in a first memory location and storing the dummy message data results in one or more second memory locations,

wherein the execution of the loops using the dummy keys and the storage of the dummy message data results are to inhibit cryptoanalysis attacks by masking operations that use the true key, and

wherein in executing a loop of the cipher algorithm, a set of round subkeys is generated from the masked key used for that loop of the cipher algorithm, the true key generating a set of true round subkeys to be applied to the message data in rounds of one loop of the cipher algorithm to produce the true message data result, the plurality of dummy keys generating corresponding sets of dummy round subkeys to be applied to the message data in rounds of respective loops of the cipher algorithm to produce the dummy message data results.

2. An encryption protection method, comprising:

constructing a masking table having a plurality of masks, including a true mask;

applying, during each round of a cipher, all masks of the masking table to a subkey and a data block as part of a key-mixing operation for that round to mask said key-mixing operation, where applying the true mask to the subkey and data block obtains results identical to that of applying the subkey and data block alone in the key-mixing operation, and where applying all of the plurality of masks in the key-mixing operation obtain all possible S-box input values for the cipher;

applying the results of the masked key-mixing operation to inputs of a substitution table or S-box of the cipher; and

proceeding with a next step of the cipher, using results of applying the true mask, until all rounds are completed,

wherein the application of the masks in the key-mixing operation and the application of the results to inputs of the substitution table or S-box of the cipher are to inhibit cryptoanalysis attacks by masking operations that use the true mask, and

wherein each mask in the masking table is accessed and applied in the key-mixing operation once and only once per round but in a random order, the true mask being identifiable to the cipher.

3. An encryption protection method for an encryption cipher, the method comprising:

constructing a masking table having 2 n masks, including a true mask, the true mask having a set of zero values, the (2 n −1) other masks being dummy masks, each dummy mask having an ordered set of n-bit values assigned to different S-boxes of the cipher, the masks in the masking table having each of the 2 n possible n-bit values assigned once to each of the S-boxes;

applying, during each round of a cipher, all masks of the masking table to a subkey and data as part of a key-mixing operation for that round to mask said key-mixing operation, the subkey and data in any cipher round being subdivided into n-bit blocks assigned separately to the different S-boxes of the cipher, the key-mixing operation involving bitwise operations, wherein applying the zero values of the true mask to the subkey and data block obtains results identical to that of applying the subkey and data block alone in the key-mixing operation, and where applying all of the plurality of masks in the key-mixing operation obtain all possible n-bit S-box input values for each of the S-boxes of the cipher;

applying the results of the masked key-mixing operation to inputs of the S-boxes of the cipher; and

proceeding with a next step of the cipher, using only the results of applying the true mask, until all rounds are completed,

wherein the application of the masks in the key-mixing operation and the application of the results to inputs of the S-boxes of the cipher are to inhibit cryptoanalysis attacks by masking operations that use the true mask, and

wherein each mask in the masking table is accessed and applied in the key-mixing operation once and only once per round but in a random order, the true mask being identifiable to the cipher.

Assignments (10)
RELEASE OF SECURITY INTEREST Recorded Oct 18, 2023
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: HERITAGE-CRYSTAL CLEAN, LLC; HERITAGE-CRYSTAL CLEAN, INC.
Reel/Frame 065270/0381 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 3, 2020
From: RAMBUS INC.
To: CRYPTOGRAPHY RESEARCH, INC.
Reel/Frame 054539/0109 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 12, 2019
From: VERIMATRIX
To: RAMBUS INC.
Reel/Frame 051262/0413 →
PARTIAL RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL Recorded Nov 21, 2019
From: GLAS SAS, AS AGENT
To: INSIDE SECURE
Reel/Frame 051076/0306 →
CHANGE OF ADDRESS Recorded Oct 16, 2019
From: VERIMATRIX
To: VERIMATRIX
Reel/Frame 050733/0003 →
CHANGE OF NAME Recorded Oct 7, 2019
From: INSIDE SECURE
To: VERIMATRIX
Reel/Frame 050647/0428 →
SECURITY INTEREST Recorded Feb 27, 2019
From: INSIDE SECURE
To: GLAS SAS, AS SECURITY AGENT
Reel/Frame 048449/0887 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 26, 2012
From: ATMEL ROUSSET S.A.S.
To: INSIDE SECURE
Reel/Frame 028644/0509 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 10, 2010
From: ATMEL CORPORATION
To: ATMEL ROUSSET S.A.S.
Reel/Frame 024055/0850 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 26, 2006
From: DUPAQUIS, VINCENT; DOUGUET, MICHEL
To: ATMEL CORPORATION
Reel/Frame 018005/0755 →