Address-Dependent Initialization Vector for External Memory Encryption

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional data ciphering methods for external memories are inefficient due to space-consuming storage needs for initialization vectors and a high risk of collision in vector generation, which increases circuit costs and security dependencies.

Innovation Solution

The method involves using a counter mode generation for initialization vectors, where the initialization vector is a function of the storage address and a differentiation value, reducing collision probability and memory storage requirements by storing only the counter value with each ciphered data word.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a random generator is used to generate initialization vectors, then the ciphering security is improved, but the collision probability increases and more storage space is required

Engineering Contradiction:
Improveciphering securityVSAvoidstorage space for initialization vectors
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent extracts the initialization vector generation from a random generator and embeds it directly into the ciphering algorithm itself. The initialization vector is now derived deterministically from the ciphering key and data block index, eliminating the need for separate storage of initialization vectors while maintaining security through the key-dependent generation process.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The ciphering algorithm is enhanced to serve multiple functions: it both encrypts the data and generates the initialization vector internally. This multi-functionality eliminates the need for separate initialization vector storage, as the same algorithm that processes the data also produces the necessary initialization vector from the key and index.

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Reliability

If the initialization vector size is increased to reduce collision probability, then the security is improved, but the circuit cost increases

Engineering Contradiction:
Improvecollision resistanceVSAvoidcircuit cost
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent changes the parameters of initialization vector generation from using large random numbers to using a deterministic function of the ciphering key and data block index. This parameter change reduces the required vector size while maintaining security, as the effective search space remains tied to the key length rather than the vector length.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent replaces the mechanical approach of storing large initialization vectors with a computational approach where the initialization vector is regenerated on-demand by the ciphering algorithm. This substitution reduces hardware storage requirements while maintaining the security properties through algorithmic generation.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

3Quantity of substance

If initialization vectors are stored in external memory, then the storage requirement is met, but the memory space is consumed and access time increases

Engineering Contradiction:
Improveinitialization vector storageVSAvoidmemory access time
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The patent performs preliminary action by generating the initialization vector internally within the ciphering algorithm before the actual encryption process. This eliminates the need for separate retrieval from external memory, as the initialization vector is already available in the processing unit when needed, reducing access time.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent merges the initialization vector storage function into the ciphering algorithm itself. Instead of storing initialization vectors in external memory and retrieving them during encryption, the same algorithm that processes the data also generates the initialization vector, combining two separate operations into one integrated process.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS8045712B2Stream ciphering of the content of a memory external to a processor
Publication Date: 2011.10.25 STMICROELECTRONICS FRANCE
  • US8045712B2 patent drawing
  • US8045712B2 patent drawing
  • US8045712B2 patent drawing

AI summary

A method and an element of ciphering by an integrated processor of data to be stored in a memory, including applying a ciphering algorithm which is a function of a key specific to the integrated circuit and of an initialization vector, and of memorizing at least the ciphered data, the initialization vector depending at least on the address of storage of the data in the memory.