Patents by Inventor Philippe Teuwen
Philippe Teuwen has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).
-
Patent number: 10700849Abstract: A method of implementing a keyed cryptographic operation using a plurality of basic blocks, includes: generating a balanced encoding function; applying the balanced encoding function to the output of a first basic block; and applying an inverse of the encoding function to the input of a second basic block, wherein the second basic block receives the encoded output of first basic block as an input.Type: GrantFiled: July 30, 2015Date of Patent: June 30, 2020Assignee: NXP B.V.Inventors: Wil Michiels, Philippe Teuwen
-
Patent number: 10171234Abstract: A method for a method for mapping an input message to an output message by a keyed cryptographic operation in a cryptographic system, including a plurality of rounds wherein each round has a substitution layer, wherein wide encoding is used on the substitution layer in the rounds that require protection from attacks.Type: GrantFiled: December 16, 2015Date of Patent: January 1, 2019Assignee: NXP B.V.Inventors: Wilhelmus Petrus Adrianus Johannus Michiels, Joppe Willem Bos, Philippe Teuwen
-
Patent number: 10147086Abstract: A reconfigurable digital wallet device such as a smart card containing a secure element and acting as an instantiation of a subset of a virtual wallet stored in the cloud. The digital wallet device is managed and synchronized with the virtual wallet in the cloud using a mobile device such as a smartphone.Type: GrantFiled: December 19, 2012Date of Patent: December 4, 2018Assignee: NXP B.V.Inventors: Philippe Teuwen, Cedric Colnot
-
Patent number: 10102522Abstract: A smartcard communicating simultaneously with a smart phone and a point of sale, thereby allowing the smartcard to act as a bridge between the point of sale and the smart phone. The smart card is typically powered by the point of sale and typically communicates with the smart phone using BLUETOOTH Low Energy (BLE).Type: GrantFiled: April 2, 2013Date of Patent: October 16, 2018Assignee: NXP B.V.Inventors: Philippe Teuwen, Cedric Colnot
-
Patent number: 10097342Abstract: A method for a keyed cryptographic operation by a cryptographic system mapping an input message to an output message, including: receiving input data for the keyed cryptographic operation; calculating a first mask value based upon the input data; and applying the first mask value to a first intermediate value of the keyed cryptographic operation.Type: GrantFiled: July 30, 2015Date of Patent: October 9, 2018Assignee: NXP B.V.Inventors: Wil Michiels, Jan Hoogerbrugge, Philippe Teuwen
-
Patent number: 9965401Abstract: A method of obfuscating a code is provided, wherein the method comprises performing a first level obfuscating technique on a code to generate a first obfuscated code, and performing a second level obfuscating technique on the first obfuscated code. In particular, the code may be a software code or a software module. Furthermore, the first level obfuscating technique and the second obfuscating may be different. In particular, the second level obfuscating technique may perform a deobfuscation.Type: GrantFiled: October 8, 2016Date of Patent: May 8, 2018Assignee: NXP B.V.Inventors: Philippe Teuwen, Ventzislav Nikov
-
Patent number: 9953144Abstract: A method of binding a software to a device is disclosed. Accordingly, during a setup of the software in the device, a unique identifier is derived from contents stored in the device and the derived unique identifier is encrypted. The derived unique identifier is then stored in a configuration of the software. During a next invocation of the software in the device, a new unique identifier is derived from the contents stored in the device. The newly derived unique identifier is then matched with the stored unique identifier. The execution of the software is terminated if the matching fails.Type: GrantFiled: March 27, 2014Date of Patent: April 24, 2018Assignee: NXP B.V.Inventors: Peter Maria Franciscus Rombouts, Frank Michaud, Philippe Teuwen
-
Patent number: 9823860Abstract: A portion of a reprogrammable storage device is used to implement permanent data storage. The storage device includes a plurality of electrically erasable memory elements and a controller. The plurality of electrically erasable memory elements are configured to store data. Each memory element is programmable a number of write cycles before reaching a write failure state. The controller is coupled to the plurality of memory elements. The controller includes a receiver and a write engine. The receiver receives an instruction to drive a selected memory element to the write failure state. The write engine repeatedly writes a data value, in a plurality of write operations, to the selected memory element until the write failure state of the selected memory element is established.Type: GrantFiled: March 14, 2014Date of Patent: November 21, 2017Assignee: NXP B.V.Inventors: Marc Vauclair, Philippe Teuwen
-
Patent number: 9693224Abstract: An apparatus for restricting execution of software is disclosed. The apparatus includes a telecommunication device configured to communicate with a wireless device (e.g., an RFID device) using a first wireless communication protocol. The telecommunication device is configured to determine whether or not the telecommunication device is located in an authorized wireless environment, based on wireless devices detected by the telecommunication device. The telecommunication device is also configured to execute a program in response to determining that it is located in an authorized wireless environment. Conversely, the telecommunication device is also configured to inhibit execution of the program in response to determining that it is not located in an authorized wireless environment.Type: GrantFiled: December 13, 2013Date of Patent: June 27, 2017Assignee: NXP B.V.Inventors: Philippe Teuwen, Peter Rombouts, Frank Michaud
-
Publication number: 20170180119Abstract: A method for a method for mapping an input message to an output message by a keyed cryptographic operation in a cryptographic system, the keyed cryptographic operation including a plurality of substitution layers and state data, including: mapping the input message to first state data in a first substitution layer of the keyed cryptographic operation, wherein the first substitution layer includes N basic blocks that implement the first substitution layer and wherein a non-linear encoding having a first size is placed on the inputs and outputs of the N basic blocks of the first substitution layer, where N is an integer; mapping the first state data to second state data in a plurality of intermediate substitution layers of the keyed cryptographic operation, wherein the intermediate substitution layers include M blocks that implement the intermediate substitution layers and wherein a plurality of non-linear encodings having a second size are placed on the inputs and outputs of the M basic blocks of the intermediType: ApplicationFiled: December 16, 2015Publication date: June 22, 2017Inventors: Wilhelmus Petrus Adrianus Johannus Michiels, Joppe Willem Bos, Philippe Teuwen
-
Patent number: 9584514Abstract: Various embodiments include a method for binding a secure software application to a mobile device wherein the mobile device includes a processor and a subscriber identity module (SIM) card, including transmitting, by the processor, an authentication challenge to the SIM card; receiving an authentication response from the SIM card; verifying the authentication response from the SIM card; and enabling the secure software application when the authentication response from the SIM card is verified.Type: GrantFiled: January 14, 2016Date of Patent: February 28, 2017Assignee: NXP B.V.Inventors: Peter Maria Franciscus Rombouts, Philippe Teuwen, Frank Michaud
-
Patent number: 9576116Abstract: A method of securely implementing functions in a secure software application, including: determining, by a processor, two functions to be implemented by the secure software application; generating a first function lookup table; encrypting the first function lookup table; sorting the first function lookup table by encrypted operand; generating a second function lookup table; encrypting the second function lookup table; sorting the second function lookup table by encrypted operand; generating a flattened lookup table from a combination of the encrypted first and second function lookup tables; permutating the flattened table indices e.g. by use of public key cryptography encryption; and sorting the flattened table by the permutated flattened table indices.Type: GrantFiled: December 26, 2013Date of Patent: February 21, 2017Assignee: NXP B.V.Inventors: Philippe Teuwen, Ventzislav Nikov, Peter Maria Franciscus Rombouts
-
Patent number: 9563754Abstract: Disclosed is a method of generating a structure comprising at least one virtual machine, the method comprising: obfuscating a first virtual machine source code, thereby yielding a first obfuscated virtual machine (OVM) source code; associating a processor identifier with the first OVM source code, thereby yielding a processor-specific first OVM source code; compiling the processor-specific first OVM source code, thereby yielding a processor-specific first OVM. Furthermore, a structure generated by said method is disclosed.Type: GrantFiled: November 20, 2014Date of Patent: February 7, 2017Assignee: NXP B.V.Inventors: Vincent Cedric Colnot, Peter Maria Franciscus Rombouts, Philippe Teuwen, Frank Michaud
-
Publication number: 20170033922Abstract: A method of implementing a keyed cryptographic operation using a plurality of basic blocks, includes: generating a balanced encoding function; applying the balanced encoding function to the output of a first basic block; and applying an inverse of the encoding function to the input of a second basic block, wherein the second basic block receives the encoded output of first basic block as an input.Type: ApplicationFiled: July 30, 2015Publication date: February 2, 2017Inventors: Wil Michiels, Philippe Teuwen
-
Publication number: 20170033921Abstract: A method for a keyed cryptographic operation by a cryptographic system mapping an input message to an output message, including: receiving input data for the keyed cryptographic operation; calculating a first mask value based upon the input data; and applying the first mask value to a first intermediate value of the keyed cryptographic operation.Type: ApplicationFiled: July 30, 2015Publication date: February 2, 2017Inventors: Wil Michiels, Jan Hoogerbrugge, Philippe Teuwen
-
Publication number: 20170024331Abstract: A method of obfuscating a code is provided, wherein the method comprises performing a first level obfuscating technique on a code to generate a first obfuscated code, and performing a second level obfuscating technique on the first obfuscated code. In particular, the code may be a software code or a software module. Furthermore, the first level obfuscating technique and the second obfuscating may be different. In particular, the second level obfuscating technique may perform a deobfuscation.Type: ApplicationFiled: October 8, 2016Publication date: January 26, 2017Inventors: Philippe Teuwen, Ventzislav Nikov
-
Publication number: 20160379131Abstract: Disclosed are secure processes based upon fuzzy opaque predicates and machines such as processors and non-transitory machine-readable storage mediums encoded with instructions containing fuzzy opaque predicates.Type: ApplicationFiled: June 26, 2015Publication date: December 29, 2016Inventor: Philippe Teuwen
-
Publication number: 20160350520Abstract: A non-transitory machine-readable storage medium encoded with instructions for execution by a keyed cryptographic operation by a cryptographic system mapping an input message to an output message, including: instructions for receiving input data for a round of the keyed cryptographic operation; instructions for determining the order of computing output portions for the round of the cryptographic function based upon portions of the input data; and instructions for computing the portions of the output data in the determined order based upon the input data.Type: ApplicationFiled: May 29, 2015Publication date: December 1, 2016Inventors: Wil Michiels, Jan Hoogerbrugge, Philippe Teuwen
-
Patent number: 9501301Abstract: A method for protecting computer software code is disclosed. In the embodiment, the method involves receiving instructions corresponding to computer software code for an application, the instructions including a first section of instructions to protect that is indicated by a first indicator and a second section of the instructions to protect that is indicated by a second indicator, rewriting the first section of instructions into a first section of virtual instructions, and rewriting the second section of instructions into a second section of virtual instructions, wherein the first section of instructions includes a first virtual instruction that corresponds to a first handler and the second section of virtual instructions includes a second virtual instruction that corresponds to a second handler, the first handler having different properties than the second handler.Type: GrantFiled: February 26, 2015Date of Patent: November 22, 2016Assignee: NXP B.V.Inventor: Philippe Teuwen
-
Patent number: 9465926Abstract: A method of obfuscating a code is provided, wherein the method comprises performing a first level obfuscating technique on a code to generate a first obfuscated code, and performing a second level obfuscating technique on the first obfuscated code. In particular, the code may be a software code or a software module. Furthermore, the first level obfuscating technique and the second obfuscating may be different. In particular, the second level obfuscating technique may perform a deobfuscation.Type: GrantFiled: August 26, 2010Date of Patent: October 11, 2016Assignee: NXP B.V.Inventors: Philippe Teuwen, Ventzislav Nikov