IP Library Granted Patent US 11,366,936
Granted Patent B2
US 11,366,936 · App. 16/078,588 · Granted Jun 21, 2022

Flexible cryptographic device

Inventors: Andre Kudelski (Cheseaux-sur-Lausanne, CH); Nicolas Fischer (Cheseaux-sur-Lausanne, CH); Jerome Perrine (Cheseaux-sur-Lausanne, CH)
Assignee: NAGRAVISION S.A.
G06F21/76G06F21/572G06F21/64G06F21/73G06F21/77G06F30/34H04L9/0866H04L9/3278H04L9/32
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 11,366,936
App. No.
16/078,588
Granted
Jun 21, 2022
Kind
B2
Abstract

A method of programming a device comprising acquiring configuration data, loading the configuration data onto a programmable device, processing at least a portion of the configuration data through a one way function to form processed configuration data, and configuring at least one configurable module of the programmable device using the processed configuration data from the processing step.

Claims (41)

1. A method of programming a programmable device comprising:

acquiring configuration data;

decrypting the configuration data;

loading the configuration data onto the programmable device;

processing at least a portion of the configuration data, after decryption, through a oneway function to form processed configuration data;

configuring at least one of a plurality of configurable modules of the programmable device using the processed configuration data from the processing step, the plurality of configurable modules being arranged in an interconnected matrix and being interconnected by a plurality of connections; and

initializing at least the plurality of connections of the interconnected matrix by at least establishing a portion of the plurality of connections and removing another portion of the plurality of connections,

wherein at least one of the plurality of configurable modules of the programmable device is configured by data that, after decryption, is not processed through the oneway function.

2. The method according to claim 1 , wherein the loading step further comprises verifying authenticity and/or integrity of the configuration data by way of a symmetric or an asymmetric key.

3. The method according to claim 2 , wherein verifying authenticity of the configuration data is carried out by the at least one configuration module.

4. The method according to claim 1 , wherein the loading step comprises loading the configuration data onto a configuration module of the programmable device.

5. The method according to claim 1 , wherein the configuring step comprises at least one of:

initializing the programmable device;

configuring the at least one configurable module of the programmable device; and

configuring an interconnection between modules of the programmable device wherein the modules may be configurable or non-configurable.

6. The method according to claim 1 , wherein a power consumption while executing the method adheres to smartcard operating parameters.

7. A programmable device, comprising:

circuitry configured to:

acquire configuration data;

load the configuration data onto the programmable device;

decrypt the configuration data;

process at least a portion of the configuration data, after decryption, through a oneway function to form processed configuration data; and

configure at least one of a plurality of configurable modules of the programmable device using the processed configuration data, the plurality of configurable modules being arranged in an interconnected matrix and being interconnected by a plurality of connections; and

initialize at least the plurality of connections of the interconnected matrix by at least establishing a portion of the plurality of connections and removing another portion of the plurality of connections,

wherein at least one of the plurality of configurable modules of the programmable device is configured by data that, after decryption, is not processed through the oneway function.

8. The programmable device according to claim 7 , wherein the programmable device comprises a one way function and the at least one configuration module.

9. The programmable device according to claim 7 , wherein the at least one configuration module comprises a cryptographic module.

10. The programmable device according to claim 9 , wherein the cryptographic module comprises at least one of a substitution box module, a substitution table module, a bit permutation module, a byte permutation module, or a matrix multiplication module.

11. The programmable device according to claim 9 , wherein the cryptographic module comprises a hardener for a true random number generator or a physically unclonable function (PUF).

12. The programmable device according to claim 7 , wherein the at least one configurable module comprises a programmable state-machine.

13. The programmable device according to claim 7 , wherein the programmable device is positioned in a smartcard.

14. The programmable device according to claim wherein the form factor of the programmable device adheres to smartcard parameters.

15. A system for programming a programmable device comprising:

circuitry configured to:

acquire configuration data;

decrypt the configuration data;

load the configuration data onto the programmable device;

process at least a portion of the configuration data, after decryption, through a oneway function to form processed configuration data;

configure at least one of a plurality of configurable modules of the programmable device using the processed configuration data from the processing step, the plurality of configurable modules being arranged in an interconnected matrix and being interconnected by a plurality of connections; and

initialize at least the plurality of connections of the interconnected matrix by at least establishing a portion of the plurality of connections and removing another portion of the plurality of connections,

wherein at least one of the plurality of configurable modules of the programmable device is configured by data that, after decryption, is not processed through the oneway function.

Assignments (2)
CHANGE OF NAME Recorded May 8, 2023
From: NAGRAVISION SA
To: NAGRAVISION SÀRL
Reel/Frame 063566/0842 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 21, 2018
From: KUDELSKI, ANDRE; FISCHER, NICOLAS; PERRINE, JEROME
To: NAGRAVISION S.A.
Reel/Frame 046654/0215 →
Priority Claims (1)
GB 1605974 · Apr 7, 2016 · national
Continuity (1)
Related Publication 20190050605A1 · Feb 14, 2019