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: 11059021Abstract: 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: GrantFiled: June 2, 2016Date of Patent: July 13, 2021Assignee: Hovione Scientia LimitedInventors: William Heggie, John Naber, Patrick R. Bazinet, Filipe Tomas
-
Publication number: 20180169607Abstract: 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: ApplicationFiled: June 2, 2016Publication date: June 21, 2018Applicant: Hovione Scientia LimitedInventors: William Heggie, John Naber, Patrick R. Bazinet, Filipe Tomas
-
Patent number: 9031228Abstract: 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: GrantFiled: April 16, 2012Date of Patent: May 12, 2015Assignee: Apple Inc.Inventors: Mathieu Ciet, Augustin J. Farrugia, Filip Toma Paun
-
Patent number: 8935539Abstract: 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: GrantFiled: April 20, 2012Date of Patent: January 13, 2015Assignee: Apple Inc.Inventors: Mathieu Ciet, Augustin J. Farrugia, Filip Toma Paun, Jean-Francois Riendeau
-
Patent number: 8428251Abstract: 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: GrantFiled: December 9, 2011Date of Patent: April 23, 2013Assignee: Apple Inc.Inventors: Mathieu Ciet, Augustin J. Farrugia, Filip Toma Paun
-
Patent number: 8300828Abstract: 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: GrantFiled: January 25, 2012Date of Patent: October 30, 2012Assignee: Apple Inc.Inventors: Mathieu Ciet, Augustin J. Farrugia, Filip Toma Paun
-
Publication number: 20120210303Abstract: 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: ApplicationFiled: April 20, 2012Publication date: August 16, 2012Applicant: Apple Inc.Inventors: Mathieu CIET, Augustin J. FARRUGIA, Filip Toma PAUN, Jean-Francois RIENDEAU
-
Publication number: 20120201374Abstract: 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: ApplicationFiled: April 16, 2012Publication date: August 9, 2012Applicant: Apple Inc.Inventors: Mathieu Ciet, Augustin J. Farrugia, Filip Toma Paun
-
Patent number: 8185749Abstract: 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: GrantFiled: September 2, 2008Date of Patent: May 22, 2012Assignee: Apple Inc.Inventors: Mathieu Ciet, Augustin J. Farrugia, Filip Toma Paun, Jean-Francois Riendeau
-
Publication number: 20120124366Abstract: 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: ApplicationFiled: January 25, 2012Publication date: May 17, 2012Applicant: Apple Inc.Inventors: Mathieu Ciet, Augustin J. Farrugia, Filip Toma Paun
-
Publication number: 20120124392Abstract: 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: ApplicationFiled: December 9, 2011Publication date: May 17, 2012Applicant: Apple Inc.Inventors: Mathieu Ciet, Augustin J. Farrugia, Filip Toma Paun
-
Patent number: 8175265Abstract: 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: GrantFiled: September 2, 2008Date of Patent: May 8, 2012Assignee: Apple Inc.Inventors: Mathieu Ciet, Augustin J. Farrugia, Filip Toma Paun
-
Patent number: 8121294Abstract: 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: GrantFiled: October 21, 2008Date of Patent: February 21, 2012Assignee: Apple Inc.Inventors: Mathieu Ciet, Augustin J. Farrugia, Filip Toma Paun
-
Patent number: 8094816Abstract: 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: GrantFiled: October 21, 2008Date of Patent: January 10, 2012Assignee: Apple Inc.Inventors: Mathieu Ciet, Augustin J. Farrugia, Filip Toma Paun
-
Publication number: 20100098255Abstract: 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: ApplicationFiled: October 21, 2008Publication date: April 22, 2010Applicant: Apple Inc.Inventors: Mathieu Ciet, Augustin J. Farrugia, Filip Toma Paun
-
Publication number: 20100098244Abstract: 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: ApplicationFiled: October 21, 2008Publication date: April 22, 2010Applicant: Apple Inc.Inventors: Mathieu Ciet, Augustin J. Farrugia, Filip Toma Paun
-
Publication number: 20100054461Abstract: 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: ApplicationFiled: September 2, 2008Publication date: March 4, 2010Applicant: Apple Inc.Inventors: Mathieu CIET, Augustin J. Farrugia, Filip Toma Paun
-
Publication number: 20100058477Abstract: 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: ApplicationFiled: September 2, 2008Publication date: March 4, 2010Applicant: Apple Inc.Inventors: Mathieu Ciet, Augustin J. Farrugia, Filip Toma Paun, Jean-Francois Riendeau