IP Library Granted Patent US 9,600,421
Granted Patent B2
US 9,600,421 · App. 12/469,647 · Granted Mar 21, 2017

Systems and methods for low-latency encrypted storage

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,600,421
App. No.
12/469,647
Granted
Mar 21, 2017
Kind
B2
Abstract

Encrypted storage often introduces unwanted latency in access. This delay can result in a processor having to wait for critical data thus slowing performance. Generally speaking, the latency is at most an issue when reading from encrypted storage, since the processor may need the information read from encrypted storage to proceed. During a write operation, there typically is not an issue because the processor does not need to wait for the end of the write operation to proceed. A variant of counter (CTR) mode for a block cipher can be used to perform the majority of the decryption operation without knowledge of the ciphertext, therefore the majority of the decryption operation can be performed concurrently with the retrieval of the ciphertext from memory. In order to further secure the encrypted storage, a light encryption can be performed to further obfuscate the ciphertext.

Claims (30)

1. A encrypted storage device comprising:

a memory;

an encryption module; and

an XOR module coupled to the memory and the encryption module; wherein the encryption module comprises:

a counter function that converts a memory address and a nonce into an address based counter; and

a block cipher that encrypts the address based counter into an address based pad; wherein encrypted data read from the memory at the memory address is XORed by the XOR module with the address based pad to produce unencrypted data and unencrypted data is XORed by the XOR module with the address based pad to produced encrypted data that is stored into the memory at the memory address, and wherein the nonce comprises a one-time random number shared between an encrypting party and a decrypting party; and

further comprising a light encryption block cipher coupled to the XOR module and an input/output of the encrypted storage device; and

wherein the light encryption block cipher comprises a plurality of parallel block ciphers having a block size smaller than the block size of the block cipher in the encryption module.

2. A method of reading from an encrypted storage having a memory at a memory address, said method comprising:

receiving a nonce from an encrypting party;

retrieving previously encrypted data from the memory at the memory address;

concurrently to retrieving, determining an address based pad based on the memory address using the nonce; and

decrypting the previously encrypted data to produce plaintext data,

said decrypting comprising applying an XOR operation to the address based pad and the previously encrypted data to produce plaintext data.

3. The method of claim 2 wherein said decrypting further comprises transforming the previously encrypted data by applying decryption by a light encryption block cipher prior to applying the XOR operation.

4. The method of claim 3 wherein decrypting further comprising discarding a random pad.

5. The method of claim 2 wherein the light encryption block cipher comprises a plurality of parallel block ciphers having a block size smaller than the block size of the block cipher in the encryption module.

6. The method of claim 2 wherein the light encryption block cipher comprises a predetermined number of rounds of a confusion-diffusion cipher.

7. The method of claim 2 wherein the confusion-diffusion cipher is the advanced encryption standard (AES).

8. The method of claim 2 wherein the light encryption block cipher comprises a predetermined number of rounds of a Feistel Network.

9. The method of claim 2 wherein the Feistel Network is selected from a group consisting of tiny encryption algorithm (TEA), extended TEA (XTEA) and extended XTEA.

10. An encrypted storage comprising:

a memory;

a processor configured to retrieve previously encrypted data from the memory at a memory address:

the processor further configured to retrieve an address based pad based on the memory address concurrently to retrieving encrypted data from memory;

the processor further configured to receive a nonce from an encrypting party; and

the processor configured to decrypt the encrypted data to produce plaintext data,

the processor further configured to apply an XOR operation to the address based pad and the previously encrypted data to produce plaintext data.

11. The encrypted storage of claim 10 wherein the processor is further configured to apply a light encryption block cipher that transforms the previously encrypted data by applying decryption to the previously encrypted data prior to any XOR operation.

12. The encrypted storage of claim 10 wherein the processor is further configured to discard a random pad.

Assignments (6)
SECURITY INTEREST Recorded Sep 27, 2017
From: SYNAPTICS INCORPORATED
To: WELLS FARGO BANK, NATIONAL ASSOCIATION
Reel/Frame 044037/0896 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 7, 2017
From: CONEXANT SYSTEMS, LLC
To: SYNAPTICS INCORPORATED
Reel/Frame 043786/0267 →
CHANGE OF NAME Recorded Jun 26, 2017
From: CONEXANT SYSTEMS, INC.
To: CONEXANT SYSTEMS, LLC
Reel/Frame 042986/0613 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 23, 2016
From: LAKESTAR SEMI INC.
To: CONEXANT SYSTEMS, INC.
Reel/Frame 038803/0693 →
CHANGE OF NAME Recorded May 20, 2016
From: CONEXANT SYSTEMS, INC.
To: LAKESTAR SEMI INC.
Reel/Frame 038777/0885 →
RELEASE OF SECURITY INTEREST Recorded May 6, 2016
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
To: CONEXANT SYSTEMS, INC.; CONEXANT, INC.; CONEXANT SYSTEMS WORLDWIDE, INC.; BROOKTREE BROADBAND HOLDING, INC.
Reel/Frame 038631/0452 →