Parallelizable Cipher Construction for Single-Cycle Memory Encryption
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current computer systems face challenges in securing data stored in memory, particularly against passive and active attacks, where adversaries can read or modify memory contents, and existing ciphers are slow, requiring multiple clock cycles for encryption and decryption.
Innovation Solution
A parallelizable cipher construction is implemented, utilizing a combination of mixing functions and a combination function to encrypt or decrypt data in a single clock cycle, with address-dependent encryption and data authentication, incorporating Feistel networks, double-mix Feistel networks, substitution-permutation networks, and XOR trees, ensuring high-speed encryption and authentication.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional ciphers are used for data encryption, then security protection is provided, but encryption and decryption require multiple clock cycles causing significant slowdown
Solution Approach 1:
The cipher is divided into multiple independent mixing functions (first mixing function, second mixing function, third mixing function) that can operate in parallel. Each mixing function processes a portion of the data independently, allowing simultaneous execution and reducing total encryption time from multiple sequential clock cycles to a single clock cycle.
Solution Approach 2:
The patent transitions from sequential processing (time dimension) to parallel processing (spatial dimension) by implementing multiple mixing functions that operate simultaneously. This dimensional change allows the encryption process to complete in one clock cycle by distributing work across multiple parallel computational paths rather than executing operations sequentially.
2Reliability
If address-dependent encryption is implemented to protect against copy-and-paste attacks, then security against active attacks is improved, but system complexity increases
Solution Approach 1:
The address-dependent tweak value is prepared in advance based on the memory address before the encryption process begins. This preliminary computation of the tweak value from the address allows the main encryption logic to remain relatively simple while still providing address-dependent security, as the complexity is shifted to the key derivation stage rather than the core mixing functions.
Data Source
AI summary
A method of providing security in a computer system includes producing an output block of data from an input block of data, which may be performed by one or more logic circuits. The output block of data may be produced by a cipher that includes a plurality of parallel, different mixing functions and a combination function. In this regard, producing the output block of data includes applying the plurality of parallel, different mixing functions to the input block of data to produce a plurality of updated blocks of data, with each mixing function mapping the input block of data to a respective one of the plurality of updated blocks of data. And producing the output block of data includes combining the plurality of updated blocks of data in the combination function to produce the output block of data.


