ConceptioArchiveGoogle Patents
Google Patentsopen access

System and method for generating a multi-stage key for use in cryptographic … — Secure Channels Inc. (US10187200B1)

Secure Channels Inc. · Google Patents
Google Patents · Patents · License: Open Access
Open Source ↗
patent, google patents, intellectual property, US10187200B1, Secure Channels Inc., Adam C. Firestone, en, 2019

ABSTRACT

Abstract

A computerized method that encrypts each of a plurality of segments of a binary value using a selected block cipher of a plurality of block ciphers and a unique symmetric key of a first plurality of unique, symmetric keys to produce a first ciphertext. The method further encrypts each of a plurality of segments of the first ciphertext using a selected block cipher of the plurality of block ciphers and a unique symmetric key of a second plurality of unique, symmetric keys to produce a second ciphertext. The selected block cipher used to encrypt a first segment of the binary value to produce a first segment of the plurality of segments of the first ciphertext is different than the selected block cipher used to encrypt the first segment of the ciphertext to produce a first encrypted segment of the second ciphertext.

Description

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of priority of U.S. Provisional Application No. 62/607,263, filed Dec. 18, 2017, the entire contents of which are incorporated by reference herein.

EXPORT CONTROL

Information in this patent application is controlled by the U.S. Government and authorized for access only by U.S. persons and licensed non-U.S. persons. Please contact the assignee, Secure Channels, Inc., for further guidance if you wish to give access to the subject application to a non-U.S. person. This statement attaches to any use or incorporation of said patent application into other applications or any other use.

1. FIELD

Embodiments of the disclosure relate to the field of cryptography. More specifically, an embodiment of the disclosure is directed to cryptographic logic configured to conduct iterative segmenting, encrypting and layering operations on incoming data to generate ciphertext for protected storage and/or transmission.

2. GENERAL BACKGROUND

The use of electronic data and other information has become an integral part of our daily lives. Each day, more and more emails, texts, electronic documents, and other forms of electronic data are stored or transmitted throughout the world by businesses and individuals alike. Accordingly, there exists an increasing need to protect the confidentiality of information contained within the electronic data from unauthorized disclosure.

In some cases, this electronic data may include sensitive data, such as bank account statements, credit card numbers, trade or government secrets, intellectual property or personally identifiable or protected healthcare information (e.g., medical histories, social security information, etc.), which has intrinsic value to both legitimate and non-legitimate actors. For some types of sensitive data, the protection of its confidentiality is more than just prudent, it is a legal requirement. For example, the Health Insurance Portability and Accountability Act (HIPAA) outlines legal requirements for maintaining the confidentiality of personal health information, where legal non-compliance may result in civil or criminal penalties, reputation damage, or legal action.

Encryption is one technique for protecting the confidentiality of information from eavesdroppers or other unauthorized parties. The goal of encryption is not to hide the existence of such information, but rather, to hide its meaning. Hence, encrypted data includes data that has been obfuscated according to a selected cryptographic key and cryptographic cipher. By obfuscating the data, the confidentiality is assured and the data is rendered computationally (as opposed to information-theoretically) secure. That is, although an attacker may theoretically break a scheme by enumerating all possible keys, the confidentiality of the data is protected when it is considered infeasible for the attacker to uncover data as plaintext (e.g., non-encrypted data) from stored or transmitted ciphertext (e.g., encrypted data) in any reasonable amount of time given available computing power. This notion of confidentiality for an encryption scheme is that it prevents “message-recovery attacks.”

In the past, prior cryptography techniques have been configured to prevent unauthorized access to the data by third parties. While some prior cryptography techniques can, in fact, be very difficult to attack and bypass, such techniques have remained vulnerable to attack for several reasons. Some of these reasons may include the fact that many of these prior cryptography techniques use only (i) a single cipher when encrypting the data or (ii) a single key to encrypt all of the data in a message.

In the past, the use of a single key and/or cipher applied across the entirety of a message has aided attackers in bypassing the benefits associated with using such cryptographic techniques, especially where the key length is sufficiently short to allow the key to be (relatively) easily uncovered. More specifically, if a cryptographic algorithm features a key space that is too small, there is an increased probability of the key being discovered by an exhaustive key search, namely a “brute force attack.” Such an attack tests every possible key until it finds the right one. For example, a 56-bit key space for the Data Encryption Standard (DES) algorithm has been recently determined to be inadequate, given that customized application specific integrated circuit (ASICs) may be developed to uncover a key in approximately 26 hours.

Also, the use of a single key to encrypt data has often been ineffective in preserving confidentiality as the encrypted data becomes vulnerable to key recovery or side channel attacks against vulnerabilities in an encryption algorithm, protocol, or implementation. Additionally, cryptanalysts (i.e., people who specialize in finding weaknesses in cryptosystems) routinely discover vulnerabilities innate to cryptosystems themselves. In some situations, the vulnerability may emerge, at least in part, because of technological advances (e.g., increased data processing capabilities, quantum computing, or the like). In others, widely used encryption schemes and cryptosystems (e.g., RC4 stream cipher) may be determined to be vulnerable due to inherent design characteristics. In either case, continued use of these encryption schemes (or cryptosystems) would not be recommended as the totality of the data may be compromised if a brute-force attack is conducted.

Given these many threats to data security, improvements in cryptographic schemes to protect such data are continually needed.

BRIEF DESCRIPTION OF THE DRAWINGS

Embodiments of the invention are illustrated by way of example and not by way of limitation in the figures of the accompanying drawings, in which like references indicate similar elements and in which:

FIG. 1 is a first exemplary embodiment of a computing device deploying a multi-stage data protection logic.

FIG. 2 is an exemplary block diagram of the logical architecture of the multi-stage data protection logic of FIG. 1 .

FIG. 3 is a second exemplary embodiment of a computing device deploying the multi-stage data protection logic.

FIGS. 4A-4F are illustrative block diagrams of the multi-stage data protection logic of FIG. 1 and FIG. 3 .

FIGS. 5A-5B are illustrative flowchart of the operations conducted by the multi-stage data protection logic of FIG. 1 and FIG. 3 for generating ciphertext for secured storage or transmission.

FIG. 6 is an illustrative flowchart of the operations conducted by the multi-stage data protection logic of FIG. 1 and FIG. 3 for recovering plaintext from a received ciphertext encrypted in accordance with the multi-stage data protection scheme.

DETAILED DESCRIPTION

Protecting information security is critical in today's information intensive society. Verifying information's authenticity to provide trustworthiness and protecting the confidentiality of such information are essential. In many different environments, sensitive data and information needs to be securely stored for later retrieval and/or transmitted from one location to another. As described below, cryptographic logic has been developed that provides a multi-stage data protection (encryption/decryption) scheme offering significant improvements in the degree of cryptographic assurances available from symmetric block ciphers such as the Advanced Encryption Standard (AES).

According to one embodiment of this disclosure, the multi-stage data protection scheme utilizes a plurality of block ciphers, which provide improved security guarantees over the use of a single conventional block cipher such as the AES or ARIA for example. By layering (e.g., common orientation) multiple block ciphers with respect to the encryption of discrete segments of plaintext, this multi-stage data protection scheme provides “fallback security” in case one or more of the block ciphers is compromised. Additionally, the multi-stage data protection scheme provides an effective key length which is significantly longer than that of any of the constituent block ciphers. Also, through the use of iterative layering, segmenting and encrypting operations, this multi-stage data protection scheme is further hardened against message recovery attacks in efforts to uncover the underlying data.

