IP Library › Granted Patent US 10,740,497
Granted Patent B2
US 10,740,497 · App. 15/996,382 · Granted Aug 11, 2020

System and method for cryptographic processing in a time window

Inventors: Neil Hamilton (Kanata, CA); Francois Bourdon (Nepean, CA); Michael Borza (Ottawa, CA)
Assignee: Synopsys, Inc.
G06F21/755G06F21/72H04L9/003G06F2221/2123
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,740,497
App. No.
15/996,382
Granted
Aug 11, 2020
Kind
B2
Abstract

A method is disclosed for providing first data and a first secret key to a cipher processor for ciphering. The first data is ciphered in accordance with a first cipher process and the first secret key to provide output data. Before ciphering of the first data, extra data is inserted within the cipher processor for ciphering in accordance with at least a portion of said first cipher process. The extra data is inserted within a sequence of cipher processor operations for obfuscating the output data.

Claims (16)

1. A method comprising:

providing first data of a first data stream and a first secret key to a cipher processor for ciphering;

said cipher processor ciphering the first data in accordance with a first cipher process and the first secret key to provide output data; and

before ciphering of the first data, inserting extra data of at least a second data stream within the cipher processor in order to provide processing of at least two interleaved data streams, wherein each such data stream is processed using the same one, and only that same one, instance of a round and key expansion function for ciphering in accordance with at least a portion of said first cipher process, said extra data inserted within a sequence of cipher processor operations for obfuscating said output data.

2. A method according to claim 1 wherein the at least a portion of said first cipher process comprises inserting a plurality of guard rounds at one or more locations within the sequence of cipher processor operations to obfuscate an operation of the cipher processor from side-channel attack.

3. A method according to claim 1 wherein the at least a portion of said first cipher process comprises inserting a plurality of guard rounds immediately before an initial round and immediately after a final round, the initial and final rounds processed in a similar fashion to other rounds.

4. A method according to claim 2 wherein the at least a portion of said first cipher process comprises inserting a plurality of guard rounds similar to an initial round and a plurality of guard rounds similar to a final round to make it difficult to determine by way of side-channel attack when the initial and final rounds occurred.

5. A method according to claim 1 wherein the at least a portion of said first cipher process is inserted within the sequence of cipher processor operations differently for different first data to make it difficult to determine the position of the at least a portion of the said first cipher process within the sequence of cipher processor operations by way of side-channel attack.

6. A method according to claim 1 wherein the at least a portion of said first cipher process comprises dummy operations being executed solely to obfuscate operation of the cipher process.

7. A method according to claim 1 comprising:

providing a second secret key; and

providing second data to the cipher processor, the second data provided for being ciphered by the cipher processor,

wherein the at least a portion of said first cipher process comprises operations for performing the cipher with the second data and with the second secret key.

8. A method according to claim 7 wherein cipher processor operations on the first data and cipher processor operations on the second data are interleaved one with another in a known fashion within the cipher processor and in an unknown fashion from outside the cipher processor.

9. A method according to claim 7 wherein cipher processor operations on the first data and cipher processor operations on the second data are interleaved one with another in predetermined fashion within the cipher processor and in an unknown fashion from outside the cipher processor, the interleaving inconsistent.

10. A method according to claim 1 wherein cipher processor operations on the first data of the first data stream and cipher processor operations on second data of the second data stream are interleaved one with another in a known fashion within the cipher processor and in an unknown fashion from outside the cipher processor, the interleaving inconsistent between different first and second data streams.

Continuity (3)
Continuation 14056289 · Oct 17, 2013
Provisional Application 61715066 · Oct 17, 2012
Related Publication 20180278411A1 · Sep 27, 2018