Abstract: NADO Cryptography Using One-way Functions is a symmetric cryptography for encrypting and decrypting information. The NADO process introduces some novel concepts and methods to cryptography: (1) The notion of a key generator is presented that eliminates the dependence of the cryptographic security on a single, static cryptography key. (2) A key generator updating method built with one-way functions exhibiting the avalanche effect that generates an unpredictable sequence of keys as the encryption or decryption algorithm executes; (3) An sequence of unpredictable permutations that diffuse the informations across the whole block. (4) An sequence of unpredictable permutations that act as substitution boxes. (4) The use of key generator updating and one-way functions that exploit the avalanche effect to update the permutations in (3) and (4). NADO using one-way functions can be implemented efficiently in hardware or in software.
Abstract: An embedded processor with a cryptographic co-processor operating in a multithreading environment, with inter-thread security for cryptography operations. A secure memory block accessible by the co-processor stores a plurality of key entries, each key entry storing data corresponding to a cryptography key, and a thread owner field that identifies an execution thread is associated with that key. A central processing unit issues a call to the co-processor to execute a cryptography operation along with a key identifier for the key to be used, and a thread identifier indicating the current execution thread. The co-processor compares the thread identifier received from the CPU with the thread owner field of the key entry corresponding to the key identifier. If the thread identifier matches the thread owner in the key entry, the key is retrieved from the secure memory block for use by the co-processor for the cryptography operation.
Type:
Application
Filed:
August 23, 2016
Publication date:
March 1, 2018
Inventors:
Eric Thierry Peeters, Gregory Allen North
Abstract: The present invention is a method and system for high performance programmable cryptography. In an embodiment of the invention, a cryptography system in accordance with the present invention may include a processor with memory, at least two field programmable gate array (FPGA) blocks and control logic which may be algorithm independent. Programming files storing one or more crypto algorithms may be maintained remotely to the cryptography system whereby the cryptography system may remain not cryptographically controlled when un-programmed. FPGA blocks may be field-programmed to allow execution of a desired crypto algorithm. Additionally, with multiple FPGA logic blocks, programming of a first FPGA block may be simultaneously performed with the execution of a crypto algorithm via a second FPGA block to enable enhanced encryption rate performance.
Abstract: NADO Cryptography Using One-way Functions is a symmetric cryptography for encrypting and decrypting information. The NADO process introduces some novel concepts and methods to cryptography: (1) The notion of a key generator is presented that eliminates the dependence of the cryptographic security on a single, static cryptography key. (2) A key generator updating method built with one-way functions exhibiting the avalanche effect that generates an unpredictable sequence of keys as the encryption or decryption algorithm executes; (3) An sequence of unpredictable permutations that diffuse the informations across the whole block. (4) An sequence of unpredictable permutations that act as substitution boxes. (4) The use of key generator updating and one-way functions that exploit the avalanche effect to update the permutations in (3) and (4). NADO using one-way functions can be implemented efficiently in hardware or in software.
Abstract: Disclosed herein are methods, systems, and apparatus, including computer programs encoded on computer storage media, for performing cryptographic operations subject to identity verification. One of the methods includes receiving, by a cryptography chip, a request to perform a requested cryptographic operation from a client including client identity information, wherein the cryptography chip includes a processing resource that performs cryptographic operations and a storage resource that stores key information used in the cryptographic operations, and identity information associated with clients that are permitted to request cryptographic operations; determining, by the cryptography chip, that the client identity information is associated with one of the clients that are permitted to request cryptographic operations; and performing, by the cryptography chip, the requested cryptographic operation based on the key information stored in the storage resource.
Abstract: Described is a lattice cryptography processor with configurable parameters. The lattice cryptography processor includes a sampling circuit configured to operate in accordance with a Secure Hash Algorithm 3 (SHA-3)-based pseudo-random number generator (PRNG), a single-port random access memory (RAM)-based number theoretic transform (NTT) memory architecture and a modular arithmetic unit. The described lattice cryptography processor is configured to be programmed with custom instructions for polynomial arithmetic and sampling. The configurable lattice cryptography processor may operate with lattice-based CCA-secure key encapsulation and a variety of different lattice-based protocols including, but not limited to: Frodo, NewHope, qTESLA, CRYSTALS-Kyber and CRYSTALS-Dilithium, achieving up to an order of magnitude improvement in performance and energy-efficiency compared to state-of-the-art hardware implementations.
Type:
Application
Filed:
February 19, 2020
Publication date:
August 20, 2020
Inventors:
Utsav BANERJEE, Anantha P. CHANDRAKASAN
Abstract: Methods and apparatus are provided for performing authentication and decryption operations in a cryptography accelerator system. Input data passed to a cryptography accelerator from a host such a CPU includes information for a cryptography accelerator to determine where to write the processed data. In one example, processed data is formatted as packet payloads in a network buffer. Checksum information is precalculated and an offset for a header is maintained.
Abstract: A symmetric cryptography for encrypting and decrypting information is provided, that can be implemented efficiently in hardware or in software. The symmetric cryptography uses a key generator, so that the cryptography is not dependent on a single, static cryptography key. The key generator is a value or collection of values from which the key is generated. In some embodiments, the key generator substantially increases the computational complexity of differential cryptanalysis and other cryptographic attacks because it has more entropy than the key(s). In an embodiment, the key generator is updated with one-way functions exhibiting the avalanche effect, which generates an unpredictable sequence of keys used during the encryption or decryption process. In an embodiment, a dynamic key is derived from a key generator with a one-way function. In an embodiment, a block cipher uses a different dynamic key to encrypt each block of plaintext, where each key is derived from a different key generator.
Abstract: The XZ-elliptic curve cryptography system and method provides a computerized method that allows for the encryption of messages through elliptic polynomial cryptography and, particularly, with the embedding of either a symmetric secret key or a public key in the message bit string. The method of performing XZ-elliptic polynomial cryptography is based on the elliptic polynomial discrete logarithm problem. It is well known that an elliptic polynomial discrete logarithm problem is a computationally “difficult” or “hard” problem.
Type:
Application
Filed:
December 1, 2010
Publication date:
August 8, 2013
Applicant:
KING FAHD UNIVERSITY OF PETROLEUM AND MINERALS
Inventors:
LAHOUARI GHOUTI, MOHAMMAD K. IBRAHIM, ABDULAZIZ M. AL-KHORAIDLY
Abstract: Disclosed are a method for conducting data encryption and decryption using a symmetric cryptography algorithm and a table look-up device. The method comprises: when it is determined that it is required to use S-boxes to look up a table in a symmetric cryptography algorithm, determining all types of S-boxes to be used; for each type of S-box, determining the total number Ni of the type of S-box, and when Ni is larger than 1, determining that the type of S-box meets a multiplexing condition; and when data encryption and decryption are conducted using the symmetric cryptography algorithm, multiplexing at least one type of S-box which meets the multiplexing condition. The present application can reduce the occupation by the symmetric cryptography algorithm of hardware resources under the condition of comparative shortage of hardware resources.
Abstract: Described is a lattice cryptography processor with configurable parameters. The lattice cryptography processor includes a sampling circuit configured to operate in accordance with a Secure Hash Algorithm 3 (SHA-3)-based pseudo-random number generator (PRNG), a single-port random access memory (RAM)-based number theoretic transform (NTT) memory architecture and a modular arithmetic unit. The described lattice cryptography processor is configured to be programmed with custom instructions for polynomial arithmetic and sampling. The configurable lattice cryptography processor may operate with lattice-based CCA-secure key encapsulation and a variety of different lattice-based protocols including, but not limited to: Frodo, NewHope, qTESLA, CRYSTALS-Kyber and CRYSTALS-Dilithium, achieving up to an order of magnitude improvement in performance and energy-efficiency compared to state-of-the-art hardware implementations.
Type:
Grant
Filed:
February 19, 2020
Date of Patent:
August 16, 2022
Assignee:
MASSACHUSETTS INSTITUTE OF TECHNOLOGY
Inventors:
Utsav Banerjee, Anantha P. Chandrakasan
Abstract: Methods and apparatus are provided for implementing a cryptography accelerator for performing operations such as hash operations. The cryptography accelerator recognizes characteristics associated with input data and retrieves an instruction set for processing the input data. The instruction set is used to configure or control components such as MD5 and SHA-1 hash cores, XOR components, memory, etc. By providing a cryptography accelerator with access to multiple instruction sets, a variety of hash operations can be performed in a configurable cryptographic accelerator.
Type:
Application
Filed:
December 24, 2002
Publication date:
October 2, 2003
Applicant:
Broadcom Corporation
Inventors:
Zheng Qi, Ronald Squires, Mark Buer, David K. Chin
Abstract: Methods and apparatus are provided for decoupling a cryptography accelerator interface from cryptographic processing cores. A shared resource is provided at the cryptography accelerator interface having multiple input ports. References to data in the shared resource are provided to allow processing and ordering of data in preparation for processing by cryptographic processing cores without substantial numbers of separate buffers in the cryptographic processing data paths.
Abstract: Disclosed are a method for conducting data encryption and decryption using a symmetric cryptography algorithm and a table look-up device. The method comprises: when it is determined that it is required to use S-boxes to look up a table in a symmetric cryptography algorithm, determining all types of S-boxes to be used; for each type of S-box, determining the total number Ni of the type of S-box, and when Ni is larger than 1, determining that the type of S-box meets a multiplexing condition; and when data encryption and decryption are conducted using the symmetric cryptography algorithm, multiplexing at least one type of S-box which meets the multiplexing condition. The present application can reduce the occupation by the symmetric cryptography algorithm of hardware resources under the condition of comparative shortage of hardware resources.
Abstract: The method of cipher block chaining using elliptic curve cryptography allows for the encryption of messages through elliptic curve cryptography and, particularly, with the performance of cipher block chaining utilizing both the elliptic curve and its twist, regardless of whether the elliptic curve and its twist are isomorphic with respect to one another. The method of performing elliptic curve cryptography is based on the elliptic curve discrete logarithm problem. It is well known that an elliptic curve discrete logarithm problem is a computationally “difficult” or “hard” problem.
Type:
Application
Filed:
February 18, 2010
Publication date:
August 18, 2011
Inventors:
Lahouari Ghouti, Mohammad K. Ibrahim, Adnan A. Gutub
Abstract: Elliptic polynomial cryptography with secret key embedding is a method that allows for the encryption of messages through elliptic polynomial cryptography and, particularly, with the embedding of secret keys in the message bit string. The method of performing elliptic polynomial cryptography is based on the elliptic polynomial discrete logarithm problem. It is well known that an elliptic polynomial discrete logarithm problem is a computationally “difficult” or “hard” problem.
Type:
Grant
Filed:
February 18, 2010
Date of Patent:
January 8, 2013
Assignee:
King Fahd University of Petroleum and Minerals
Inventors:
Lahouari Ghouti, Mohammad K. Ibrahim, Adnan A. Gutub
Abstract: Methods and apparatus are provided for making function calls to various cryptography accelerators. An application program interface abstraction layer coupled to a cryptography accelerator receives generic function calls from designer configured software and performs operations such as security association management, policy management, packet processing, cryptography accelerator configuration, and key commit management. Upon receiving a generic function call, the abstraction layer performs processing to make a chip specific function call or update abstraction layer management information associated with the generic function call.
Abstract: Methods and apparatus are provided for implementing a cryptography accelerator for performing operations such as hash operations. The cryptography accelerator recognizes characteristics associated with input data and retrieves an instruction set for processing the input data. The instruction set is used to configure or control components such as MD5 and SHA-1 hash cores, XOR components, memory, etc. By providing a cryptography accelerator with access to multiple instruction sets, a variety of hash operations can be performed in a configurable cryptographic accelerator.
Type:
Application
Filed:
July 1, 2008
Publication date:
January 29, 2009
Applicant:
Broadcom Corporation
Inventors:
Zheng Qi, Ronald Squires, Mark Buer, David K. Chin
Abstract: Generally discussed herein are devices, systems, and methods for high-level synthesis of a kyber cryptography circuit. A method can include defining, by a high-level programming language, behavior of a kyber cryptography circuit resulting in a behavior definition. The behavior of the kyber cryptography circuit can include parallel butterfly operations with output of the parallel butterfly operations fedback directly to inputs of the parallelized butterfly operations. The method can include converting, by high-level synthesis (HLS), the behavior definition to a gate-level implementation resulting in a circuit definition. The method can include implementing the circuit definition in hardware.
Type:
Application
Filed:
June 7, 2023
Publication date:
December 12, 2024
Inventors:
Mojtaba BISHEH NIASAR, Bharat S. PILLILLI
Abstract: The XZ-elliptic curve cryptography system and method provides a computerized method that allows for the encryption of messages through elliptic polynomial cryptography and, particularly, with the embedding of either a symmetric secret key or a public key in the message bit string. The method of performing XZ-elliptic polynomial cryptography is based on the elliptic polynomial discrete logarithm problem. It is well known that an elliptic polynomial discrete logarithm problem is a computationally “difficult” or “hard” problem.
Type:
Grant
Filed:
December 1, 2010
Date of Patent:
August 13, 2013
Assignee:
King Fahd University of Petroleum and Minerals
Inventors:
Lahouari Ghouti, Mohammad K. Ibrahim, Abdulaziz M. Al-Khoraidly