Address-dependent key generator by xor tree
US-2016065368-A1 · Mar 3, 2016 · US
US10797722B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10797722-B2 |
| Application number | US-201615178973-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jun 10, 2016 |
| Priority date | Jun 10, 2016 |
| Publication date | Oct 6, 2020 |
| Grant date | Oct 6, 2020 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A system and method for encoding data by providing data expansion and compression functions for arbitrary input and output lengths. The input is partitioned into groups of sequential bits. A subkey is selected from secret key material for each group of the input bits. A tree of XOR gates applies XOR operations between the subkeys to generate the output. The XOR gates are arranged in layers and all the XOR gates within a layer switch at about the same time. A compression function is performed if the input length is greater than or equal to the output length and an expansion function is performed if the input length is less than or equal to the output length. There is no statistical correlation between the input and the output. A nonlinear function can be applied to the output such as an invertible S-Box, non-invertible S-Box, or series of Rotate-Add-XOR operations.
Opening claim text (preview).
What is claimed is: 1. A method for encoding data with low side channel leakage comprising the steps of: receiving an input having a first length of input data bits; partitioning the input data bits into groups of input data bits, each group comprising at least one bit; selecting subkeys from key material stored in electronic flip-flops for the groups of input data bits, such that one subkey is selected for each group of input data bits; and applying at least one XOR operation between the subkeys and the groups to generate an output having a second length of output data bits, wherein the first length is independent of the second length, wherein a data expansion function is performed if the first length is less than or equal to the second length, wherein a data compression function is performed if the first length is greater than or equal to the second length, and wherein the at least one XOR operation is implemented by a tree of XOR gates symmetrically arranged in layers such that the XOR gates in each layer are at the same distance from the input with respect to the number of XOR gates leading to them, wherein switching transients of the XOR gates are in the range of a few picoseconds, whereby transients of individual switching events are masked. 2. The method of claim 1 wherein the groups of input data bits are sequential. 3. The method of claim 1 wherein there is no statistical correlation between the first length data and the second length data. 4. The method of claim 1 wherein the subkeys share some bits of the key material. 5. The method of claim 1 wherein the XOR gates within a layer switch at about the same time. 6. The method of claim 1 further comprising the step of applying a nonlinear function to the output, the nonlinear function being selected from the group consisting of an invertible S-Box, a non-invertible S-Box, and series of Rotate-Add-XOR operations. 7. The method of claim 1 , wherein the electronic flip-flops are dispersed among other gates. 8. A system for encoding data with low side channel leakage comprising: an input having a first length of input data bits; groups of input data bits that are partitioned from the input data bits, each of the groups comprising at least one bit; subkeys that are selected from key material stored in electronic flip-flops for each of the groups of input data bits such that one subkey corresponds with each group of input data bits; a tree of XOR gates, wherein the tree of XOR gates is symmetrically arranged in layers such that the XOR gates in each layer are at the same distance from the input with respect to the number of XOR gates leading to them, wherein switching transients of the XOR gates are in the range of a few picoseconds, whereby transients of individual switching events are masked; and an output having a second length of output data bits, the output being generated by application of at least one XOR operation between the subkeys and the groups, the at least one XOR operation implemented by the tree of XOR gates, wherein the first length is independent of the second length, wherein the system is configured to perform a data expansion function if the first length is less than or equal to the second length, wherein the system is configured to perform a data compression function if the first length is greater than or equal to the second length. 9. The system of claim 8 wherein the groups of input data bits are sequential. 10. The system of claim 8 wherein the subkeys share bits of the key material. 11. The system of claim 8 wherein the XOR gates within a layer switch at about the same time. 12. The system of claim 8 , wherein there is no statistical correlation between the first length data and the second length data. 13. The system of claim 8 , further comprising a nonlinear function configured to be applied to the output, the nonlinear function being selected from the group consisting of an invertible S-Box, a non-invertible S-Box, and series of Rotate-Add-XOR operations. 14. The system of claim 8 , wherein the electronic flip-flops are dispersed among other gates. 15. Non-transitory computer readable media comprising computer readable instructions that, when read by at least one electronic processor, configure the at least one electronic processor to encode data with low side channel leakage by performing operations comprising: receiving an input having a first length of input data bits; partitioning the input data bits into groups of input data bits, each group comprising at least one bit; selecting subkeys from key material stored in electronic flip-flops for the groups of input data bits, such that one subkey is selected for each group of input data bits; and applying at least one XOR operation between the subkeys and the groups to generate an output having a second length of output data bits, wherein the first length is independent of the second length, wherein a data expansion function is performed if the first length is less than or equal to the second length, wherein a data compression function is performed if the first length is greater than or equal to the second length, and wherein the at least one XOR operation is implemented by a tree of XOR gates symmetrically arranged in layers such that the XOR gates in each layer are at the same distance from the input with respect to the number of XOR gates leading to them, wherein switching transients of the XOR gates are in the range of a few picoseconds, whereby transients of individual switching events are masked. 16. The non-transitory computer readable media of claim 15 , wherein the groups of input data bits are sequential. 17. The non-transitory computer readable media of claim 15 , wherein there is no statistical correlation between the first length data and the second length data. 18. The non-transitory computer readable media of claim 15 , wherein the subkeys share some bits of the key material. 19. The non-transitory computer readable media of claim 15 , wherein the XOR gates within a layer switch at about the same time. 20. The non-transitory computer readable media of claim 15 , wherein the operations further comprise applying a nonlinear function to the output, the nonlinear function being selected from the group consisting of an invertible S-Box, a non-invertible S-Box, and series of Rotate-Add-XOR operations.
Generation of secret information including derivation or calculation of cryptographic keys or passwords · CPC title
Providing cryptographic facilities or services · CPC title
Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3 · CPC title
involving random numbers or seeds · CPC title
Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these (network architectures or network communication protocols for key exchange in a packet data network H04L63/061) · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.