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).

  • Publication number: 20110040977
    Abstract: The present method is directed, in the computer data security field, to cryptographic sponge and hash function processes which are embodied in a computer system and are typically keyless, but highly secure. The processes are based on the type of randomness exhibited by manipulation of the well known three dimensional Rubik's cube puzzle. Computation of the hash or sponge value (digest) is the result of executing in a model (such as computer code or logic circuitry) an algorithm modeling such a puzzle using the message as an input to the cube puzzle algorithm, then executing the cube puzzle algorithm. A state of the modeled cube puzzle (the final cube puzzle arrangement) after execution gives the sponge or hash digest value of the message.
    Type: Application
    Filed: August 11, 2009
    Publication date: February 17, 2011
    Applicant: Apple Inc.
    Inventors: Augustin J. FARRUGIA, Benoit Chevallier-Mames, Mathieu Ciet
  • Publication number: 20100306497
    Abstract: In the computer software field, method and apparatus to obfuscate (mask or hide) computer data which is part of or accessed by a computer program. The method protects (hides) accesses to tables of data in terms of the place or position of each element in the table. It does this by providing an intermediate table which describes the positions of the elements of the first table or tables, but in a transformed (modified) fashion.
    Type: Application
    Filed: May 29, 2009
    Publication date: December 2, 2010
    Applicant: Apple Inc.
    Inventors: Augustin J. Farrugia, Mathieu Ciet, Pierre Betouin
  • Publication number: 20100304807
    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: Application
    Filed: August 14, 2009
    Publication date: December 2, 2010
    Applicant: Apple Inc.
    Inventors: Benoit Chevallier-Mames, Mathieu Ciet, Augustin J. Farrugia
  • Publication number: 20100304805
    Abstract: In the computer data security field, a cryptographic hash function process embodied in a computer system and which is typically keyless, but is highly secure. The process is 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 a “shot” gives the hash digest value.
    Type: Application
    Filed: May 29, 2009
    Publication date: December 2, 2010
    Applicant: Apple Inc.
    Inventors: Benoit CHEVALLIER-MAMES, Mathieu CIET, Augustin J. FARRUGIA
  • Publication number: 20100304826
    Abstract: In the computer data security field, a cryptographic hash function process embodied in a computer system and which is typically keyless, but is highly secure. The process is based on the type of randomness exhibited by the well known gambling game of roulette played on a roulette wheel involving dropping a ball onto a partitioned spinning wheel. The ball loses momentum and drops into one of the partitions (pockets) of the wheel. Computation of the hash value (digest) is the result of executing in a model (such as computer code or logic circuitry) such a game algorithm using the message as an input to the game algorithm, then executing the game algorithm. A state of the game (the final ball location) after a ball (or several balls) are played gives the hash digest value of the message.
    Type: Application
    Filed: May 29, 2009
    Publication date: December 2, 2010
    Applicant: Apple Inc.
    Inventors: Benoit CHEVALLIER-MAMES, Mathieu Ciet, Augustin J. Farrugia
  • Publication number: 20100306541
    Abstract: In the computer data security field, a cryptographic hash function process embodied in a computer system and which is typically keyless, but is highly secure. The process is based on the type of chaos introduction exhibited by a game process such as the well known shuffling of a deck of playing cards. Computation of the hash value (digest) is the result of executing in a model (such as computer code or logic circuitry) a game algorithm that models the actual game such as a playing card shuffling algorithm using the message as an input to the algorithm, then executing the card shuffling algorithm on the input. A state (order) of the modeled deck of cards after a shuffle (or multiple shuffles) gives the hash digest value.
    Type: Application
    Filed: May 29, 2009
    Publication date: December 2, 2010
    Applicant: Apple Inc.
    Inventors: Benoit Chevallier-Mames, Mathieu Ciet, Augustin J. Farrugia
  • Publication number: 20100281260
    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: Application
    Filed: April 30, 2009
    Publication date: November 4, 2010
    Inventors: Augustin J. FARRUGIA, Mathieu Ciet, Benoit Chevallier-Mames
  • Publication number: 20100281256
    Abstract: In the computer data security field, a cryptographic hash function process embodied in a computer system and which is typically keyless, but is highly secure. The process is based on the type of randomness exhibited by well known tetromino stacking games. Computation of the hash value (digest) is the result of executing such a “piling on” (tetromino stacking game) algorithm using the message as an input (a seed) to a pseudo random number generator which generates the game pieces (shapes) from the resulting random numbers, then executing the game algorithm.
    Type: Application
    Filed: April 30, 2009
    Publication date: November 4, 2010
    Inventors: Augustin J. FARRUGIA, Mathieu Ciet, Benoit Chevallier-Mames
  • Publication number: 20100281459
    Abstract: Disclosed herein are systems, computer-implemented methods, and tangible computer-readable storage media for obfuscating code, such as instructions and data structures. Also disclosed are tangible computer-readable media containing obfuscated code. In one aspect, a preprocessing tool (i.e. before compilation) identifies in a source program code a routine for replacement. The tool can be a software program running on a computer or an embedded device. The tool then selects a function equivalent to the identified routine from a pool of functions to replace the identified routine. A compiler can then compile computer instructions based on the source program code utilizing the selected function in place of the identified routine. In another aspect, the tool replaces data structures with fertilized data structures. These approaches can be applied to various portions of source program code based on various factors. A software developer can flexibly configure how and where to fertilize the source code.
    Type: Application
    Filed: May 1, 2009
    Publication date: November 4, 2010
    Applicant: Apple Inc.
    Inventors: Pierre Betouin, Mathieu Ciet, Augustin J. Farrugia
  • Publication number: 20100177887
    Abstract: The invention relates to a cryptographic method that incorporates a modular exponentiation secured against hidden channel attacks, without requiring knowledge of the public exponent. The method includes a modular exponentiation and the following steps: drawing of a random value s; initialization of variables with the aid of s; application of an algorithm enabling a loop invariant to be retained by virtue of the properties of the Montgomery multiplier Mgt; unmasking of the result of the algorithm to obtain the signature of the message.
    Type: Application
    Filed: May 2, 2008
    Publication date: July 15, 2010
    Applicant: GEMALTO SA
    Inventors: Mathieu Ciet, Benoit Feix
  • Publication number: 20100153450
    Abstract: Disclosed herein are systems, computer-implemented methods, and computer-readable media for authentication using a shared table. The method receives an authentication challenge from a first entity including an accumulator with an initial value, lists of elements in a shared table, and a list of sorting algorithms, each sorting algorithm is associated with one of the lists of elements and modified to include embedded instructions operating on the accumulator. The method then generates a temporary table for each list of elements in the shared table by copying elements from the shared table as indicated in each respective list of elements, each temporary table being associated with one sorting algorithm in the list of sorting algorithms. The method sorts each generated temporary table with the associated sorting algorithm, thereby updating the accumulator with the embedded instructions. Finally, the method transmits the updated accumulator to the first entity for verification.
    Type: Application
    Filed: December 15, 2008
    Publication date: June 17, 2010
    Applicant: Apple Inc.
    Inventors: Pierre Betouin, Mathieu Ciet, Augustin J. Farrugia
  • Publication number: 20100138654
    Abstract: A system, method and computer readable medium are disclosed for authentication. The method includes generating a challenge on a sender based on physical emission properties of a particle gun; transmitting the challenge from the sender to a receiver; receiving the challenge on the receiver; and verifying the authenticity of an entity, such as data, an object or a person, at the receiver by comparing the challenge with a value generated at the receiver. The process of generating the challenge and value is such that it is difficult to retrieve details of the input data based on the output data.
    Type: Application
    Filed: December 1, 2008
    Publication date: June 3, 2010
    Applicant: Apple Inc.
    Inventors: Pierre Betouin, Mathieu Ciet, Augustin J. Farrugia
  • Publication number: 20100115287
    Abstract: Disclosed herein are systems, computer-implemented methods, and tangible computer-readable media for obfuscating constants in a binary. The method includes generating a table of constants, allocating an array in source code, compiling the source code to a binary, transforming the table of constants to match Pcode entries in an indirection table so that each constant in the table of constants can be fetched by an entry in the indirection table. A Pcode is a data representation of a set of instructions populating the indirection table with offsets toward the table of constants storing the indirection table in the allocated array in the compiled binary. The method further includes populating the indirection table with offsets equivalent to the table of constants, and storing the indirection table in the allocated array in the compiled binary. Constants can be of any data type. Constants can be one byte each or more than one byte each.
    Type: Application
    Filed: October 31, 2008
    Publication date: May 6, 2010
    Applicant: Apple Inc.
    Inventors: Pierre BETOUIN, Mathieu Ciet, Augustin J. Farrugia
  • Publication number: 20100115276
    Abstract: Disclosed herein are systems, computer-implemented methods, and computer-readable media for deriving a deterministic binary value. The method consists of generating a graph from multiple inputs, formalizing the graph, calculating paths between starting and ending nodes in the graph using a shortest path algorithm and performing a digest operation based on the derived paths to generate a deterministic binary value. In another aspect of this disclosure, authentication is performed utilizing deterministic binary values and a graph-merging function. This method allows for diversity in complexity, thus maintaining security on different computer platforms.
    Type: Application
    Filed: October 31, 2008
    Publication date: May 6, 2010
    Applicant: Apple Inc.
    Inventors: Pierre Betouin, Mathieu Ciet, Augustin J. Farrugia
  • Publication number: 20100111292
    Abstract: A hash provides aggregation properties, and allows distributed and/or concurrent processing. In an example, the hash operates on message M, and produces a multiplicative matrix sequence by substituting a 2×2 matrix A for binary ones and substituting a 2×2 matrix B for binary zeros in M. A and B are selected from SL2(R), R=F2[x]/(P), F2[x] being the set of polynomials degree with coefficients in F2={0,1}, and (P) is the ideal of F2[x] generated by irreducible polynomial P(x) order n=12/4. The matrix sequence is multiplied to produce a 2×2 matrix, h, with n bit length entries. A function converts h into an l×l matrix, Y. Two l×l invertible matrices with randomly chosen F2 entries, P and Q, are accessed. P pre-multiplies Y and Q?1 post-multiplies Y to produce a final hash value. M can be subdivided into m1 . . . mt, corresponding h1 . . . ht can be produced, and the Y matrix produced from a product of h1 . . . ht to get the same hash value.
    Type: Application
    Filed: October 31, 2008
    Publication date: May 6, 2010
    Applicant: Apple Inc.
    Inventors: Pierre Betouin, Mathieu Ciet, Augustin J. Farrugia
  • Publication number: 20100115230
    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: Application
    Filed: October 31, 2008
    Publication date: May 6, 2010
    Applicant: Apple Inc.
    Inventors: Mathieu Ciet, Michael L. Crogan, Augustin J. Farrugia, Nicholas T. Sullivan
  • Publication number: 20100098244
    Abstract: Disclosed herein are systems, methods, and computer readable-media for performing data encryption and decryption using a stream or block cipher with internal random states. The method includes splitting the input data into a predetermined number of blocks and processing each block. The processing includes creating sub-blocks, permuting the sub-blocks, replacing bytes using a lookup table, rotating bits, performing expansion and combining sets of bits. The element of randomness employed in this process allows for the same input to yield the same output, with differing internal states.
    Type: Application
    Filed: October 21, 2008
    Publication date: April 22, 2010
    Applicant: Apple Inc.
    Inventors: Mathieu Ciet, Augustin J. Farrugia, Filip Toma Paun
  • Publication number: 20100098255
    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: Application
    Filed: October 21, 2008
    Publication date: April 22, 2010
    Applicant: Apple Inc.
    Inventors: Mathieu Ciet, Augustin J. Farrugia, Filip Toma Paun
  • Publication number: 20100100947
    Abstract: Aspects relate to systems and methods implementing a scheme allowing a Verifier (V) to authenticate a Prover (P). The scheme comprises pre-sharing between V and P a graph of nodes. Each node is associated with a polynomial. V sends P data comprising data for selecting a polynomial of the graph, such as traversal data for proceeding from a known node to another node, a time interval, and a number k. P uses the time interval in an evaluation of the polynomial. P then uses the evaluation as a ? in a Poisson distribution, and determines a value related to a probability that a number of occurrences of an event equals k. P sends the determined value to V. V performs a similar determination to arrive at a comparison value. P authenticates V if the separately determined values match, or otherwise meet expectations. The process can be repeated to increase confidence in authentication.
    Type: Application
    Filed: October 21, 2008
    Publication date: April 22, 2010
    Applicant: Apple Inc.
    Inventors: Mathieu Ciet, Michael L. Crogan, Augustin J. Farrugia, Nicholas T. Sullivan
  • Publication number: 20100058477
    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: September 2, 2008
    Publication date: March 4, 2010
    Applicant: Apple Inc.
    Inventors: Mathieu Ciet, Augustin J. Farrugia, Filip Toma Paun, Jean-Francois Riendeau