Patents by Inventor Filipe Tomas

Filipe Tomas 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: 11059021
    Abstract: The invention relates to a process for the preparation of one or more intermediate chemical compounds useful in the preparation of non-ionic contrast agents wherein the process is carried out continuously using one or more flow procedures.
    Type: Grant
    Filed: June 2, 2016
    Date of Patent: July 13, 2021
    Assignee: Hovione Scientia Limited
    Inventors: William Heggie, John Naber, Patrick R. Bazinet, Filipe Tomas
  • Publication number: 20180169607
    Abstract: The invention relates to a process for the preparation of one or more intermediate chemical compounds useful in the preparation of non-ionic contrast agents wherein the process is carried out continuously using one or more flow procedures.
    Type: Application
    Filed: June 2, 2016
    Publication date: June 21, 2018
    Applicant: Hovione Scientia Limited
    Inventors: William Heggie, John Naber, Patrick R. Bazinet, Filipe Tomas
  • Patent number: 9031228
    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: Grant
    Filed: April 16, 2012
    Date of Patent: May 12, 2015
    Assignee: Apple Inc.
    Inventors: Mathieu Ciet, Augustin J. Farrugia, Filip Toma Paun
  • Patent number: 8935539
    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: Grant
    Filed: April 20, 2012
    Date of Patent: January 13, 2015
    Assignee: Apple Inc.
    Inventors: Mathieu Ciet, Augustin J. Farrugia, Filip Toma Paun, Jean-Francois Riendeau
  • Patent number: 8428251
    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: Grant
    Filed: December 9, 2011
    Date of Patent: April 23, 2013
    Assignee: Apple Inc.
    Inventors: Mathieu Ciet, Augustin J. Farrugia, Filip Toma Paun
  • 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
  • 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
  • Patent number: 8185749
    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: Grant
    Filed: September 2, 2008
    Date of Patent: May 22, 2012
    Assignee: Apple Inc.
    Inventors: Mathieu Ciet, Augustin J. Farrugia, Filip Toma Paun, Jean-Francois Riendeau
  • Publication number: 20120124366
    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: January 25, 2012
    Publication date: May 17, 2012
    Applicant: Apple Inc.
    Inventors: Mathieu Ciet, Augustin J. Farrugia, Filip Toma Paun
  • Publication number: 20120124392
    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: December 9, 2011
    Publication date: May 17, 2012
    Applicant: Apple Inc.
    Inventors: Mathieu Ciet, Augustin J. Farrugia, Filip Toma Paun
  • Patent number: 8175265
    Abstract: Systems and methods for an implementation of block cipher algorithms (e.g., AES) use lookup tables to obscure key information, increasing difficulty for those with privileged access to a system performing the AES algorithm to obtain such key information. 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 state output from the T1 table lookups. A second plurality of tables (T2) are used to perform a polynomial multiplication portion of MixColumns to state from Shiftrows, and an XOR portion of MixColumns is performed arithmetically on the columns outputted from using the T2 tables. 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.
    Type: Grant
    Filed: September 2, 2008
    Date of Patent: May 8, 2012
    Assignee: Apple Inc.
    Inventors: Mathieu Ciet, Augustin J. Farrugia, Filip Toma Paun
  • Patent number: 8121294
    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: October 21, 2008
    Date of Patent: February 21, 2012
    Assignee: Apple Inc.
    Inventors: Mathieu Ciet, Augustin J. Farrugia, Filip Toma Paun
  • Patent number: 8094816
    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: Grant
    Filed: October 21, 2008
    Date of Patent: January 10, 2012
    Assignee: 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: 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: 20100054461
    Abstract: Systems and methods for an implementation of block cipher algorithms (e.g., AES) use lookup tables to obscure key information, increasing difficulty for those with privileged access to a system performing the AES algorithm to obtain such key information. 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 state output from the T1 table lookups. A second plurality of tables (T2) are used to perform a polynomial multiplication portion of MixColumns to state from Shiftrows, and an XOR portion of MixColumns is performed arithmetically on the columns outputted from using the T2 tables. 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.
    Type: Application
    Filed: September 2, 2008
    Publication date: March 4, 2010
    Applicant: Apple Inc.
    Inventors: Mathieu CIET, Augustin J. Farrugia, Filip Toma Paun
  • 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