System and method for providing hardware based fast and secure expansion and compression functions

US10797722B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10797722-B2
Application numberUS-201615178973-A
CountryUS
Kind codeB2
Filing dateJun 10, 2016
Priority dateJun 10, 2016
Publication dateOct 6, 2020
Grant dateOct 6, 2020

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

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.

First claim

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.

Assignees

Inventors

Classifications

  • H04L9/0861Primary

    Generation of secret information including derivation or calculation of cryptographic keys or passwords · CPC title

  • G06F21/602Primary

    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

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10797722B2 cover?
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 …
Who is the assignee on this patent?
Boeing Co
What technology area does this patent fall under?
Primary CPC classification H04L9/0861. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Oct 06 2020 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).