Parallelizable Cipher Construction for Single-Cycle Memory Encryption

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvedata securityVSAvoidencryption speed
Core Design Contradiction:
ReliabilityVSProductivity

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

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

Engineering Contradiction:
Improveprotection against active attacksVSAvoidcipher structure complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

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.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9602281B2Parallelizable cipher construction
Publication Date: 2017.03.21 THE BOEING CO
  • US9602281B2 patent drawing
  • US9602281B2 patent drawing
  • US9602281B2 patent drawing

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.