Interface compatible approach for gluing white-box implementation to surrounding program
AssigneeNXP B.V.
InventorsWil Michiels, Jan Hoogerbrugge, Michael Patrick Peeters
Life of this patent
Estimating the term…
Abstract
A method of gluing a cryptographic implementation of a cryptographic function to a surrounding program in a cryptographic system, including: receiving, by the cryptographic system, an input message; receiving a computed value from the surrounding program; performing, by the cryptographic system, a keyed cryptographic operation mapping the input message into an output message using the computed value from the surrounding program, wherein the output message is a correct output message when the computed value has a correct value; and outputting the output message.
Claims38
A method of gluing a cryptographic implementation of a cryptographic function to a surrounding program in a cryptographic system, comprising:
- receiving, by the cryptographic system, an input message;
- receiving a computed value from the surrounding program;
- performing, by the cryptographic system, a keyed cryptographic operation mapping the input message into an output message using the computed value from the surrounding program, wherein the output message is a correct output message when the computed value has a correct value;
- and
- outputting the output message.
A method of producing a cryptographic implementation of a cryptographic operation mapping an input message to an output message in a cryptographic system that glues the cryptographic implementation to a surrounding program, comprising:
- producing a cryptographic implementation of the keyed cryptographic operation including a plurality of functions;
- receiving information specifying a computed value wherein a first function depends on the computed value;
- modifying the cryptographic implementation to receive the computed value from the surrounding program;
- and
- modifying the cryptographic implementation based upon the received computed value so that:
- when a received computed value is equal to the desired value, the cryptographic implementation outputs a correct output message;
- and
- when a received computed value is not equal to the desired value, the cryptographic implementation outputs an incorrect output message.
A non-transitory machine-readable storage medium encoded with instructions for execution by a cryptographic implementation performing a cryptographic function in a cryptographic system for gluing a cryptographic implementation to a surrounding program in a cryptographic system, the non-transitory machine-readable storage medium comprising:
- instructions for receiving, by the cryptographic system, an input message;
- instructions for receiving a computed value from the surrounding program;
- instructions for performing, by the cryptographic system, a keyed cryptographic operation mapping the input message into an output message using the computed value from the surrounding program, wherein the output message is a correct output message when the computed value has a correct value;
- and
- instructions for outputting the output message.
Dependencies are inferred from the claim text.