It is contemplated that the methods, functionality and features described herein may be embodied in whole or in part as software or firmware (defined below), which operates on any computing device or on a distributed system deploying one or more computing devices. Alternatively, it is contemplated that the methods, functionality and features described herein may be embodied, in whole or in part, as hardware.

I. Terminology

In the following description, certain terminology is used to describe aspects of the invention. For example, in certain situations, the terms “logic” and “component” are representative of hardware, firmware and/or software that is configured to perform one or more functions. As hardware, logic (or a component) may include circuitry having data processing or storage functionality. Examples of such processing or storage circuitry may include, but is not limited or restricted to the following: a processor; one or more processor cores; a programmable gate array; an I/O controller (e.g., network interface controller, disk controller, memory controller, keyboard controller, etc.); an application specific integrated circuit; receiver, transmitter and/or transceiver circuitry; semiconductor memory; combinatorial logic, or combinations of one or more of the above components.

Logic (or a component) may be in the form of one or more software modules, such as executable code in the form of an operating system component, an executable application, firmware, an application programming interface (API), one or more subroutines, a function, a procedure, an applet, a plug-in, a servlet, a Component Object Model (COM) object, a routine, source code, object code, a shared library/dynamic linked library, a script, or one or more instructions. These software modules may be stored in any type of a suitable non-transitory storage medium, or transitory storage medium (e.g., electrical, optical, acoustical or other form of propagated signals such as carrier waves, infrared signals, or digital signals). Examples of a “non-transitory storage medium” may include, but are not limited or restricted to a programmable circuit; non-persistent storage such as volatile memory (e.g., any type of random access memory “RAM”); persistent storage such as non-volatile memory (e.g., read-only memory “ROM”, power-backed RAM, flash memory, phase-change memory, etc.), a solid-state drive, hard disk drive, an optical disc drive, or portable memory device; and/or a semiconductor memory. As firmware, the executable code is stored in persistent storage.

The term “plaintext” refers generally to information, data or any other content in an unencrypted format, which may be included as part of a message, namely information that is stored or transmitted in accordance with a prescribed format. Hence, each “message” may be one or more packets or frames, a file, or any collection of bits having the prescribed format. As used herein, the term “ciphertext” includes information, data or any other content in an encrypted format.

An “encryption layer” is a result produced by encrypting input data (e.g. binary values of plaintext, ciphertext, etc.), where a first encryption layer denotes ciphertext produced by encrypting binary data associated with plaintext and a second encryption layer is produced from the ciphertext of the first encryption layer. Herein, when illustrating a multi-layered ciphertext, while the uppermost encryption layer is physically present, the logical relationship between the uppermost encryption layer and any lower encryption layers may be shown for illustrative purposes.

A “computing device” generally refers to an electronic device with access to plaintext via a communication interface (e.g., a network interface controller, wireless transceiver, memory controller, a physical or logical port, etc.). Examples of a computing device may include, but are not limited or restricted to the following: a server; a router or other signal propagation networking equipment (e.g., a wireless or wired access point); a set-top box; a video-game console; an endpoint device (e.g., a stationary or portable computer including, a desktop computer, laptop, electronic reader, netbook or tablet; a smart phone; or wearable technology such as an Apple® iWatch™, Fitbit® fitness wristband, or other sensor-based component).

The term “interconnect” is a physical or logical communication path to or within a computing device. For instance, the communication path may include wired and/or wireless segments. Examples of wired and/or wireless segments include electrical wiring, optical fiber, cable, bus trace, or a wireless channel using infrared, radio frequency (RF), or any other wired/wireless signaling mechanism.

The term “computerized” generally represents that corresponding operations are conducted by hardware in combination with software and/or firmware.

The term “segment” may be construed as a collection of bits forming a predetermined length. This predetermined length may be determined, based at least in part, on (i) the size of the original plaintext message provided for encryption and (ii) padding requirements caused by the block size of a chosen block cipher (e.g., the amount of padding needed to produce an input plaintext length that is evenly divisible by the cipher block size such as 128 bits). Hence, a segment may include one or more “blocks” of data encrypted by a chosen block cipher. Examples of the cipher block sizes may include, but are not limited or restricted to 64 bits, 128 bits, 256 bits, or the like. Also, the number of segments may be selected based on the desired security level (e.g., 256 segments per encrypted message layer). To achieve fallback security, each segment is configured with the same length (size) as the other segments.

A “block cipher” is an encryption scheme that produces ciphertext from plaintext in which a cryptographic key and algorithm are applied to a block of data (for example, 128 contiguous bits) at once as a group rather than to one bit at a time. Different block ciphers may be used. By way of example only, and not by way of limitation, the block ciphers may include AES, Serpent, Speck, Simon, ARIA, MARS, Camellia, and/or Twofish. In other words, the block ciphers may be part of a cipher suite, which includes a plurality of block ciphers available for use by the multi-stage data protection scheme. As an option, the cipher suite is stored within a data store and allows a user (or administrator) to select which of the block ciphers (all or some) are permitted for use by the multi-stage data protection scheme. This provides enhanced flexibility and security by allowing an administrator to update, substitute, add, remove or deactivate (i.e., prevent further use of) a block cipher from the cipher suite based on customer preferences, compromised ciphers, newly released (and more secure) ciphers, or the like.

Lastly, the terms “or” and “and/or” as used herein are to be interpreted as inclusive or meaning any one or any combination. Therefore, “A, B or C” or “A, B and/or C” may mean any of the following: “A; B; C; A and B; A and C; B and C; A, B and C.” An exception to this definition will occur only when a combination of elements, functions, steps or acts are in some way inherently mutually exclusive.

As this invention is suscep

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of priority of U.S. Provisional Application No. 62/607,263, filed Dec. 18, 2017, the entire contents of which are incorporated by reference herein.

EXPORT CONTROL

Information in this patent application is controlled by the U.S. Government and authorized for access only by U.S. persons and licensed non-U.S. persons. Please contact the assignee, Secure Channels, Inc., for further guidance if you wish to give access to the subject application to a non-U.S. person. This statement attaches to any use or incorporation of said patent application into other applications or any other use.

1. FIELD

Embodiments of the disclosure relate to the field of cryptography. More specifically, an embodiment of the disclosure is directed to cryptographic logic configured to conduct iterative segmenting, encrypting and layering operations on incoming data to generate ciphertext for protected storage and/or transmission.

2. GENERAL BACKGROUND

The use of electronic data and other information has become an integral part of our daily lives. Each day, more and more emails, texts, electronic documents, and other forms of electronic data are stored or transmitted throughout the world by businesses and individuals alike. Accordingly, there exists an increasing need to protect the confidentiality of information contained within the electronic data from unauthorized disclosure.

In some cases, this electronic data may include sensitive data, such as bank account statements, credit card numbers, trade or government secrets, intellectual property or personally identifiable or protected healthcare information (e.g., medical histories, social security information, etc.), which has intrinsic value to both legitimate and non-legitimate actors. For some types of sensitive data, the protection of its confidentiality is more than just prudent, it is a legal requirement. For example, the Health Insurance Portability and Accountability Act (HIPAA) outlines legal requirements for maintaining the confidentiality of personal health information, where legal non-compliance may result in civil or criminal penalties, reputation damage, or legal action.

Encryption is one technique for protecting the confidentiality of information from eavesdroppers or other unauthorized parties. The goal of encryption is not to hide the existence of such information, but rather, to hide its meaning. Hence, encrypted data includes data that has been obfuscated according to a selected cryptographic key and cryptographic cipher. By obfuscating the data, the confidentiality is assured and the data is rendered computationally (as opposed to information-theoretically) secure. That is, although an attacker may theoretically break a scheme by enumerating all possible keys, the confidentiality of the data is protected when it is considered infeasible for the attacker to uncover data as plaintext (e.g., non-encrypted data) from stored or transmitted ciphertext (e.g., encrypted data) in any reasonable amount of time given available computing power. This notion of confidentiality for an encryption scheme is that it prevents “message-recovery attacks.”

