Patents by Inventor Mathieu Ciet

Mathieu Ciet 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: 8380991
    Abstract: In the field of computer data security, a hash process which is typically keyless and embodied in a computing apparatus is highly secure in terms of being resistant to attack. The hash process uses computer code (software) polymorphism, wherein computation of the hash value for a given message is partly dependent on the content (data) of the message. Hence the computer code changes dynamically while computing each hash value.
    Type: Grant
    Filed: April 30, 2009
    Date of Patent: February 19, 2013
    Assignee: Apple Inc.
    Inventors: Augustin J. Farrugia, Mathieu Ciet, Benoit Chevallier-Mames
  • Patent number: 8374341
    Abstract: In the computer data security field, cryptographic hash function processes embodied in a computer system and which are typically keyless, but are highly secure. The processes are based on the type of randomness exhibited by well known table “cue sports” games such as billiards, snooker, and pool played on a billiards table involving the players striking one of a plurality of balls with a cue, the struck ball then hitting other balls, the raised sides of the table, and in some cases one or more balls going into pockets in the corners and/or sides of the table. Computation of the hash value (digest) is the result of providing a model (such as expressed in computer code) of such a game algorithm and using the message as an input to the game algorithm, then executing the game algorithm. A state of the game after one or several “shots” gives the hash digest value of the message.
    Type: Grant
    Filed: August 14, 2009
    Date of Patent: February 12, 2013
    Assignee: Apple Inc.
    Inventors: Benoit Chevallier-Mames, Mathieu Ciet, Augustin J. Farrugia
  • Publication number: 20130016836
    Abstract: A cryptographic process (such as the AES cipher) which uses table look up operations (TLUs) is hardened against reverse engineering attacks intended to recover the table contents and thereby the cipher key. This hardening involves removing any one-to-one correspondence between the TLU inputs and outputs, by altering the output of the TLU dynamically, e.g. at each execution (call) of the TLU. This is done by increasing the size of the tables, applying a dynamically determined mask value to the table input and/or output, or using an inverse of the table.
    Type: Application
    Filed: October 12, 2011
    Publication date: January 17, 2013
    Applicant: Apple Inc.
    Inventors: Augustin J. FARRUGIA, Benoit Chevallier-Mames, Bruno Kindarji, Mathieu Ciet, Thomas Icart
  • Publication number: 20130014267
    Abstract: In the field of computer science, communications protocols (such as computer network protocols) are hardened (secured) against reverse engineering attacks by hackers using a software tool which is applied to a high level definition of the protocol. The tool converts the definition to executable form, such as computer source code, and also applies reverse-engineering countermeasures to the protocol definition as now expressed in source code, to prevent hackers from recovering useful details of the protocol. This conversion process also allows preservation of backwards version compatibility of the protocol definition.
    Type: Application
    Filed: July 7, 2011
    Publication date: January 10, 2013
    Inventors: Augustin J. FARRUGIA, Mathieu CIET, Pierre BETOUIN
  • Publication number: 20130010963
    Abstract: In the field of computer enabled cryptography, such as a keyed block cipher having a plurality of rounds, the cipher is hardened against an attack by a protection process which obscures the round keys using the properties of group field automorphisms and applying masks to the states of the cipher, for encryption or decryption. This is especially advantageous in a “White Box” environment where an attacker has full access to the cipher algorithm, including the algorithm's internal state during its execution. This method and the associated computing apparatus are useful for protection against known attacks on “White Box” ciphers, by eliminating S-box operations, together with improved masking techniques and increasing the cipher's complexity against reverse engineering and key storage attacks.
    Type: Application
    Filed: July 7, 2011
    Publication date: January 10, 2013
    Inventors: Augustin J. FARRUGIA, Benoit Chevallier-Mames, Bruno Kindarji, Mathieu Ciet, Thomas Icart
  • Patent number: 8347098
    Abstract: Some embodiments of the invention provide a content-distribution system for distributing content under a variety of different basis. For instance, in some embodiments, the content-distribution system distributes device-restricted content and device-unrestricted content. Device-restricted content is content that can only be played on devices that the system associates with the particular user. Device-unrestricted content is content that can be played on any device without any restrictions. However, for at least one operation or service other than playback, device-unrestricted content has to be authenticated before this operation or service can be performed on the content. In some embodiments, the system facilitates this authentication by specifying a verification parameter for a piece of device-unrestricted content.
    Type: Grant
    Filed: May 22, 2007
    Date of Patent: January 1, 2013
    Assignee: Apple Inc.
    Inventors: Augustin J. Farrugia, Gianpaolo Fasoli, Bertrand Mollinier Toublet, Mathieu Ciet
  • Publication number: 20120311338
    Abstract: In the field of computer and data security, the identifier (ID) of a computing device is protected by providing a secure signature used to verify the ID. The signature is computed from the ID using a “White Box” cryptographic process and a hash function. This provides a signature that is computationally easy to verify but difficult or impossible to generate by a hacker (unauthorized user). This method of first creating the signature and later verifying the identifier using the signature and the associated computing apparatus are thereby useful for protection against hacking of such identifiers of computing devices.
    Type: Application
    Filed: January 24, 2012
    Publication date: December 6, 2012
    Applicant: Apple Inc.
    Inventors: Augustin J. FARRUGIA, David M'RAIHI, Mathieu CIET, Thomas ICART
  • Patent number: 8325913
    Abstract: Disclosed herein are systems, methods and computer readable media for performing authentication. The proposed scheme utilizes new algorithms that introduce randomness using a physical value for authentication. An exemplary method includes sharing an initial state value S(0) with a sender and a receiver, generating a sender S(t, v) based on a parameter t and an identifier v and based at least in part on the value S(0). The method includes generating a receiver S(t, v) from S(0) based on the parameter t and the identifier v wherein the parameter t is related to a physical value in authenticating the identifier v based on a comparison of the sender S(t, v) and the receiver S(t, v). The process of generating the sender S(t, v) and the receiver S(t, v) includes a random variable generated by a process such as by a random number generator, the Brownian Motion or Wiener Process. Other embodiments do not use the physical value for authentication.
    Type: Grant
    Filed: September 1, 2011
    Date of Patent: December 4, 2012
    Assignee: Apple Inc.
    Inventors: Mathieu Ciet, Augustin Farrugia, Jean-Francois Riendeau, Nicholas T. Sullivan
  • Patent number: 8300828
    Abstract: Disclosed herein are systems, methods and computer-readable media to perform data encryption and decryption using a derivation function to obtain a key per page of data in a white-box environment. The method includes sharing a master key with the sender and receiver, splitting the input data into blocks and sub-blocks, and utilizing a set of keys and a master key to derive a page key. In another aspect of this disclosure, the key validation and shuffling operations are included. This method allows for the derivation of a key instead of storing a predetermined key, thus maintaining system security in a white-box environment.
    Type: Grant
    Filed: January 25, 2012
    Date of Patent: October 30, 2012
    Assignee: Apple Inc.
    Inventors: Mathieu Ciet, Augustin J. Farrugia, Filip Toma Paun
  • Patent number: 8300809
    Abstract: Disclosed herein are methods for obfuscating data via a modulus operation. A client device receives input data, stores an operation value, performs a modulus obfuscation on the operation value, performs a modulus operation on the operation value and the input data, performs a modulus transformation on the operation value and the input data to obtain client output data, and checks if the client output data matches corresponding server output data. A corresponding server device receives input data, performs a modulus transformation on the input data to obtain a result, performs a plain operation on the result and an operation value to obtain server output data, and checks if the server output data matches corresponding client output data from the client device. The client and/or server can optionally authenticate the client input data and the server input data if the server output data matches the client output data.
    Type: Grant
    Filed: August 31, 2011
    Date of Patent: October 30, 2012
    Assignee: Apple Inc.
    Inventors: Mathieu Ciet, Augustin J. Farrugia, Nicholas T. Sullivan
  • Publication number: 20120254625
    Abstract: In the field of computer enabled cryptography, such as a keyed block cipher having a plurality of rounds, the cipher is hardened against an attack by a protection process which obscures the cipher states and/or the round keys using the properties of group field automorphisms and applying multiplicative masks (instead of conventional XOR masks) to the states of the cipher, for encryption or decryption. This is especially advantageous in a “White Box” environment where an attacker has full access to the cipher algorithm, including the algorithm's internal state during its execution. This method and the associated computing apparatus are useful for protection against known attacks on “White Box” ciphers, by eliminating XOR operations with improved masking techniques and increasing complexity of reverse engineering and of attacks.
    Type: Application
    Filed: March 30, 2011
    Publication date: October 4, 2012
    Applicant: Apple Inc.
    Inventors: Augustin J. FARRUGIA, Mathieu Ciet, Thomas Icart
  • Patent number: 8265266
    Abstract: A cryptographic method carries out a modular exponentiation of the type C=A<B1> mod N, where A is an operand, B1 is a first exponent, N is a modulus and C is a result. The method includes the steps of masking the operand A by a number s, carrying out a modular exponentiation of the masked operand by the exponent B1, and demasking the result of the exponentiation, by removing a contribution from the random number s from the result of the exponentiation. During the step of masking the operand A, the operand A is multiplied by a parameter of the form K<s.B2>, where K is a constant and B2 is a second exponent such that B1.B2=1 mod N. The method is implemented preferably by using a Montgomery multiplier. The preferred choice for the constant K is K=2p, p being an integer lying between 0 and n, n being an upper bound of the size of the modulus N and conventionally depending on the choice of implementation of the Montgomery multiplication.
    Type: Grant
    Filed: December 22, 2006
    Date of Patent: September 11, 2012
    Assignee: Gemalto SA
    Inventors: Mathieu Ciet, Benoit Feix
  • Publication number: 20120221864
    Abstract: In the field of computer software, obfuscation techniques for enhancing software security are applied to compiled (object) software code. The obfuscation results here in different versions (instances) of the obfuscated code being provided to different installations (recipient computing devices). The complementary code execution uses a boot loader or boot installer-type program at each installation which contains the requisite logic. Typically, the obfuscation results in a different instance of the obfuscated code for each intended installation (recipient) but each instance being semantically equivalent to the others. This is accomplished in one version by generating a random value or other parameter during the obfuscation process, and using the value to select a particular version of the obfuscating process, and then communicating the value along with boot loader or installer program software.
    Type: Application
    Filed: March 29, 2012
    Publication date: August 30, 2012
    Applicant: Apple Inc.
    Inventors: Mathieu CIET, Julien LEROUGE, Augustin J. FARRUGIA
  • Publication number: 20120210303
    Abstract: Disclosed herein are systems, methods, computer readable media and special purpose processors for obfuscating code. The method includes extracting an operation within program code, selecting a formula to perform the equivalent computation as the extracted operation, and replacing the extracted operation with the selected formula. The formula can be selected randomly or deterministically. The extracted operation can be an arithmetic operation or a Boolean operation.
    Type: Application
    Filed: April 20, 2012
    Publication date: August 16, 2012
    Applicant: Apple Inc.
    Inventors: Mathieu CIET, Augustin J. FARRUGIA, Filip Toma PAUN, Jean-Francois RIENDEAU
  • Publication number: 20120201374
    Abstract: Systems and methods for an implementation of block cipher algorithms (e.g., AES) use lookup tables to obscure key information, increasing difficulty of reverse engineering efforts. The implementation encodes round key information into a first plurality of tables (T1), which when used for lookup operations also complete SubBytes operations, and output state in an encoded format. A Shiftrows operation is performed arithmetically on the output state. A second plurality of tables (T2) are used to perform a polynomial multiplication portion of MixColumns operation, and an XOR portion of MixColumns is performed arithmetically on the columns. Encoding from the T1 tables is made to match a decoding built into the T2 tables. Subsets of the T1 tables use the same T2 tables, reducing a memory footprint for the T2 tables. Multiple AES keys can be embedded in different sets of T1 tables that encode for the same set of T2 tables.
    Type: Application
    Filed: April 16, 2012
    Publication date: August 9, 2012
    Applicant: Apple Inc.
    Inventors: Mathieu Ciet, Augustin J. Farrugia, Filip Toma Paun
  • Publication number: 20120204039
    Abstract: Method and apparatus for obfuscating computer software code, to protect against reverse-engineering of the code. The obfuscation here is on the part of the code that accesses buffers (memory locations). Further, the obfuscation process copies or replaces parts of the buffer contents with local variables. This obfuscation is typically carried out by suitably annotating (modifying) the original source code.
    Type: Application
    Filed: February 9, 2011
    Publication date: August 9, 2012
    Applicant: Apple Inc.
    Inventors: Augustin J. FARRUGIA, Mathieu Ciet, Pierre Betouin
  • Publication number: 20120204038
    Abstract: Method and apparatus for obfuscating computer software code, to protect against reverse-engineering of the code. The obfuscation here is of the part of the code that performs a Boolean logic operation such as an exclusive OR on two (or more) data variables. In the obfuscated code, each of the two variables is first modified by applying to it a function which deconstructs the value of each of the variables, and then the exclusive OR operation is replaced by an arithmetic operation such as addition, subtraction, or multiplication, which is performed on the two deconstructed variables. The non-obfuscated result is recovered by applying a third function to the value generated by the arithmetic operation. This obfuscation is typically carried out by suitably annotating (modifying) the original source code.
    Type: Application
    Filed: February 9, 2011
    Publication date: August 9, 2012
    Applicant: Apple Inc.
    Inventors: Augustin J. FARRUGIA, Benoit Chevallier-Mames, Mathieu Ciet, Thomas Icart
  • Patent number: 8225100
    Abstract: Aspects relate to systems and methods for implementing a hash function using a stochastic and recurrent process, and performing arithmetic operations during the recurrence on portions of a message being hashed. In an example method, the stochastic process is a Galton-Watson process, the message is decomposed into blocks, and the method involves looping for a number of blocks in the message. In each loop, a current hash value is determined based on arithmetic performed on a previous hash value and some aspect of a current block. The arithmetic performed can involve modular arithmetic, such as modular addition and exponentiation. The algorithm can be adjusted to achieve qualities including a variable length output, or to perform fewer or more computations for a given hash. Also, randomizing elements can be introduced into the arithmetic, avoiding a modular reduction until final hash output production.
    Type: Grant
    Filed: October 31, 2008
    Date of Patent: July 17, 2012
    Assignee: Apple Inc.
    Inventors: Mathieu Ciet, Michael L. Crogan, Augustin J. Farrugia, Nicholas T. Sullivan
  • Publication number: 20120179920
    Abstract: In the field of cryptography, such as for a computer enabled block cipher, a cipher or other cryptographic process is hardened against an attack by protecting the cipher key or subkeys by using a masking process for these keys. The subkeys are thereby protected by applying to them a mask or set of masks to hide their contents. This is especially advantageous in a “White Box” computing environment where an attacker has full access to the cipher algorithm, including the algorithm's internal state during execution. Further, this method and the associated apparatus are useful where the key is derived through a process and so is unknown when the software code embodying the cipher is compiled. This is typically the case where there are many users of the cipher and each has his own key or where each user session has its own key.
    Type: Application
    Filed: January 10, 2011
    Publication date: July 12, 2012
    Applicant: Apple Inc.
    Inventors: Augustin J. Farrugia, Benoit Chevallier-Mames, Mathieu Ciet
  • Publication number: 20120179919
    Abstract: In the field of computer enabled cryptography, such as a keyed block cipher having a plurality of rounds, the cipher is hardened against attack by protecting the round keys by (1) combining several cipher operations using a pair of sub-keys (round keys) into one table look-up, or (2) a key masking process which obscures the round keys by providing a masked version of the key operations for carrying out encryption or decryption using the cipher. This approach is especially advantageous in an insecure “White Box” environment where an attacker has full access to execution of the cipher algorithm, including the algorithm's internal state during its execution.
    Type: Application
    Filed: January 10, 2011
    Publication date: July 12, 2012
    Applicant: Apple Inc.
    Inventors: Augustin J. Farrugia, Mathieu Ciet, Benoit Chevallier-Mames