Consistent Ciphertext Generation via Nonce Key

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The Advanced Encryption Standard with Galois/Counter Mode (AES-GCM) generates different ciphertext values even when encrypting the same plaintext with the same data encryption key (DEK), which complicates operations like database joins and increases resource usage and decryption requirements.

Innovation Solution

A method is introduced where a nonce key different from the DEK is used to generate a nonce based on the plaintext, allowing for consistent ciphertext creation across multiple encryptions without compromising security, by linking the DEK and nonce to the encrypted object and using AES-CMAC for nonce generation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If AES-GCM encryption is used with a unique nonce for each encryption operation, then security is improved, but ciphertext consistency deteriorates (different ciphertext values are generated even when encrypting the same plaintext with the same DEK)

Engineering Contradiction:
ImprovesecurityVSAvoidciphertext consistency
Core Design Contradiction:
ReliabilityVSStability of the object's composition

Solution Approach 1:

The patent applies preliminary action by pre-computing and storing the nonce value in the metadata of the encrypted object during the initial encryption operation. This allows the same nonce to be reused in subsequent encryption operations with the same plaintext and DEK, producing consistent ciphertext values while maintaining security through the authenticated encryption properties of AES-GCM.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If different nonces are used for each encryption operation, then authentication security is improved, but operational complexity increases (requiring decryption to perform joins and increasing resource usage)

Engineering Contradiction:
Improveauthentication securityVSAvoidoperational complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces metadata as an intermediary component that stores the nonce value and other encryption parameters. This metadata acts as a mediator between the encryption process and subsequent operations, allowing the system to retrieve and reuse the same nonce without decryption, thereby reducing operational complexity while maintaining authentication security.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If decryption is required to perform join operations on encrypted data, then data security is maintained, but productivity deteriorates (increased resource usage and decryption requirements)

Engineering Contradiction:
Improvedata securityVSAvoidoperational efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent enables encrypted data to serve itself by incorporating all necessary decryption parameters (nonce, DEK identifier, authentication tag) within the encrypted object's metadata. This self-contained structure allows join operations to be performed on encrypted data directly without external decryption services, improving productivity while maintaining data security through authenticated encryption verification.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11265144B2Consistent ciphertext creation
Publication Date: 2022.03.01 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11265144B2 patent drawing
  • US11265144B2 patent drawing
  • US11265144B2 patent drawing

AI summary

Aspects of the invention include receiving, by a processor, an unencrypted object that includes plaintext and metadata that describes the plaintext. A data encryption key (DEK) and a nonce key for the unencrypted object are obtained by the processor. The nonce key is different than the DEK. The unencrypted object is encrypted by the processor. The encrypting includes generating a nonce based at least in part of the plaintext and the nonce key. The encrypting also includes generating ciphertext and a metadata authentication tag that includes a signature of the metadata. The generating is based at least in part on the plaintext, the metadata, the DEK, and the nonce. An encrypted object that includes the ciphertext, the metadata, and the metadata authentication tag is created.