In the past, prior cryptography techniques have been configured to prevent unauthorized access to the data by third parties. While some prior cryptography techniques can, in fact, be very difficult to attack and bypass, such techniques have remained vulnerable to attack for several reasons. Some of these reasons may include the fact that many of these prior cryptography techniques use only (i) a single cipher when encrypting the data or (ii) a single key to encrypt all of the data in a message.

In the past, the use of a single key and/or cipher applied across the entirety of a message has aided attackers in bypassing the benefits associated with using such cryptographic techniques, especially where the key length is sufficiently short to allow the key to be (relatively) easily uncovered. More specifically, if a cryptographic algorithm features a key space that is too small, there is an increased probability of the key being discovered by an exhaustive key search, namely a “brute force attack.” Such an attack tests every possible key until it finds the right one. For example, a 56-bit key space for the Data Encryption Standard (DES) algorithm has been recently determined to be inadequate, given that customized application specific integrated circuit (ASICs) may be developed to uncover a key in approximately 26 hours.

Also, the use of a single key to encrypt data has often been ineffective in preserving confidentiality as the encrypted data becomes vulnerable to key recovery or side channel attacks against vulnerabilities in an encryption algorithm, protocol, or implementation. Additionally, cryptanalysts (i.e., people who specialize in finding weaknesses in cryptosystems) routinely discover vulnerabilities innate to cryptosystems themselves. In some situations, the vulnerability may emerge, at least in part, because of technological advances (e.g., increased data processing capabilities, quantum computing, or the like). In others, widely used encryption schemes and cryptosystems (e.g., RC4 stream cipher) may be determined to be vulnerable due to inherent design characteristics. In either case, continued use of these encryption schemes (or cryptosystems) would not be recommended as the totality of the data may be compromised if a brute-force attack is conducted.

Given these many threats to data security, improvements in cryptographic schemes to protect such data are continually needed.

BRIEF DESCRIPTION OF THE DRAWINGS

Embodiments of the invention are illustrated by way of example and not by way of limitation in the figures of the accompanying drawings, in which like references indicate similar elements and in which:

FIG. 1 is a first exemplary embodiment of a computing device deploying a multi-stage data protection logic.

FIG. 2 is an exemplary block diagram of the logical architecture of the multi-stage data protection logic of FIG. 1 .

FIG. 3 is a second exemplary embodiment of a computing device deploying the multi-stage data protection logic.

FIGS. 4A-4F are illustrative block diagrams of the multi-stage data protection logic of FIG. 1 and FIG. 3 .

FIGS. 5A-5B are illustrative flowchart of the operations conducted by the multi-stage data protection logic of FIG. 1 and FIG. 3 for generating ciphertext for secured storage or transmission.

FIG. 6 is an illustrative flowchart of the operations conducted by the multi-stage data protection logic of FIG. 1 and FIG. 3 for recovering plaintext from a received ciphertext encrypted in accordance with the multi-stage data protection scheme.

DETAILED DESCRIPTION

Protecting information security is critical in today's information intensive society. Verifying information's authenticity to provide trustworthiness and protecting the confidentiality of such information are essential. In many different environments, sensitive data and information needs to be securely stored for later retrieval and/or transmitted from one location to another. As described below, cryptographic logic has been developed that provides a multi-stage data protection (encryption/decryption) scheme offering significant improvements in the degree of cryptographic assurances available from symmetric block ciphers such as the Advanced Encryption Standard (AES).

According to one embodiment of this disclosure, the multi-stage data protection scheme utilizes a plurality of block ciphers, which provide improved security guarantees over the use of a single conventional block cipher such as the AES or ARIA for example. By layering (e.g., common orientation) multiple block ciphers with respect to the encryption of discrete segments of plaintext, this multi-stage data protection scheme provides “fallback security” in case one or more of the block ciphers is compromised. Additionally, the multi-stage data protection scheme provides an effective key length which is significantly longer than that of any of the constituent block ciphers. Also, through the use of iterative layering, segmenting and encrypting operations, this multi-stage data protection scheme is further hardened against message recovery attacks in efforts to uncover the underlying data.

It is contemplated that the methods, functionality and features described herein may be embodied in whole or in part as software or firmware (defined below), which operates on any computing device or on a distributed system deploying one or more computing devices. Alternatively, it is contemplated that the methods, functionality and features described herein may be embodied, in whole or in part, as hardware.

I. Terminology

In the following description, certain terminology is used to describe aspects of the invention. For example, in certain situations, the terms “logic” and “component” are representative of hardware, firmware and/or software that is configured to perform one or more functions. As hardware, logic (or a component) may include circuitry having data processing or storage functionality. Examples of such processing or storage circuitry may include, but is not limited or restricted to the following: a processor; one or more processor cores; a programmable gate array; an I/O controller (e.g., network interface controller, disk controller, memory controller, keyboard controller, etc.); an application specific integrated circuit; receiver, transmitter and/or transceiver circuitry; semiconductor memory; combinatorial logic, or combinations of one or more of the above components.

Logic (or a component) may be in the form of one or more software modules, such as executable code in the form of an operating system component, an executable application, firmware, an application programming interface (API), one or more subroutines, a function, a procedure, an applet, a plug-in, a servlet, a Component Object Model (COM) object, a routine, source code, object code, a shared library/dynamic linked library, a script, or one or more instructions. These software modules may be stored in any type of a suitable non-transitory storage medium, or transitory storage medium (e.g., electrical, optical, acoustical or other form of propagated signals such as carrier waves, infrared signals, or digital signals). Examples of a “non-transitory storage medium” may include, but are not limited or restricted to a programmable circuit; non-persistent storage such as volatile memory (e.g., any type of random access memory “RAM”); persistent storage such as non-volatile memory (e.g., read-only memory “ROM”, power-backed RAM, flash memory, phase-change memory, etc.), a solid-state drive, hard disk drive, an optical disc drive, or portable memory device; and/or a semiconductor memory. As firmware, the executable code is stored in persistent storage.

The term “plaintext” refers generally to information, data or any other content in an unencrypted format, which may be included as part of a message, namely information that is stored or transmitted in accordance with a prescribed format. Hence, each “message” may be one or more packets or frames, a file, or any collection of bits having the prescribed format. As used herein, the term “ciphertext” includes information, data or any other content in an encrypted format.

An “encryption layer” is a result produced by encrypting input data (e.g. binary values of plaintext, ciphertext, etc.), where a first encryption layer denotes ciphertext produced by encrypting binary data associated with plaintext and a second encryption layer is produced from the ciphertext of the first encryption layer. Herein, when illustrating a multi-layered ciphertext, while the uppermost encryption layer is physically present, the logical relationship between the uppermost encryption layer and any lower encryption layers may be shown for illustrative purposes.

A “computing device” generally refers to an electronic device with access to plaintext via a communication interface (e.g., a network interface controller, wireless transceiver, memory controller, a physical or logical port, etc.). Examples of a computing device may include, but are not limited or restricted to the following: a server; a router or other signal propagation networking equipment (e.g., a wireless or wired access point); a set-top box; a video-game console; an endpoint device (e.g., a stationary or portable computer including, a desktop computer, laptop, electronic reader, netbook or tablet; a smart phone; or wearable technology such as an Apple® iWatch™, Fitbit® fitness wristband, or other sensor-based component).

