Data encryption and authentication using a mixing function in a communication system

US10122690B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10122690-B2
Application numberUS-201514797813-A
CountryUS
Kind codeB2
Filing dateJul 13, 2015
Priority dateJul 13, 2015
Publication dateNov 6, 2018
Grant dateNov 6, 2018

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 method of encrypting and authenticating messages in a communication system includes generating new keys by receiving a plurality of parameters including at least one of an initial key, a nonce, a sequence number, and a previous key. The method may include applying a mix function to generate a subsequent key based on the plurality of parameters for key rolling. The method may include encrypting and authenticating data using different subsequent keys.

First claim

Opening claim text (preview).

What is claimed is: 1. A system for encrypting data in a communication system, the system comprising one or more application-specific integrated circuits, each comprising at least one logic gate and configured to: utilize a plurality of mix parameters for a key rolling operation as logic gate inputs, the plurality of mix parameters including an initial key that is shared between a sender and a recipient of the data, a nonce, a sequence number of the key rolling operation, and a previous rolled key of the key rolling operation at a previous one of the sequence number of the key rolling operation; apply a bit-mix function utilizing a first selection of the plurality of mix parameters, including the initial key and a first one of the nonce, to generate a first one of a subsequent rolled key of the key rolling operation in at most two clock cycles of the one or more application-specific integrated circuits; encrypt at least one block of the data using the first one of the subsequent rolled key; reapply the bit-mix function utilizing a second selection of the plurality of mix parameters, including at least two of the initial key, a second one of the nonce, the sequence number of the key rolling operation, and the first one of the subsequent rolled key as the previous rolled key, to generate a second one of the subsequent rolled key of the key rolling operation, which is not correlated to the first one of the subsequent rolled key, in at most two clock cycles of the one or more application-specific integrated circuits; and encrypt at least one other block of the data using the second one of the subsequent rolled key, wherein the one or more application-specific integrated circuits is configured to reapply the bit-mix function to generate the subsequent rolled key after a predetermined number of blocks of the data have been encrypted. 2. The system of claim 1 wherein the one or more application-specific integrated circuits being configured to generate the subsequent rolled key using the bit-mix function in one clock cycle of the one or more application-specific integrated circuits. 3. The system of claim 1 wherein the bit-mix function includes at least one of an XOR logic tree, a substitution-permutation network (SPN), and a double-mix Feistel network (DMFN). 4. The system of claim 1 wherein the one or more application-specific integrated circuits being configured to reapply the bit-mix function to generate key K[i] as another one of the subsequent rolled key, which is not correlated to any other one of the subsequent rolled key, in at most two clock cycles of the one or more application-specific integrated circuits, wherein the bit-mix function is used in an equation of at least one of: K[i ]=MIX( K[i− 1]), K[i ]=MIX( K[i− 1], i ), K[i ]=MIX( K[ 0],nonce), or K[i ]=MIX( K[i− 1],nonce), where i is the sequence number, K[0] is the initial key, MIX is the bit-mix function, and K[i−1] is the previous rolled key. 5. The system of claim 1 wherein the one or more application-specific integrated circuits being configured to encrypt another predetermined number of blocks of the data using the subsequent rolled key for encrypting. 6. The system of claim 1 wherein the one or more application-specific integrated circuits being configured to authenticate a message using the subsequent rolled key. 7. The system of claim 1 wherein the one or more application-specific integrated circuits being configured to perform at least one of: applying the bit-mix function according to an amount of secret random key material generated from one of a single key, a random number generator, and a combination of the single key and the random number generator; and using one or more of an identification (ID) of a sender, an ID of a recipient, a current date, and a time stamp in the bit-mix function to generate the subsequent rolled key based on the plurality of mix parameters. 8. The system of claim 1 wherein the bit-mix function is both an invertible function and a non-linear function. 9. The system of claim 1 wherein the one or more application-specific integrated circuits being configured to perform at least one of: applying the bit-mix function according to an amount of secret random key material generated from one single key, a random number generator, or a combination of the single key and the random number generator, wherein the bit-mix function is an invertible function, and a non-linear function; and using at least one of an identification (ID) of a sender, an ID of a recipient, a current date, and a time stamp in the bit-mix function to generate the subsequent rolled key based on the plurality of mix parameters. 10. A method for encrypting data in a communication system implemented by one or more application-specific integrated circuits, the method comprising: utilizing a plurality of mix parameters for a key rolling operation, the plurality of mix parameters including an initial key shared between a sender and a recipient of data, a nonce, a sequence number of the key rolling operation, and a previous rolled key of the key rolling operation at a previous one of the sequence number of the key rolling operation; applying a bit-mix function utilizing a first selection of the plurality of mix parameters, including the initial key and a first one of the nonce, to generate a first one of a subsequent rolled key of the key rolling operation in at most two clock cycles of the one or more application-specific integrated circuits; encrypting at least one block of the data using the first one of the subsequent rolled key; reapplying the bit-mix function utilizing a second selection of the plurality of mix parameters, including at least two of the initial key, a second one of the nonce, the sequence number of the key rolling operation, and the first one of the subsequent rolled key as the previous rolled key, to generate a second one of the subsequent rolled key of the key rolling operation, which is not correlated to the first one of the subsequent rolled key, in at most two clock cycles of the one or more application-specific integrated circuits; and encrypting at least one other block of the data using the second one of the subsequent rolled key, wherein the bit-mix function is reapplied to generate the subsequent rolled key after a predetermined number of blocks of the data have been encrypted. 11. The method of claim 10 further comprising generating the subsequent rolled key using the bit-mix function in one clock cycle of the one or more application-specific integrated circuits. 12. The method of claim 10 further comprising using at least one of an XOR logic tree, a substitution-permutation network (SPN), and a double-mix Feistel network in the bit-mix function. 13. The method of claim 12 further comprising reapplying the bit-mix function to generate key K[i] as another one of the subsequent rolled key, which is not correlated to the any other one of the subsequent rolled key, in at most two clock cycles of the one or more application-specific integrated circuits, wherein the bit-mix function is used in at least one of the following equations: K[i ]=MIX( K[i− 1]), K[i ]=MIX( K[i− 1 ],i ), K[i ]=MIX( K [0],nonce), or K[i ]=MIX( K[i− 1],nonce), where i is the sequence number, K[0] is the initial key, MIX is the bit-mix function, and K[i−1] is the previous rolled key. 14. The method of claim 10 further comprising encrypting a another predetermined number of blocks of the data using the subsequent rolled key for encrypting. 15. The method of claim 10 further comprising authenticating a

Assignees

Inventors

Classifications

  • wherein the data content is protected, e.g. by encrypting or encapsulating the payload · CPC title

  • using time-dependent keys, e.g. periodically changing keys (cryptographic mechanisms or cryptographic arrangements for controlling usage of secret information H04L9/088) · 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 US10122690B2 cover?
A method of encrypting and authenticating messages in a communication system includes generating new keys by receiving a plurality of parameters including at least one of an initial key, a nonce, a sequence number, and a previous key. The method may include applying a mix function to generate a subsequent key based on the plurality of parameters for key rolling. The method may include encryptin…
Who is the assignee on this patent?
Boeing Co
What technology area does this patent fall under?
Primary CPC classification H04L63/0428. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Nov 06 2018 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 11 related publications on this page (citations in our corpus or others sharing the same primary CPC).