IP Library Granted Patent US 10,355,691
Granted Patent B2
US 10,355,691 · App. 15/981,462 · Granted Jul 16, 2019

Minimizing information leakage from combinatorial logic

Inventor: Stuart Audley (Gainesville, FL)
Assignee: THE ATHENA GROUP, INC.
H03K19/003G06F21/75G06F21/755H03K19/17768
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,355,691
App. No.
15/981,462
Granted
Jul 16, 2019
Kind
B2
Abstract

An apparatus, system and method are disclosed to block and replace intermediate combinatorial transitions that are correlated with secret data, also referred to as glitches, with random intermediate combinatorial transitions that are uncorrelated with the data being processed.

Claims (110)

1. A glitch block circuit for reducing information leakage due to combinatorial logic glitches, the glitch block circuit comprising:

combinatorial logic,

wherein the combinatorial logic outputs a first signal having one or more combinatorial logic glitches,

wherein combinatorial logic glitches of the one or more combinatorial logic glitches are correlated to cryptographic data being processed via the combinatorial logic;

logic,

wherein the logic is configured to receive:

the first signal;

a glitch block enable signal,

wherein the logic is configured to output an output signal, such that the output signal is either:

the first signal; or

a second signal,

depending on a value of the glitch block enable signal,

wherein the second signal is uncorrelated to the cryptographic data being processed.

2. The circuit according to claim 1 , further comprising:

steady to unpredictable logic,

wherein the glitch block enable signal is generated via the steady to unpredictable logic.

3. The circuit according to claim 2 , further comprising:

wherein the steady to unpredictable logic comprises:

a first set of steady to unpredictable logic; and

a second set of steady to unpredictable logic,

wherein the first set of steady to unpredictable logic outputs a first set glitch block enable signal,

wherein the second set of steady to unpredictable logic outputs a second set glitch block enable signal,

wherein the glitch block enable signal is toggled between the first set glitch block enable signal and the second set glitch block enable signal such that combinatorial logic glitches of the one or more combinatorial logic glitches are blocked on every clock cycle of a clock signal with respect to which the cryptographic data being processed is processed.

4. The circuit according to claim 2 ,

wherein the steady to unpredictable logic comprises:

a first steady to unpredictable logic block; and

a second steady to unpredictable logic block,

wherein the first steady to unpredictable logic block receives first steady to unpredictable logic block inputs and outputs first steady to unpredictable logic block outputs,

wherein the second steady to unpredictable logic block receives second steady to unpredictable logic block inputs and outputs second steady to unpredictable logic block outputs, and

wherein the first steady to unpredictable logic block outputs are the second steady to unpredictable logic block inputs.

5. The circuit according to claim 1 , further comprising:

a glitch block enable signal generator,

wherein the glitch block enable signal generator generates the glitch block enable signal, and

wherein the glitch block enable signal generator comprises one or more delay buffers.

6. The circuit according to claim 1 , further comprising:

a glitch block enable signal generator,

wherein the glitch block enable signal generator generates the glitch block enable signal, and

wherein the glitch block enable signal-generator comprises:

a first toggle resister having a main clock signal with respect to which the cryptographic data being processed is processed as a first toggle register input; and

one or more additional toggle registers having a corresponding one or more additional clock signals as a corresponding one or more additional toggle register inputs,

wherein the one or more additional clock signals have a corresponding one or more phase delays with respect to the main clock signal.

7. The circuit according to claim 1 , further comprising:

a glitch block enable signal generator,

wherein the glitch block enable signal generator generates the glitch block enable signal, and

wherein the glitch block enable signal generator comprises one or more high speed clock shift registers.

8. The circuit according to claim 1 ,

wherein the logic comprises a multiplexer.

9. The circuit according to claim 1 ,

wherein the logic comprises an AND gate.

10. A glitch block circuit for reducing information leakage due to combinatorial logic glitches, comprising:

logic with an input signal that has one or more combinatorial logic glitches,

wherein combinatorial logic glitches of the one or more combinatorial logic glitches are correlated to cryptographic data being processed; and

a glitch block enable signal; and

a one-shot glitch generator consisting of at least two multiplexers in series,

wherein the at least two multiplexers in series are n multiplexers in series, where n is an integer;