The term “interconnect” is a physical or logical communication path to or within a computing device. For instance, the communication path may include wired and/or wireless segments. Examples of wired and/or wireless segments include electrical wiring, optical fiber, cable, bus trace, or a wireless channel using infrared, radio frequency (RF), or any other wired/wireless signaling mechanism.

The term “computerized” generally represents that corresponding operations are conducted by hardware in combination with software and/or firmware.

The term “segment” may be construed as a collection of bits forming a predetermined length. This predetermined length may be determined, based at least in part, on (i) the size of the original plaintext message provided for encryption and (ii) padding requirements caused by the block size of a chosen block cipher (e.g., the amount of padding needed to produce an input plaintext length that is evenly divisible by the cipher block size such as 128 bits). Hence, a segment may include one or more “blocks” of data encrypted by a chosen block cipher. Examples of the cipher block sizes may include, but are not limited or restricted to 64 bits, 128 bits, 256 bits, or the like. Also, the number of segments may be selected based on the desired security level (e.g., 256 segments per encrypted message layer). To achieve fallback security, each segment is configured with the same length (size) as the other segments.

A “block cipher” is an encryption scheme that produces ciphertext from plaintext in which a cryptographic key and algorithm are applied to a block of data (for example, 128 contiguous bits) at once as a group rather than to one bit at a time. Different block ciphers may be used. By way of example only, and not by way of limitation, the block ciphers may include AES, Serpent, Speck, Simon, ARIA, MARS, Camellia, and/or Twofish. In other words, the block ciphers may be part of a cipher suite, which includes a plurality of block ciphers available for use by the multi-stage data protection scheme. As an option, the cipher suite is stored within a data store and allows a user (or administrator) to select which of the block ciphers (all or some) are permitted for use by the multi-stage data protection scheme. This provides enhanced flexibility and security by allowing an administrator to update, substitute, add, remove or deactivate (i.e., prevent further use of) a block cipher from the cipher suite based on customer preferences, compromised ciphers, newly released (and more secure) ciphers, or the like.

Lastly, the terms “or” and “and/or” as used herein are to be interpreted as inclusive or meaning any one or any combination. Therefore, “A, B or C” or “A, B and/or C” may mean any of the following: “A; B; C; A and B; A and C; B and C; A, B and C.” An exception to this definition will occur only when a combination of elements, functions, steps or acts are in some way inherently mutually exclusive.

As this invention is susceptible to embodiments of many different forms, it is intended that the present disclosure is to be considered as an example of the principles of the invention and is not intended to limit the invention to the specific embodiments shown and described.

II. General Architecture

Referring to FIG. 1 , a first exemplary embodiment of a computing device 100 deploying multi-stage encryption logic 105 is shown. Herein, the computing device 100 features a communication interface 110 , a processor 115 , a random number generator “RNG” (e.g., a True Random Number Generator (TRNG) or a Computationally Secure Pseudo-Random Number Generator (CSPRNG)) 120 , and a memory 125 (e.g., volatile storage and/or non-volatile storage). As shown, according to this embodiment, the multi-stage encryption logic 105 is stored within the memory 125 and is configured to produce an output ciphertext 112 upon performing multiple encryption stages on incoming plaintext 111 . More specifically, the multi-stage encryption logic 105 applies multiple layering, segmentation and encryption cycles on incoming plaintext 111 and resulting ciphertext to produce the output ciphertext 112 , as illustrated in FIG. 2 and FIGS. 4A-4F .

According to one embodiment of the disclosure, the multi-stage encryption logic 105 includes (i) segmenting logic 130 , (ii) key generation logic 135 , (iii) key allocation logic 140 , (iv) key management logic 145 , (v) cipher allocation logic 150 , (vi) cipher management logic 155 , (vii) encryption logic 160 , and/or (viii) layering logic 165 . As shown, each of these logic units may be deployed a software module (or firmware) that operates upon execution by the processor 115 , although it is contemplated that some or all of these logic units may be implemented as hardware. Hence, for clarity's sake, the functionality of the above-identified logic will be described without explicit discussion of its execution by the processor 115 .

Additionally, a pattern key 170 , a key store 180 , and a cipher store 185 are accessible by the multi-stage encryption logic 105 . Herein, the pattern key 170 operates as a record being an aggregate of meta-information associated with each encrypted segment of a multi-layered, multi-segmented ciphertext forming a portion of the output ciphertext 112 . The key store 180 includes a plurality of unique symmetric keys 182 , each used for encrypting a segment of binary data associated with the plaintext 111 or a resulting ciphertext, as described below. These symmetric keys 182 may be stored in a protected format (e.g., encrypted or otherwise obfuscated based on data generated from a credential provided by a user of the computing device 100 and/or the encrypted symmetric keys being part of an encrypted volume stored within the key store 180 to provide dual levels of encryption protection). The cipher store 185 includes a cipher suite 188 , namely a collection of block ciphers where some or all of these block ciphers may be used for encrypting segments of the binary data. Herein, the key store 180 and the cipher store 185 may be part of secure memory residing within the computing device 100 , although it is contemplated that the key store 180 and/or the cipher store 185 may reside within secure memory located external to the computing device 100 .

Additionally, according to this embodiment of the disclosure, the memory 125 may include decryption logic 190 operating with the key store 180 and cipher store 185 . The decryption logic 190 is configured to recover a pattern key stored within received ciphertext (not shown). The decryption logic 190 uses the recovered pattern key as a guide in controlling the key/cipher selection and in decrypting segments of received ciphertext in order to recover the underlying data obfuscated within the received ciphertext. It is contemplated that the decryption logic 190 is configured to recover the underlying data, provided the decryption logic 190 has access to keying material (e.g., the one or more symmetric keys, etc.) to conduct a first level of decryption to recover the pattern key from the received ciphertext, and thereafter, recover one or more symmetric keys used to encrypt data within the received ciphertext (not shown).

As shown in FIG. 1 , the communication interface 110 is configured to receive and provide plaintext 111 to the processor 115 , which generates output ciphertext 112 by encrypting the plaintext 111 in accordance with the operations of the multi-stage encryption logic 105 as described below. Additionally, the communication interface 110 may be configured to receive and provide ciphertext to the processor 115 in order to recover underlying data by performing a decryption operation on the ciphertext (being an inverse operation of the encryption operations and illustrated in FIG. 6 ). According to one embodiment of the disclosure, the communication interface 110 may be configured as a physical port, which receives the plaintext 111 propagating over an interconnect (e.g., wired network, wireless network, cable, etc.) for encryption and subsequent re-transmission or storage as the output ciphertext 112 .

The processor 115 may be configured to process a set of instructions that translate the received plaintext 111 into binary data. Thereafter, the processor 115 executes the multi-stage encryption logic 105 to perform multiple (i.e., two or more) processing stages, namely a first processing stage initially on the binary data and one or more subsequent processing stages on resulting (composite) ciphertext in order to generate the multi-layered, multi-segmented ciphertext (see FIG. 4C ). Thereafter, the processor 115 is configured to concatenate the pattern key 170 maintained in a data store (not shown) to the multi-layered, multi-segmented ciphertext and generate the output ciphertext 112 by encrypting the multi-layered, multi-segmented ciphertext with the pattern key 170 using an authenticated encryption scheme (e.g., AES operating in GCM (Galois Counter Mode) or AES operating in CCM (Counter Mode with CBC MAC)) to provide the necessary authenticity guarantees.

A. First Processing Stage

