Patents by Inventor Michael Hutter
Michael Hutter 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: 20250036818Abstract: A multi-domain masked AND gate includes inner-domain calculations, re-sharing, register stage, cross-domain calculations, and compression. The inner-domain multiplication and the re-sharing are calculated prior to storing the re-shared variables in the register stage. Thus, the inputs to the cross-domain multiplication and the compression are performed on variables that have been refreshed by additional randomness. This AND gate does not need statistically independent inputs, is secure in the probing model even in the presence of glitches, also known as the robust probing model. A two-domain input and two domain output AND gate can be implemented using six (6) registers, four (4) two input logical AND gates, and eight (8) exclusive-OR (XOR) gates. The AND gate may also be used to implement an AES S-box that has two (2) register stages and takes two (2) clock cycles per computation.Type: ApplicationFiled: November 28, 2022Publication date: January 30, 2025Inventors: Michael HUTTER, Victor Manuel Arribas ABRIL
-
Publication number: 20240396709Abstract: An input data may be received. A portion of a cryptographic operation may be performed with the received input data at a first function component. During the performance of the cryptographic operation at the first function component, a pre-charge operation may be performed at a second function component. Furthermore, the second function component may be used to perform another portion of the cryptographic operation with a result of the portion of the cryptographic operation performed at the first function component.Type: ApplicationFiled: May 21, 2024Publication date: November 28, 2024Inventors: Pascal Sasdrich, Begül Bilgin, Michael Hutter
-
Patent number: 12021969Abstract: An input data may be received. A portion of a cryptographic operation may be performed with the received input data at a first function component. During the performance of the cryptographic operation at the first function component, a pre-charge operation may be performed at a second function component. Furthermore, the second function component may be used to perform another portion of the cryptographic operation with a result of the portion of the cryptographic operation performed at the first function component.Type: GrantFiled: April 1, 2020Date of Patent: June 25, 2024Assignee: Cryptography Research, Inc.Inventors: Pascal Sasdrich, Begül Bilgin, Michael Hutter
-
Patent number: 11983280Abstract: Aspects of the present disclosure involve a method and a system to support execution of the method to perform a cryptographic operation involving a first vector and a second vector, by projectively scaling the first vector, performing a first operation involving the scaled first vector and the second vector to obtain a third vector, generating a random number, storing the third vector in a first location, responsive to the random number having a first value, or in a second location, responsive to the random number having a second value, and performing a second operation involving a first input and a second input, wherein, based on the random number having the first value or the second value, the first input is the third vector stored in the first location or the second location and the second input is a fourth vector stored in the second location or the first location.Type: GrantFiled: January 6, 2020Date of Patent: May 14, 2024Assignee: Cryptography Research, Inc.Inventors: Michael Alexander Hamburg, Michael Tunstall, Michael Hutter
-
Patent number: 11914870Abstract: Aspects of the present disclosure calculate masked data shares dynamically inside the CPU boundary, and use a plurality of memory channels to write the masked data shares to an external memory location and/or to read the data shares from that external memory location. Each dynamically generated mask value is uniquely associated with a corresponding memory channel during writing data to the external memory. The modified masked data is unmasked or remasked during a subsequent read operation.Type: GrantFiled: March 4, 2020Date of Patent: February 27, 2024Assignee: CRYPTOGRAPHY RESEARCH, INC.Inventors: Elke De Mulder, Michael Hutter, Samantha Gummalla
-
Publication number: 20240045998Abstract: A bundled-data protocol can be used to synchronize the data flow in the mask shares. A random synchronization token is input and “bundled” with the combinatorial logic of a share. An additional output from the combinatorial logic is also provided such that when the original combinational output is exclusive OR'd (XOR'd) with the additional output yields the random synchronization token. When the XOR of the original and additional outputs, and the input synchronization token are equal, it indicates that the computation of the combinatorial logic is complete. Thus, the result of the comparison of the XOR of the original and additional outputs, and the input synchronization token may be used as a “done” or “enable” handshake signal to allow asynchronous gating elements (e.g., AND gates, asynchronous set-reset latches, and/or state-holding elements like the Muller C-element, etc.) to start and stop the flow of data in a mask share.Type: ApplicationFiled: November 30, 2021Publication date: February 8, 2024Inventor: Michael HUTTER
-
Patent number: 11863670Abstract: Disclosed are memory encryption systems and methods that rotate encryption keys for robust resistance against side-channel-analysis (SCA)-based attacks on communication paths between an encryption engine within a trust boundary and an external memory component. A key data structure has a plurality of keys that are used to encrypt a plurality of memory blocks in the external memory. The memory blocks encrypted with the oldest key of the key data structure are identified. Encrypted data is read from the identified memory blocks. The encrypted data is decrypted from the identified memory blocks. The data is then re-encrypted using the selected key that is newer than the oldest key, and re-written to the identified memory blocks.Type: GrantFiled: April 4, 2020Date of Patent: January 2, 2024Assignee: Cryptography Research, Inc.Inventors: Mark Evan Marson, Michael Hutter, Bart Stevens
-
Patent number: 11822704Abstract: A first arithmetic input share and a second arithmetic input share of an initial arithmetically-masked cryptographic value are received. A sequence of operations using the arithmetic input shares and a randomly generated number is performed, where a current operation in the sequence of operations generates a corresponding intermediate value that is used in a subsequent operation. At the end of the sequence of operations, a first Boolean output share and a second Boolean output share are generated. The arithmetic-to-Boolean mask conversion is independent of the input bit length.Type: GrantFiled: October 28, 2019Date of Patent: November 21, 2023Assignee: CRYPTOGRAPHY RESEARCH, INC.Inventors: Michael Hutter, Michael Tunstall
-
Patent number: 11620109Abstract: A first input share value, a second input share value, and a third input share value may be received. The first input share value may be converted to a summation or subtraction between an input value and a combination of the second input share value and the third input share value. A random number value may be generated and combined with the second input share value and the third input share value to generate a combined value. Furthermore, a first output share value may be generated based on a combination of the converted first input share value, the combined value, and additional random number values.Type: GrantFiled: December 16, 2020Date of Patent: April 4, 2023Assignee: Cryptography Research, Inc.Inventors: Michael Hutter, Michael Tunstall
-
Publication number: 20230016420Abstract: Hardware masking may be used as a countermeasure to make power analysis attacks more difficult. Masking attempts to decouple the secret and/or processed values of a cryptographic algorithm from its intermediate values. One method of masking probabilistically splits each bit of a computation into multiple shares. Mask-share domains (i.e., the wires and gates that perform a computation on a share) are physically spaced to reduce coupling between mask-share domains. The mask-share domains may be connected to the same power supply network. The physical distance between mask-share domains along the power-supply network may be selected to reduce coupling between mask-share domains that may occur via the power supply network. The mask-share domains may each be connected to different on-chip power supply networks.Type: ApplicationFiled: November 30, 2020Publication date: January 19, 2023Inventors: Michael HUTTER, Helena HANDSCHUH, Scott C. BEST
-
Patent number: 11539509Abstract: Disclosed is a method and a system to execute the method to perform a first hashing operation to compute a first hash value, store the first hash value in a plurality of output registers, store a second message in a plurality of input registers, perform a first iteration of a second hashing operation, with an input to the second hashing operation including the second message and the first hash value, determine that a first portion of the second message, stored in a first register of the plurality of input registers, has been processed in course of the second hashing operation, and move a first portion of the first hash value stored in a first register of the plurality of output registers to the first register of the plurality of input registers.Type: GrantFiled: January 27, 2021Date of Patent: December 27, 2022Assignee: Cryptography Research, Inc.Inventors: Michael Hutter, Matthew Pond Baker
-
Publication number: 20220191004Abstract: An input data may be received. A portion of a cryptographic operation may be performed with the received input data at a first function component. During the performance of the cryptographic operation at the first function component, a pre-charge operation may be performed at a second function component. Furthermore, the second function component may be used to perform another portion of the cryptographic operation with a result of the portion of the cryptographic operation performed at the first function component.Type: ApplicationFiled: April 1, 2020Publication date: June 16, 2022Inventors: Pascal Sasdrich, Begül Bilgin, Michael Hutter
-
Publication number: 20220182232Abstract: Disclosed are memory encryption systems and methods that rotate encryption keys for robust resistance against side-channel-analysis (SCA)-based attacks on communication paths between an encryption engine within a trust boundary and an external memory component. A key data structure has a plurality of keys that are used to encrypt a plurality of memory blocks in the external memory. The memory blocks encrypted with the oldest key of the key data structure are identified. Encrypted data is read from the identified memory blocks. The encrypted data is decrypted from the identified memory blocks. The data is then re-encrypted using the selected key that is newer than the oldest key, and re-written to the identified memory blocks.Type: ApplicationFiled: April 4, 2020Publication date: June 9, 2022Inventors: Mark Evan Marson, Michael Hutter, Bart Stevens
-
Patent number: 11353504Abstract: A first plurality of logic gates and a second plurality of logic gates may be associated with a symmetric configuration. A first output at a first value may be generated by the first plurality of logic gates based on a first portion of input signals. A second output may be generated by the second plurality of logic gates at the first value based on a second portion of the input signals. A subsequent first output at a particular value may be generated by the first plurality of logic gates based on a first portion of a second plurality of input signals and a subsequent second output may be generated by the second plurality of logic gates based on a second portion of the second plurality of input signals. A value of the subsequent second output may be complementary to the particular value of the subsequent first output.Type: GrantFiled: June 26, 2020Date of Patent: June 7, 2022Assignee: CRYPTOGRAPHY RESEARCH, INC.Inventors: Michael Hutter, Matthew Pond Baker
-
Publication number: 20220147251Abstract: Aspects of the present disclosure calculate masked data shares dynamically inside the CPU boundary, and use a plurality of memory channels to write the masked data shares to an external memory location and/or to read the data shares from that external memory location. Each dynamically generated mask value is uniquely associated with a corresponding memory channel during writing data to the external memory. The modified masked data is unmasked or remasked during a subsequent read operation.Type: ApplicationFiled: March 4, 2020Publication date: May 12, 2022Inventors: Elke De Mulder, Michael Hutter, Samantha Gummalla
-
Publication number: 20220075879Abstract: Aspects of the present disclosure involve a method and a system to support execution of the method to perform a cryptographic operation involving a first vector and a second vector, by projectively scaling the first vector, performing a first operation involving the scaled first vector and the second vector to obtain a third vector, generating a random number, storing the third vector in a first location, responsive to the random number having a first value, or in a second location, responsive to the random number having a second value, and performing a second operation involving a first input and a second input, wherein, based on the random number having the first value or the second value, the first input is the third vector stored in the first location or the second location and the second input is a fourth vector stored in the second location or the first location.Type: ApplicationFiled: January 6, 2020Publication date: March 10, 2022Inventors: Michael Alexander Hamburg, Michael Tunstall, Michael Hutter
-
Publication number: 20210406406Abstract: A first arithmetic input share and a second arithmetic input share of an initial arithmetically-masked cryptographic value are received. A sequence of operations using the arithmetic input shares and a randomly generated number is performed, where a current operation in the sequence of operations generates a corresponding intermediate value that is used in a subsequent operation. At the end of the sequence of operations, a first Boolean output share and a second Boolean output share are generated. The arithmetic-to-Boolean mask conversion is independent of the input bit length.Type: ApplicationFiled: October 28, 2019Publication date: December 30, 2021Inventors: Michael Hutter, Michael Tunstall
-
Patent number: 11101981Abstract: Share values for use in a cryptographic operation may be received and the cryptographic operation may be performed based on the share values. A pseudorandom number that is to be used by the cryptographic operation may be identified and the pseudorandom number may be generated based on a portion of the share values that are used in the cryptographic operation. The cryptographic operation may then be performed based on the generated pseudorandom number.Type: GrantFiled: June 18, 2019Date of Patent: August 24, 2021Assignee: Cryptography Research, Inc.Inventors: Pankaj Rohatgi, Elke De Mulder, Michael Hutter
-
Publication number: 20210226775Abstract: Disclosed is a method and a system to execute the method to perform a first hashing operation to compute a first hash value, store the first hash value in a plurality of output registers, store a second message in a plurality of input registers, perform a first iteration of a second hashing operation, with an input to the second hashing operation including the second message and the first hash value, determine that a first portion of the second message, stored in a first register of the plurality of input registers, has been processed in course of the second hashing operation, and move a first portion of the first hash value stored in a first register of the plurality of output registers to the first register of the plurality of input registers.Type: ApplicationFiled: January 27, 2021Publication date: July 22, 2021Inventors: Michael Hutter, Matthew Pond Baker
-
Publication number: 20210173618Abstract: A first input share value, a second input share value, and a third input share value may be received. The first input share value may be converted to a summation or subtraction between an input value and a combination of the second input share value and the third input share value. A random number value may be generated and combined with the second input share value and the third input share value to generate a combined value. Furthermore, a first output share value may be generated based on a combination of the converted first input share value, the combined value, and additional random number values.Type: ApplicationFiled: December 16, 2020Publication date: June 10, 2021Inventors: Michael Hutter, Michael Tunstall