IP Library Granted Patent US 9,710,623
Granted Patent B2
US 9,710,623 · App. 12/921,075 · Granted Jul 18, 2017

Cryptographic system

Inventors: Wilhelmus P. A. J. Michiels (Eindhoven, NL); Paulus M. H. M. A. Gorissen (Eindhoven, NL)
Assignee: Irdeto B.V.
G06F21/14H04L9/06H04L9/0618H04L9/0631H04L2209/16H04L2209/60
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 9,710,623
App. No.
12/921,075
Granted
Jul 18, 2017
Kind
B2
Abstract

A cryptographic system comprises a white-box implementation of a function; an implementation of a cryptographic algorithm; and an implementation of a combining operation for establishing cryptographically processed data in dependence on an outcome of the function and in dependence on an outcome of the cryptographic algorithm. The combining operation comprises combining an outcome of the cryptographic algorithm with an outcome of the function. Alternatively, the combining operation comprises combining an outcome of the function with a received data element to obtain a combination outcome and applying the cryptographic algorithm to the combination outcome.

Claims (33)

1. A method comprising:

selecting a cryptographic algorithm for which a white-box implementation is not known; and

configuring a computer processor to provide a white-box implementation of a cryptographic system that implements the selected cryptographic algorithm, said configuring comprising configuring the computer processor to execute one or more instructions that cause the computer processor to perform:

a white-box implementation of a function, wherein the white-box implementation of the function is configured for accessing data identifying at least one of a device and a user to obtain identification data, and establishing an outcome of the function in dependence on the identification data;

an implementation of the selected cryptographic algorithm;

an implementation of a combining operation for establishing cryptographically processed data in dependence on a single outcome of the function and in dependence on a plurality of outcomes of the cryptographic algorithm, the combining operation comprising combining the plurality of outcomes of the cryptographic algorithm with the single outcome of the function; and

an implementation of a signal generator for generating a signal comprising a representation of an outcome of the combining operation.

2. The method according to claim 1 , wherein given a particular value of the single outcome of the function, the combining operation defines a one-to-one correspondence between the plurality of outcomes of the cryptographic algorithm and the outcome of the combining operation.

3. The method according to claim 1 , wherein the signal generator is arranged for including in the signal a representation of an input to the function.

4. The method according to claim 1 , wherein the signal generated by the signal generator comprises a representation of an input to the function and representations of the plurality of outcomes of the cryptographic algorithm.

5. The method according to claim 1 , wherein the white-box implementation of the function comprises a look-up table and an XOR operation.

6. The method according to claim 1 , wherein the one or more instructions cause the computer processor to generate a reproducible input, the white-box implementation of the function being implemented using the input.

7. The method according to claim 1 , wherein the one or more instructions cause the computer processor to generate a non-random input, the white-box implementation of the function being implemented using the input.

8. The method according to claim 1 , wherein the one or more instructions cause the computer processor to combine the plurality of outcomes of the cryptographic algorithm with the single outcome of the function using at least one of XOR and a modulo operation.

9. A method of cryptographic processing, which is implemented by a computer, comprising:

applying a function to a first value by a white-box implementation of the function, wherein the applying the function to the first value by the white-box implementation comprises accessing data identifying at least one of a device and a user to obtain identification data, and establishing an outcome of the function in dependence on the identification data;

applying a cryptographic algorithm to a second value;

applying a combining operation for establishing cryptographically processed data in dependence on a single outcome of the function and in dependence on a plurality of outcomes of the cryptographic algorithm, wherein the applying the combining operation comprises combining the plurality of outcomes of the cryptographic algorithm with the single outcome of the function; and

generating a signal comprising a representation of an outcome of the combining operation.

10. The method according to claim 9 , wherein given a particular value of the single outcome of the function, the combining operation defines a one-to-one correspondence between the plurality of outcomes of the cryptographic algorithm and the outcome of the combining operation.

11. The method according to claim 9 , wherein the generating the signal comprises including in the signal a representation of an input to the first function.

12. The method according to claim 9 , wherein the generating step further comprises including in the signal a representation of an input to the function and the plurality of outcomes of the cryptographic algorithm.

13. The method according to claim 9 , wherein the white-box implementation comprises a look-up table and an XOR operation.

14. An non-transitory computer readable recording medium having recorded thereon a computer program comprising instructions for causing a processor to perform a method of cryptographic processing, the method comprising:

applying a function to a first value by a white-box implementation of the function, wherein the applying the function to the first value by the white-box implementation comprises accessing data identifying at least one of a device and a user to obtain identification data, and establishing an outcome of the function in dependence on the identification data;

applying a cryptographic algorithm to a second value;

applying a combining operation for establishing cryptographically processed data in dependence on a single outcome of the function and in dependence on a plurality of outcomes of the cryptographic algorithm, wherein the applying the combining operation comprises combining the plurality of outcomes of the cryptographic algorithm with the single outcome of the function: and

generating a signal comprising a representation of an outcome of the combining operation.

15. A system arranged comprising a hardware processor arranged to perform a method of cryptographic processing, the method comprising:

applying a function to a first value by a white-box implementation of the function, wherein the applying the function to the first value by the white-box implementation comprises accessing data identifying at least one of a device and a user to obtain identification data, and establishing an outcome of the function in dependence on the identification data;

applying a cryptographic algorithm to a second value;

applying a combining operation for establishing cryptographically processed data in dependence on a single Outcome of the function and in dependence on a plurality of outcomes of the cryptographic algorithm, wherein the applying the combining operation comprises combining the plurality of outcomes of the cryptographic algorithm with the single outcome of the functions; and

generating a signal comprising a representation of an outcome of the combining operation.

Assignments (3)
MERGER Recorded Dec 16, 2014
From: IRDETO CORPORATE B.V.
To: IRDETO B.V.
Reel/Frame 034512/0718 →
CHANGE OF NAME Recorded Sep 4, 2013
From: IRDETO B.V.
To: IRDETO CORPORATE B.V.
Reel/Frame 031156/0553 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 15, 2011
From: PAULUS, WILHELMUS PETRUS ADRIANUS JOHANNUS MICHIELS; GORISSEN, MATHIAS HUBERTUS MECHTILDIS ANTONIUS
To: IRDETO B.V.
Reel/Frame 026449/0905 →
Priority Claims (2)
EP 08152276 · Mar 5, 2008 · regional
EP 08159061 · Jun 26, 2008 · regional
Continuity (1)
Related Publication 20110116625A1 · May 19, 2011