According to one embodiment of the disclosure, the multi-stage encryption logic 105 performs a first processing stage to produce a resulting ciphertext (hereinafter, the “first ciphertext”). The first ciphertext operates as a first encryption layer of the output ciphertext 112 . It is contemplated that some of the operations conducted by the processing stages (described below) are not described in order to concentrate on certain inventive aspects so that the description is illustrative.

More specifically, the segmenting logic 130 is configured to separate the binary data from the plaintext 111 into a first plurality of equally sized, contiguous segments of binary data (e.g., “N” equally sized, contiguous data segments, where N≥2). In order to provide “N” data segments of equal size, the segmenting logic 130 includes padding logic (not shown) to add bits or bytes of pad data (e.g., logic “1s and 0s”) to one of more of the first plurality of data segments as needed so that each segment is divisible by the bitwise length utilized by the block cipher (herein, “cipher block length”). For one deployment, the segmenting logic 130 may be configured to separate the binary data into 256 equally-sized data segments (i.e., N=256 or 2 8 ). For other deployments, the segmenting logic 130 may be configured to separate the binary data from the plaintext 111 into any number of equally-sized data segments (e.g., 2 r data segments, where r>1 and r≠8). Also, for each data segment, the segmenting logic 130 provides a data segment identifier (Segment_ID) to uniquely identify that data segment. As an illustrative example, the Segment_IDs for “N” data segments may be represented by values “1” to “N,” respectively.

Referring still to FIG. 1 , the RNG 120 is configured to produce a plurality of cryptographic nonces, namely random bit values that correspond in number to the number (N) of data segments produced by the segmenting logic 130 . These nonces are made available to the key generation logic 135 , which generates a unique, symmetric key for each data segment of the first plurality of data segments based, at least in part, on each nonce. Stated differently, using each nonce, in total or in part, the key generation logic 135 generates a unique, symmetric key for use in encrypting content within a corresponding segment of binary data. Hence, where the segmenting logic 130 is configured to separate the binary data into 256 equally-sized data segments, the key generation logic 135 generates 256 unique symmetric keys for use in encrypting content associated with the 256 data segments, respectively.

As an illustrative example, the RNG 120 may be configured to generate a first sequence of nonces (e.g., multiple 256-bit values), which are used by the key generation logic 135 , in total or in part, to generate a corresponding sequence of symmetric keys. Each of these symmetric keys is unique to each other and is generated to encrypt binary data associated with a particular data segment. As an optional operation, to ensure uniqueness of the symmetric keys before usage, the key generation logic 135 may compare nonces generated by the RNG 120 for a particular segment to ensure no duplication for any of these nonces prior to generating and securely storing these symmetric keys within the key store 180 (e.g., encrypting or obfuscating each of the symmetric keys based on data generated from a user or device credential and/or the encrypted (or obfuscated) symmetric keys being part of an encrypted volume stored within the key store 180 ).

However, according to another illustrative example, the RNG 120 may be configured to generate the first sequence of nonces, where each nonce is modified to produce a symmetric key. For instance, each nonce of the first sequence of nonces may undergo one or more logical operations (e.g., AND, OR, NAND, NOR, XOR, etc.), a mask operation, or other operation(s), to produce a corresponding symmetric key. Herein, each nonce is unique and operates as a “seed” for the key generation logic 135 in deterministically generating a unique symmetric key.

The key management logic 145 is configured to assign an identifier to each symmetric key generated by the key generation logic 135 and maintain the relationship between the assigned identifier and the symmetric key. According to one embodiment of the disclosure, the relationship between an assigned identifier (i.e., Key_ID) and its symmetric key may be maintained by a table, a relational database, or the like. A listing of the Key_IDs for the symmetric keys is provided to the key allocation logic 140 for symmetric key allocation.

In particular, the key allocation logic 140 may be configured to assign which symmetric key is associated with which data segment. Herein, each symmetric key is uniquely assigned to a different data segment of the first plurality of data segments in accordance with any number of selection schemes (e.g., round-robin based on the listing of Key_IDs provided from the key management logic 145 , key allocation to each successive data segment being based on order of key generation, cryptographically secure pseudo-random selection without duplication, etc.). Hence, the assigned order of the symmetric keys (corresponding to the selected order of the Key_IDs) is provided to the key management logic 145 which controls storage, within the pattern key 170 , of each key identifier with its corresponding data segment.

Besides the first sequence of nonces, the RNG 120 may be further used to randomly generate one or more nonces for use by the cipher allocation logic 150 in selecting each cipher of a plurality of ciphers for use in encrypting content of a particular data segment of the first plurality of data segments. More specifically, the cipher allocation logic 150 is responsible for selecting which specific block cipher, from a plurality of predetermined block ciphers maintained in the cipher store 185 , is used for encrypting each data segment. Hence, for each “N” data segments, the cipher allocation logic 150 identifies a particular cipher used to encrypt that data segment.

As a first illustrative example, the cipher store 185 may be configured to maintain the cipher suite 188 that includes a plurality of different block ciphers that are selected to encrypt content within the data segments (e.g., eight different block ciphers). The selection of the block ciphers may be based on (i) the block ciphers being stored as part of the cipher suite (e.g., all block ciphers stored within the cipher store 185 ) or (ii) a user or administrator selection (e.g., two or more of the eight block ciphers being selected). Through administrator controls 113 (e.g., commands, queries, etc.), the user or administrator may update, substitute, add, remove or deactivate (i.e., prevent current use of) a block cipher from the cipher suite 188 stored in the cipher store 185 .

The cipher allocation logic 150 receives a second sequence of nonces (e.g., “N” selected bit values) from the RNG 120 , and based on a particular bit value included within these nonces, assigns a specific block cipher for use in encrypting content within a corresponding data segment. For example, the cipher allocation logic 150 may receive the second sequence of nonces from the RNG 120 , where each of the second sequence of nonces includes a 3-bit value (e.g., bit value representing decimal integers between “0” and “7”) that identifies one of the eight (8) block ciphers included in the stored cipher suite 188 . For each of the “N” 3-bit values, the cipher allocation logic 150 identifies to the cipher management logic 155 a block cipher used to encrypt content within a data segment of the “N” data segments. As another example, the cipher allocation logic 150 may extract a 3-bit value from each of the second sequence of nonces or a single nonce may be generated from which the total number of bits for this nonce would be sufficient for the cipher allocation logic 150 to parse the necessary bit values needed for cipher selection (e.g., 768 bits for 256 data segments and maximum of eight (2 3 ) block ciphers).

The cipher management logic 155 is configured to record a cipher identifier (Cipher_ID) for each data segment within the pattern key 170 and pass such information to the encryption logic 160 to identify which block cipher is used to encrypt each data segment. Hence, for each data segment, the pattern key 170 retains a Segment_ID, a Key_ID, a Cipher_ID and optionally a location ID that identifies a location of the symmetric keys and/or cipher suite if stored external to the computing device 100 (e.g., network address of an enterprise-based data store including the key store 180 and/or cipher store 185 ).

Referring still to FIG. 1 , the encryption logic 160 is configured to conduct encryption operations on each data segment using a corresponding symmetric key and block cipher combination to produce the first ciphertext. As a result, for the first ciphertext, each of the “N” data segments is encrypted with a unique symmetric key using a selected block cipher. The selection of the block cipher may be random or cryptographically secure pseudo-random, as constrained by the block ciphers maintained in the cipher store 185 . The layering logic 165 assists in generating the output ciphertext 112 by providing the first ciphertext, which corresponds to a first encryption layer in a multi-layered encryption scheme, as binary data for processing by the segmenting logic 130 in a second processing stage.

B. Second (or Subsequent) Processing Stage(s)

