Counter Mode Encryption for Low-Latency Random Access Memory
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing encryption methods for storage, such as chaining and feedback modes, are inefficient for random access memory applications like DRAM and SRAM, introducing latency due to the need for encrypting and decrypting every block, while streaming modes are impractical for these contexts.
Innovation Solution
Employing Counter (CTR) mode encryption, where a counter function converts memory addresses into address-based pads for XOR operations with retrieved data, reducing latency by allowing parallel processing and potentially using light encryption or caching for improved performance.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If chaining modes (CBC, PCBC) or feedback modes (CFB, OFB) are used for encryption, then security is improved, but data retrieval latency increases due to sequential processing requirements
Solution Approach 1:
The patent replaces the sequential mechanical processing of chaining and feedback modes with a parallel computational system. By using counter mode where each block is encrypted independently using E(Pi ⊕ Ci-1) ⊕ Ci-2, the system eliminates the sequential dependency while maintaining cryptographic security through the mathematical relationship between consecutive blocks.
Solution Approach 2:
The patent pre-computes and stores the sequence of counter values (C0, C1, C2, ...) in advance. This preliminary action allows the encryption and decryption operations to proceed in parallel during data retrieval, as each block can be processed independently using the pre-available counter sequence, thereby reducing latency.
2Reliability
If block ciphers are applied to every data block for encryption, then data security is improved, but processing speed deteriorates due to the overhead of multiple encryption operations
Solution Approach 1:
The patent applies block cipher encryption periodically at specific intervals rather than to every single block. The counter mode structure E(Pi ⊕ Ci-1) ⊕ Ci-2 allows the system to encrypt only the counter sequence periodically, while data blocks are processed through XOR operations with the pre-computed counter values, significantly reducing the number of expensive cipher operations.
Solution Approach 2:
The patent segments the encryption process into two independent components: (1) encryption of the counter sequence using the block cipher, and (2) XOR-based combination with data blocks. This segmentation allows the computationally intensive cipher operation to be performed only on the counter sequence, while the majority of data processing uses fast XOR operations.
3Productivity
If streaming modes are used for encryption, then processing efficiency is improved, but adaptability to random access memory applications deteriorates due to sequential access requirements
Solution Approach 1:
The patent creates a dynamic encryption system where the counter sequence adapts to random access patterns. By using the relationship Ci = E(Pi ⊕ Ci-1) ⊕ Ci-2, the system can dynamically compute any block's encryption/decryption independently based on its position in the sequence, enabling both high processing efficiency and full random access capability simultaneously.
Data Source
AI summary
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.


