IP Library Granted Patent US 8,000,473
Granted Patent B2
US 8,000,473 · App. 11/576,437 · Granted Aug 16, 2011

Method and apparatus for generating cryptographic sets of instructions automatically and code generator

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 8,000,473
App. No.
11/576,437
Granted
Aug 16, 2011
Kind
B2
Abstract

The method according to this invention concerns a method for automatically generating cryptographic algorithms with optional supplementary data, said algorithms comprising two different zones: external algorithm secrecy zone, in external parts of the algorithm exposed to side-channel analysis, and an internal purely cryptographic zone that is not exposed to side-channel analysis, such that in the algorithm secrecy zone, the code of the algorithm is locally made of random (or pseudo-random) and independent sequences of instructions and/or table-lookups chosen from some fixed set of instructions and random constants, with some fixed prescribed probability distribution, and such that the internal cryptographic security zone can be any cryptographic algorithm or method that handles algorithmic security only and does not have to be protected against side-channel attacks.

Claims (32)

1. The method for generating, in an electronic apparatus, pseudo-random cryptographic algorithms, comprising:

generating random or pseudo-random and independent sequences of instructions or random or pseudo-random and independent sequences of table-lookups chosen from some fixed set of instructions and random constants; and

generating said cryptographic algorithms by combining said sequences of instructions or sequences of table-lookups with a cryptographic algorithm that handles algorithmic security, called algorithmic secure cryptographic algorithm;

wherein said algorithms comprise two different zones: external algorithm secrecy zone, in external parts of the algorithm exposed to side-channel analysis, and an internal purely cryptographic zone that is not exposed to side-channel analysis, whereby in the algorithm secrecy zone, the code of the algorithm is locally made of random or pseudo-random and independent sequences of instructions or random or pseudo-random and independent sequences of table-lookups chosen from some fixed set of instructions and random constants, and whereby the internal cryptographic security zone consists of any cryptographic algorithm or method that handles algorithmic security only and does not have to be protected against side-channel attacks.

2. The method according to claim 1 , further comprising generating random or pseudo-random and independent sequences of instructions or random or pseudo-random and independent sequences of table-lookups chosen from some fixed set of instructions and random constants, with some fixed prescribed probability distribution.

3. The method according to claim 2 or 1 wherein the algorithmic secure cryptographic algorithm is a reversible encryption algorithm and said sequences of instructions or sequences of table-lookups are sequences of bijective routines built out of the random sequences instructions or random sequences of table-lookups generated, with or without adding key-dependent constants, and wherein to transform a randomly generated function to a bijective routine that operates on the current state comprises:

composing randomly chosen sub-routines selected from:

new or old pseudo-random permutation S-boxes,

subroutines constructed with a generalized Feistel method defined

as modifying one current variable at a time and combining the modified current variable with an arbitrary function of all the other current variables and of randomly or pseudo-randomly generated constants, and

functions produced by adding or xoring to a current variable a special type of T-function called a parameter, that contain large compositions of randomly or pseudo-randomly chosen T-functions.

4. The method according to claim 1 , wherein the first key-dependent instructions of the generated encryption algorithm is handled deep inside the encryption process after a series of secret transformations that contain arbitrarily long sequences of instructions chosen at random with some prescribed distribution of probabilities.

5. The method according to claim 1 , wherein the method generates in addition, a readable specification of the generated cryptographic algorithm or the test values of the output algorithm.

6. The method according to claim 1 , wherein test values are used to automatically generate a code with a protection against DFA attacks with random handling of trial encryptions with test values.

7. The method according to claim 1 , further comprising that the method produces pseudo-random temporary unique cryptographic algorithms, in sending them in their executable form to remote devices to be used for key-agreement, authentication or encryption in the current session.

8. The method according to claim 1 wherein said algorithm further comprises:

generating random or pseudo-random and independent sequences of instructions

or random or pseudo-random and independent sequences of table-lookups chosen from some fixed set of instructions and random constants; and

generating said cryptographic algorithms by combining said sequences of instructions or table-lookups with a cryptographic algorithm that handles algorithmic security, called algorithmic secure cryptographic algorithm.

9. An electronic apparatus to create pseudo-random cryptographic algorithms comprising:

storage means and data processing means, characterised in that said processing means comprise means for generating random or pseudo-random and independent sequences of instructions or random or pseudo-random and independent sequences of table-lookups chosen from some fixed set of instructions and random constants;

and in that said data processing means generate cryptographic algorithms by combining said sequences of instructions or sequences of table-lookups with a cryptographic algorithm stored in said storage means that handles algorithmic security;

wherein said algorithms comprise two different zones: external algorithm secrecy zone, in external parts of the algorithm exposed to side-channel analysis, and an internal purely cryptographic zone that is not exposed to side-channel analysis, whereby in the algorithm secrecy zone, the code of the algorithm is locally made of random or pseudo-random and independent sequences of instructions or random or pseudo-random and independent sequences of table-lookups chosen from some fixed set of instructions and random constants, and whereby the internal cryptographic security zone consists of any cryptographic algorithm or method that handles algorithmic security only and does not have to be protected against side-channel attacks.

10. A method for securing an electronic system involving a cryptographic algorithm by creating pseudo-random cryptographic algorithms, the method comprising:

computation of random or pseudo-random and independent sequences of instructions or random or pseudo-random and independent sequences of table-lookups, chosen from some fixed set of instructions and random constants;

execution of a combination of said sequences of instructions or sequences of table-lookups with a cryptographic algorithm that handles algorithmic security;

wherein said algorithms comprise two different zones: external algorithm secrecy zone, in external parts of the algorithm exposed to side-channel analysis, and an internal purely cryptographic zone that is not exposed to side-channel analysis, whereby in the algorithm secrecy zone, the code of the algorithm is locally made of random or pseudo-random and independent sequences of instructions or random or pseudo-random and independent sequences of table-lookups chosen from some fixed set of instructions and random constants, and whereby the internal cryptographic security zone consists of any cryptographic algorithm or method that handles algorithmic security only and does not have to be protected against side-channel attacks.

11. An electronic system having the capability of creating pseudo-random cryptographic algorithms, comprising:

information processing means and information storage means comprising:

means for computing random or pseudo-random and independent sequences of instructions or random or pseudo-random and independent sequences of table-lookups, chosen from some fixed set of instructions and random constants; and

means for executing a combination of said sequences of instructions or sequences of table-lookups with a cryptographic algorithm that handles algorithmic security;

wherein said algorithms comprise two different zones: external algorithm secrecy zone, in external parts of the algorithm exposed to side-channel analysis, and an internal purely cryptographic zone that is not exposed to side-channel analysis, whereby in the algorithm secrecy zone, the code of the algorithm is locally made of random or pseudo-random and independent sequences of instructions or random or pseudo-random and independent sequences of table-lookups chosen from some fixed set of instructions and random constants, and whereby the internal cryptographic security zone consists of any cryptographic algorithm or method that handles algorithmic security only and does not have to be protected against side-channel attacks.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 31, 2011
From: AXALTO SA
To: GEMALTO SA
Reel/Frame 027145/0844 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 10, 2011
From: AXALTO SA
To: GEMALTO SA
Reel/Frame 026725/0256 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 24, 2007
From: GOUBIN, LOUIS; COURTOIS, NICOLAS
To: AXALTO SA
Reel/Frame 019203/0364 →