According to one embodiment of the disclosure, the multi-stage encryption logic 105 performs at least a second processing stage to produce a resulting ciphertext (hereinafter, the “second ciphertext”). The second ciphertext constitutes the second encryption layer, which is formed by encrypting, using block ciphers, segments of first ciphertext operating as the first encryption layer without a need to retain the first ciphertext. Hence, where the multi-stage encryption logic 105 performs only two processing stages, the output ciphertext 112 is partially based on an encrypted representation of the second ciphertext.

At the start of the second processing stage, the segmenting logic 130 separates binary data of the first ciphertext into a second plurality (N) of equally sized, contiguous segments (hereinafter, “ciphertext segments”), which correspond in size and number to the first plurality of data segments described above. It is contemplated, where the output ciphertext 112 is produced through iterative processing stages involving more than two encryption layers of ciphertext, the most recently generated ciphertext is provided to the segmenting logic 130 as input data for forming another encryption layer for the multi-layered, multi-segmented ciphertext. Also, for each ciphertext segment, the segmenting logic 130 provides a Segment_ID to uniquely identify that ciphertext segment. For instance, the Segment_IDs for “N” ciphertext segments may be represented by value “N+1” to “2N,” respectively.

As shown in FIG. 1 , the RNG 120 is configured to produce a plurality of cryptographic nonces, corresponding in number (N) to the ciphertext segments produced by the segmenting logic 130 . These nonces are made available to the key generation logic 135 , which generates a unique, symmetric key for each ciphertext segment. The key management logic 145 is configured to assign an identifier to each symmetric key associated with a ciphertext segment (Key ID) and maintain the relationship between this assigned identifier and the symmetric key. Likewise, the key allocation logic 140 is configured to assign which symmetric key of the plurality of keys is associated with which ciphertext segment. Herein, each symmetric key is uniquely assigned to a different ciphertext segment and the key management logic 145 controls storage, within the pattern key 170 , of each Key_ID with its corresponding ciphertext segment.

As described above, using the RNG 120 , the cipher allocation logic 150 selects each cipher of a plurality of ciphers used to encrypt content of a ciphertext segment of the “N” ciphertext segments, provided aligning segments are not allocated the same cipher. For instance, where the binary data of the <figure-callout id="111" label="plaintext" filenames="US10187200-20190122-D00001.png,US10187200-20190122-D00003.png

CLAIMS

Claims ( 12 )

What is claimed is:

1. A computerized method comprising:

encrypting each of a plurality of segments of a binary value using a selected block cipher of a plurality of block ciphers and a unique symmetric key of a first plurality of unique, symmetric keys to produce a first ciphertext;

encrypting each of a plurality of segments of the first ciphertext using a selected block cipher of the plurality of block ciphers and a unique symmetric key of a second plurality of unique, symmetric keys to produce a second ciphertext, wherein the selected block cipher used to encrypt a first segment of the binary value to produce a first segment of the plurality of segments of the first ciphertext is different than the selected block cipher used to encrypt the first segment of the first ciphertext to produce a first segment of the second ciphertext and the encrypting of each of the plurality of segments of the first ciphertext comprises aligning the plurality of segments of the first ciphertext with a plurality of segments of the second ciphertext where the first segment of the plurality of segments of the first ciphertext corresponds to the first segment of the second ciphertext, a second segment of the plurality of segments of the first ciphertext corresponds to a second segment of the plurality of segments of the second ciphertext and continuing to associate remaining segments of the plurality of segments of the first ciphertext with remaining segments of the plurality of segments of the second ciphertext;

concatenating a pattern key to a prescribed segment of the plurality of segments of the second ciphertext to produce a composite ciphertext, the pattern key including identifiers of the block ciphers and symmetric keys used to encrypt each of the plurality of segments of the binary value and each of the plurality of segments of the first ciphertext; and

encrypting the composite ciphertext using a symmetric key cipher and a selected symmetric key to produce a multi-layered, multi-segmented ciphertext for secure storage within a memory device.

2. The computerized method of claim 1 , wherein the encrypting of each of the plurality of segments of the binary value comprises

generating a first plurality of unique nonces by a random number generator; and

generating each of a first plurality of unique, symmetric keys based on a corresponding nonce of the first plurality of nonces.

3. The computerized method of claim 2 , wherein the encrypting of each of the plurality of segments of the binary value further comprises

generating a second plurality of unique nonces by the random number generator; and

selecting a block cipher of the plurality of block ciphers for each of the plurality of segments of the binary data based on a corresponding nonce of the second plurality of nonces.

4. The computerized method of claim 3 , wherein the encrypting of each of the plurality of segments of the first ciphertext comprises

generating a third plurality of unique nonces by the random number generator; and

generating each of the second plurality of unique, symmetric keys based on a corresponding nonce of the third plurality of nonces.

5. The computerized method of claim 4 , wherein the encrypting of each of the plurality of segments of the first ciphertext further comprises

generating a fourth plurality of unique nonces by the random number generator; and

selecting block ciphers for each of the plurality of segments of the first ciphertext based on a corresponding nonce of the fourth plurality of nonces.

6. The computerized method of claim 1 , wherein the

encrypting the composite ciphertext further comprises

encrypting the selected symmetric key to produce the multi-layered, multi-segmented ciphertext including the encrypted composite ciphertext and the encrypted symmetric key.

7. A system comprising:

a processor; and

a memory communicatively coupled to the processor, the memory including one or more software module that, upon execution by the processor, perform operations, including

encrypting each of a plurality of segments of a binary value using a selected block cipher of a plurality of block ciphers and a unique symmetric key of a first plurality of unique, symmetric keys to produce a first ciphertext,

encrypting each of a plurality of segments of the first ciphertext using a selected block cipher of the plurality of block ciphers and a unique symmetric key of a second plurality of unique, symmetric keys to produce a second ciphertext, wherein the selected block cipher used to encrypt a first segment of the binary value to produce a first segment of the plurality of segments of the first ciphertext is different than the selected block cipher used to encrypt the first segment of the first ciphertext to produce a first segment of the second ciphertext and the second ciphertext being produced by at least aligning the plurality of segments of the first ciphertext with a plurality of segments of the second ciphertext, wherein the first segment of the plurality of segments of the first ciphertext corresponds to the first segment of the second ciphertext, a second segment of the plurality of segments of the first ciphertext corresponds to a second segment of the second ciphertext and remaining segments of the plurality of segments of the first ciphertext corresponding to remaining segments of the plurality of segments of the second ciphertext,

concatenating a pattern key to a prescribed segment of the plurality of segments of the second ciphertext to produce a composite ciphertext, the pattern key including identifiers of the block ciphers and symmetric keys used to encrypt each of the plurality of segments of the binary value and each of the plurality of segments of the first ciphertext; and

encrypting the composite ciphertext using a symmetric key cipher and a selected symmetric key to produce a multi-layered, multi-segmented ciphertext.

8. The system of claim 7 , wherein a software module of the one or more software modules, upon execution by the processor, encrypts each of the plurality of segments of the binary value by at least (i) generating a first plurality of unique nonces by a random number generator, and (ii) generating each of a first plurality of unique, symmetric keys based on a corresponding nonce of the first plurality of nonces.

9. The system of claim 8 , wherein a software module of the one or more software modules, upon execution by the processor, encrypts each of the plurality of segments of the binary value by at least (i) generating a second plurality of unique nonces by the random number generator, and (ii) selecting a block cipher of the plurality of block ciphers for each of the plurality of segments of the binary data based on a corresponding nonce of the second plurality of nonces.