a corresponding n combiners, wherein a first multiplexer of the n multiplexers is configured to receive:

a first glitch input signal of a corresponding n glitch input signals,

wherein the n glitch input signals are a corresponding n unpredictable random value input signals;

a first uncorrelated signal of a corresponding n uncorrelated signals,

wherein the n uncorrelated signals are uncorrelated to cryptographic data being processed; and

a one-shot select signal,

wherein the first multiplexer of the n multiplexers is configured to output a first multiplexer output,

wherein a first combiner of the n combiners is configured to receive:

the first multiplexer output; and

the second glitch input signal of the n glitch input signals, and

wherein the first combiner of the n combiners is configured to output a first combiner output,

wherein an m th multiplexer of the n multiplexers, where 1<m<n, is configured to receive:

an m th uncorrelated signal of the n uncorrelated signals,

an (m−1) th combiner output; and

the one-shot select signal,

wherein the an m th multiplexer of the n multiplexers is configured to output an m th multiplexer output,

wherein an (n−1) th combiner of the n combiners is configured to receive:

an (n−1) th multiplexer output; and

an n th glitch input signal of the n glitch input signals; and

wherein the (n−1) th combiner of the n combiners is configured to output an (n−1) th combiner output,

wherein an n th multiplexer of the n multiplexers is configured to receive:

an n th uncorrelated signal of the n uncorrelated signals,

the (n−1) th combiner output; and

the one-shot select signal,

wherein the n th multiplexer of the n multiplexers is configured to output an n th multiplexer output,

wherein an n th combiner of the n combiners is configured to receive:

the n th multiplexer output; and

a functional output,

wherein the n th combiner of the n combiners is configured to output an n th combiner output,

wherein the one-shot select signal selects the first glitch input signal of the n glitch input signals, the (m−1) th combiner output when 1<m<n, and the (n−1) th combiner output, when one-shot glitches are beneficial to reduce a signal-to-noise ratio of an information leakage,

wherein the cryptographic data being processed is a fixed or random value variable, and

wherein the n th multiplexer output is combined with the functional output to produce the n th combiner output, and

wherein combining the n th multiplexer output with the functional output causes no functional difference by creating a total combined signal difference of zero.

11. A method of blocking one or more combinatorial logic glitches in a signal, comprising:

receiving a first signal having one or more combinatorial logic glitches,

wherein combinatorial logic glitches of the one or more combinatorial logic glitches are correlated with cryptographic data being processed; and

outputting an output signal,

wherein a first portion of the output signal is the first signal,

wherein a second portion of the output signal is uncorrelated to the cryptographic data being processed during at least one duration of the input signal having a corresponding at least one combinatorial logic glitch of the one or more combinatorial logic glitches.

12. The method according to claim 11 ,

wherein the first input signal is received from combinatorial logic, and

wherein the combinatorial logic glitches of the one or more combinatorial logic glitches are correlated with cryptographic data being processed via the combinatorial logic.

13. The method according to claim 12 , further comprising:

inputting the first input signal into logic;

inputting a glitch block enable signal into the logic; and

outputting the output signal from the logic,

wherein the output signal is either:

the first signal; or

a second signal,

depending on a value of the glitch block enable signal,

wherein the second signal is uncorrelated to the cryptographic data being processed.

14. The method according to claim 13 ,

wherein the logic comprises a multiplexer.

15. The method according to claim 13 ,

wherein the logic comprises an AND gate.

Assignments (3)
NOTICE OF SUCCESSOR AGENT AND ASSIGNMENT OF SECURITY INTEREST IN REEL/FRAME 070262/0854 Recorded Nov 7, 2025
From: BANK OF AMERICA, N.A., AS PREDECESSOR AGENT
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS SUCCESSOR AGENT
Reel/Frame 073506/0684 →
SECURITY INTEREST Recorded Feb 19, 2025
From: MERCURY SYSTEMS, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 070262/0854 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 2, 2018
From: AUDLEY, STUART
To: THE ATHENA GROUP, INC.
Reel/Frame 046532/0233 →
Continuity (3)
Continuation 15184386 · Jun 16, 2016
Provisional Application 62180470 · Jun 16, 2015
Related Publication 20180269874A1 · Sep 20, 2018