10. The system of claim 9 , wherein a software module of the one or more software modules, upon execution by the processor, encrypts each of the plurality of segments of the first ciphertext by at least (i) generating a third plurality of unique nonces by the random number generator, and (ii) generating each of the second plurality of unique, symmetric keys based on a corresponding nonce of the third plurality of nonces.

11. The system of claim 10 , wherein a software module of the one or more software modules, upon execution by the processor, encrypts each of the plurality of segments of the first ciphertext by at least (i) generating a fourth plurality of unique nonces by the random number generator, and (ii) selecting block ciphers for each of the plurality of segments of the first ciphertext based on a corresponding nonce of the fourth plurality of nonces.

12. The system of claim 7 , wherein the memory further comprises one or more software module that, upon execution by the processor, further perform operations, comprising:

generating an output ciphertext for transmission over a network, the output ciphertext including the encrypted composite ciphertext and an encrypted version of the selected symmetric key to form the multi-layered, multi-segmented ciphertext.

US15/881,648

2017-12-18

2018-01-26

System and method for generating a multi-stage key for use in cryptographic operations

Active

US10187200B1

( en )

Priority Applications (1)

Application Number

Priority Date

Filing Date

Title

US15/881,648

US10187200B1

( en )

2017-12-18

2018-01-26

System and method for generating a multi-stage key for use in cryptographic operations

Applications Claiming Priority (2)

Application Number

Priority Date

Filing Date

Title

US201762607263P

2017-12-18

2017-12-18

US15/881,648

US10187200B1

( en )

2017-12-18

2018-01-26

System and method for generating a multi-stage key for use in cryptographic operations

Publications (1)

Publication Number

Publication Date

US10187200B1

true

US10187200B1 ( en )

2019-01-22

Family

ID=65011559

Family Applications (1)

Application Number

Title

Priority Date

Filing Date

US15/881,648

Active

US10187200B1

( en )

2017-12-18

2018-01-26

System and method for generating a multi-stage key for use in cryptographic operations

Country Status (1)

Country

Link

US

( 1 )

US10187200B1

( en )

Cited By (19)

* Cited by examiner, † Cited by third party

Publication number

Priority date

Publication date

Assignee

Title

US20190140820A1

( en )

*

2017-11-09

2019-05-09

Yinghwi Chang

Method for Block Cipher Enhanced by Nonce Text Protection and Decryption Thereof

US20190199521A1

( en )

*

2016-08-11

2019-06-27

Ian L. Sayers

Method and apparatus for secure access to a sensor or device network

CN110298145A

( en )

*

2019-06-28

2019-10-01

兆讯恒达微电子技术(北京)有限公司

A kind of firmware program loading guard method based on public key cryptography algorithm

US20200029105A1

( en )

*

2018-07-19

2020-01-23

Cox Communications, Inc.

Countermeasure for cryptographic cribs

CN111835511A

( en )

*

2020-06-30

2020-10-27

平安国际智慧城市科技股份有限公司

Data security transmission method and device, computer equipment and storage medium

WO2021105965A1

( en )

*

2019-11-28

2021-06-03

Augnet Ltd.

Data communication system and method for providing end-to-end ciphering

US20210264047A1

( en )

*

2018-08-20

2021-08-26

Cisco Technology, Inc.

Attribute-based encryption for microservices

US11184154B2

( en )

*

2018-05-11

2021-11-23

Zhuhai College Of Jilin University

Method for sequentially encrypting and decrypting doubly linked lists based on double key stream ciphers

US20220210139A1

( en )

*

2020-12-30

2022-06-30

International Business Machines Corporation

Secure data movement

US11431478B2

( en )

*

2018-12-06

2022-08-30

Nuvoton Technology Corporation

Encryption and decryption system, encryption device, decryption device and encryption and decryption method

US11431491B2

( en )

*

2019-06-17

2022-08-30

Stmicroelectronics (Rousset) Sas

Protection of the execution of cipher algorithms

US20220329420A1

( en )

*

2021-04-07

2022-10-13

Samsung Electronics Co., Ltd.

Electronic device to enhance randomness of security module using multiple hardware random number generator and the method thereof

US11496289B2

( en )

*

2020-08-05

2022-11-08

Microsoft Technology Licensing, Llc

Cryptography using varying sized symbol sets

US20230275742A1

( en )

*

2022-02-28

2023-08-31

Ceremorphic, Inc.

Look up table (lut) based chiplet to chiplet secure communication

US20230336326A1

( en )

*

2022-04-15

2023-10-19

Alan Earl Swahn

General Encryption Enhancement

US12013970B2

( en )

2022-05-16

2024-06-18

Bank Of America Corporation

System and method for detecting and obfuscating confidential information in task logs

CN118586019A

( en )

*

2024-08-06

2024-09-03

浙商财产保险股份有限公司

A method and system for secure encryption of insurance data

US12081216B1

( en )

*

2022-05-19

2024-09-03

Ceremorphic, Inc.

PRNG-based chiplet to chiplet secure communication using counter resynchronization

US12587377B2

( en )

*

2022-02-28

2026-03-24

Ceremorphic, Inc.

Look up table (LUT) based encryption with tag-based verification

Citations (6)

* Cited by examiner, † Cited by third party

Publication number

Priority date

Publication date

Assignee

Title

US6185304B1

( en )

*

1998-02-23

2001-02-06

International Business Machines Corporation

Method and apparatus for a symmetric block cipher using multiple stages

US20090080647A1

( en )

*

2005-12-14

2009-03-26

Nds Limited

Method and System for Usage of Block Cipher Encryption

US20090279697A1

( en )

*

2008-05-07

2009-11-12

Red Hat, Inc.

Ciphertext key chaining

US7827408B1

( en )

*

2007-07-10

2010-11-02

The United States Of America As Represented By The Director Of The National Security Agency

Device for and method of authenticated cryptography

US9537657B1

( en )

*

2014-05-29

2017-01-03

Amazon Technologies, Inc.

Multipart authenticated encryption

US20170279603A1

( en )

*

2015-03-20

2017-09-28

Hewlett Packard Enterprise Development Lp

Datastream block encryption

2018

2018-01-26

US

US15/881,648

patent/US10187200B1/en

active

Active

Patent Citations (6)

* Cited by examiner, † Cited by third party

Publication number

Priority date

Publication date

Assignee

Title

US6185304B1

( en )

*

1998-02-23

2001-02-06

International Business Machines Corporation

Method and apparatus for a symmetric block cipher using multiple stages

US20090080647A1

( en )

*

2005-12-14

2009-03-26

Nds Limited

Method and System for Usage of Block Cipher Encryption

US7827408B1

( en )

*

2007-07-10

2010-11-02

The United States Of America As Represented By The Director Of The National Security Agency

Device for and method of authenticated cryptography

US20090279697A1

( en )

*

2008-05-07

2009-11-12

Red Hat, Inc.

Ciphertext key chaining

US9537657B1

( en )

*

2014-05-29

2017-01-03

Amazon Technologies, Inc.

Multipart authenticated encryption

US20170279603A1

( en )

*

2015-03-20

2017-09-28

Hewlett Packard Enterprise Development Lp

Datastream block encryption

Cited By (31)

* Cited by examiner, † Cited by third party

Publication number

Priority date

Publication date

Assignee

Title

US20190199521A1

( en )

*

2016-08-11

2019-06-27

Ian L. Sayers

Method and apparatus for secure access to a sensor or device network

US20190140820A1

( en )

*

2017-11-09

2019-05-09

Yinghwi Chang

Method for Block Cipher Enhanced by Nonce Text Protection and Decryption Thereof

US11184154B2

( en )

*

2018-05-11

2021-11-23

Zhuhai College Of Jilin University

Method for sequentially encrypting and decrypting doubly linked lists based on double key stream ciphers

US20200029105A1

( en )

*

2018-07-19

2020-01-23

Cox Communications, Inc.

Countermeasure for cryptographic cribs

US10873773B2

( en )

*

2018-07-19

2020-12-22

Cox Communications, Inc.

Countermeasure for cryptographic cribs

US20210264047A1

( en )

*

2018-08-20

2021-08-26

Cisco Technology, Inc.

Attribute-based encryption for microservices

US11755762B2

( en )

*

2018-08-20

2023-09-12

Cisco Technology, Inc.

Attribute-based encryption for microservices

US11431478B2

( en )

*

2018-12-06

2022-08-30

Nuvoton Technology Corporation

Encryption and decryption system, encryption device, decryption device and encryption and decryption method

US11431491B2

( en )

*

2019-06-17

2022-08-30

Stmicroelectronics (Rousset) Sas

Protection of the execution of cipher algorithms

CN110298145B

( en )

*

2019-06-28

2022-03-18

兆讯恒达科技股份有限公司

Firmware program loading protection method based on public key cryptographic algorithm

CN110298145A

( en )

*

2019-06-28

2019-10-01

兆讯恒达微电子技术(北京)有限公司

A kind of firmware program loading guard method based on public key cryptography algorithm

GB2589569A

( en )

*

2019-11-28

2021-06-09

Augnet Ltd

Data communication system and method for providing end-to-end ciphering

WO2021105965A1

( en )

*

2019-11-28

2021-06-03

Augnet Ltd.

Data communication system and method for providing end-to-end ciphering

CN111835511A

( en )

*

2020-06-30

2020-10-27

平安国际智慧城市科技股份有限公司

Data security transmission method and device, computer equipment and storage medium

US11496289B2

( en )

*

2020-08-05

2022-11-08

Microsoft Technology Licensing, Llc

Cryptography using varying sized symbol sets

US20230017435A1

( en )

*

2020-08-05

2023-01-19

Microsoft Technology Licensing, Llc

Cryptography using varying sized symbol sets

US11777710B2

( en )

*

2020-08-05

2023-10-03

Microsoft Technology Licensing, Llc

Cryptography using varying sized symbol sets

US20220210139A1

( en )

*

2020-12-30

2022-06-30

International Business Machines Corporation

Secure data movement

US11743241B2

( en )

*

2020-12-30

2023-08-29

International Business Machines Corporation

Secure data movement

US20220329420A1

( en )

*

2021-04-07

2022-10-13

Samsung Electronics Co., Ltd.

Electronic device to enhance randomness of security module using multiple hardware random number generator and the method thereof

US12095911B2

( en )

*

2021-04-07

2024-09-17

Samsung Electronics Co., Ltd.

Electronic device to enhance randomness of security module using multiple hardware random number generator and the method thereof

US20230275742A1

( en )

*

2022-02-28

2023-08-31

Ceremorphic, Inc.

Look up table (lut) based chiplet to chiplet secure communication

US12041159B2

( en )

*

2022-02-28

2024-07-16

Ceremorphic, Inc.

Look up table (LUT) based chiplet to chiplet secure communication

US12587377B2

( en )

*

2022-02-28

2026-03-24

Ceremorphic, Inc.

Look up table (LUT) based encryption with tag-based verification

US20230336326A1

( en )

*

2022-04-15

2023-10-19

Alan Earl Swahn

General Encryption Enhancement

US12047487B2

( en )

*

2022-04-15

2024-07-23

Alan Earl Swahn

General encryption enhancement

US12143469B2

( en )

2022-04-15

2024-11-12

Alan Earl Swahn

Digital signature enhancement

US12013970B2

( en )

2022-05-16

2024-06-18

Bank Of America Corporation

System and method for detecting and obfuscating confidential information in task logs

US12254116B2

( en )

2022-05-16

2025-03-18

Bank Of America Corporation

System and method for detecting and obfuscating confidential information in task logs

US12081216B1

( en )

*

2022-05-19

2024-09-03

Ceremorphic, Inc.

PRNG-based chiplet to chiplet secure communication using counter resynchronization

CN118586019A

( en )

*

2024-08-06

2024-09-03

浙商财产保险股份有限公司

A method and system for secure encryption of insurance data

Similar Documents

Publication

Publication Date

Title

US8744078B2

( en )

2014-06-03

System and method for securing multiple data segments having different lengths using pattern keys having multiple different strengths

US9648026B2

( en )

2017-05-09

Cryptographic method for securely exchanging messages and device and system for implementing this method

US8681975B2

( en )

2014-03-25

Encryption method and apparatus using composition of ciphers

EP3379769A1

( en )

2018-09-26

Method of rsa signature or decryption protected using multiplicative splitting of an asymmetric exponent

CN104660590B

( en )

2017-04-05

A file encryption secure cloud storage scheme

EP2922235B1

( en )

2016-12-07

Security module for secure function execution on untrusted platform

US20160182227A1

( en )

2016-06-23

S-Box In Cryptographic Implementation

CN106100823B

( en )

2020-10-13

Password protection device

US12609809B2

( en )

2026-04-21

Method and apparatus for activating a remote device

CN115967485A

( en )

2023-04-14

Encryption and decryption system based on quantum key

US20250335615A1

( en )

2025-10-30

System and method for securely transferring data

Poduval et al.

2019

Secure file storage on cloud using hybrid cryptography

CN111066077A

( en )

2020-04-24

Encryption device, encryption method, decryption device, and decryption method

US10699021B2

( en )

2020-06-30

Method and a device for secure storage of at least one element of digital information, and system comprising such device

KR20080025121A

( en )

2008-03-19

Generate secret key from asymmetric private key

Mateescu et al.

2013

A hybrid approach of system security for small and medium enterprises: Combining different cryptography techniques

Shah

2022

A hybrid model for cloud data security using ECC-DES

Aghili

2018

Improving security using blow fish algorithm on deduplication cloud storage

Sadu

2024

Hybrid encryption of Fernet and initialisation vector with attribute-based encryption: a secure and flexible approach for data protection

Rahim et al.

2018

Security Enhancement with USB Flash Disk as Key using AES Algorithm

Archana et al.

2023

Overview of Cryptography

US20260088985A1

( en )

2026-03-26

Authenticated encryption device, authenticated encryption method, and computer readable medium

Mohammed et al.

2024

Cryptography and Network Security in Modern Era

Patgiri et al.

2021

SecretStore: A Secrecy as a Service model to enable the Cloud Storage to store user&#39;s secret data

Shaik et al.

2023

A compatible hexadecimal encryption-booster algorithm for augmenting security in the advanced encryption standard

Legal Events

Date

Code

Title

Description

2018-01-26

FEPP

Fee payment procedure

Free format text : ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: SMALL ENTITY

2018-03-05

FEPP

Fee payment procedure

Free format text : ENTITY STATUS SET TO SMALL (ORIGINAL EVENT CODE: SMAL); ENTITY STATUS OF PATENT OWNER: SMALL ENTITY

2019-01-01

STCF

Information on status: patent grant

Free format text : PATENTED CASE

2022-06-07

MAFP

Maintenance fee payment

Free format text : PAYMENT OF MAINTENANCE FEE, 4TH YR, SMALL ENTITY (ORIGINAL EVENT CODE: M2551); ENTITY STATUS OF PATENT OWNER: SMALL ENTITY

Year of fee payment : 4

Related documents

Record · ID 607269
Conceptio Open Knowledge Archive — every document is proof-bundled with source, license, and retrieval metadata.