Partial Block Encryption with Non-Zero Padding

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional block encryption methods are weak in protecting low entropy plaintext, particularly when dealing with partial data blocks, as they fill the last block with zeros, making it vulnerable to attacks that can determine the plaintext byte by generating all possible ciphertext outputs.

Innovation Solution

Appending an intra-block length value and non-zero padding (NZP) to partial data blocks before encryption, ensuring the encryption of a full block rather than an incomplete block with zero padding, thereby reducing the effectiveness of attacks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional block encryption methods fill the last data block with zeros to complete the block, then the encryption process can handle partial blocks, but the security is weakened because the ciphertext becomes vulnerable to attacks that can determine the plaintext byte by generating all possible ciphertext outputs

Engineering Contradiction:
Improvesecurity of encrypted dataVSAvoidencryption process complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts the problematic zero-padding portion from the encryption process and replaces it with random padding bytes. By removing the deterministic zero-filling mechanism and substituting it with non-deterministic random data, the vulnerability to plaintext recovery attacks is eliminated while maintaining the block structure requirements of the encryption algorithm

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent changes the parameter of the padding data from fixed zeros to random bytes. This parameter change transforms the padding from a predictable, deterministic value to an unpredictable, non-deterministic value, thereby preventing attackers from generating all possible ciphertext outputs to determine the plaintext

Inventive Principle:
Principle #35Parameter changes

2Adaptability or versatility

If the last data block is partially filled with plaintext and completed with zeros, then the encryption can process variable-length plaintext, but the low entropy of the padded block makes it susceptible to cryptographic attacks

Engineering Contradiction:
Improveability to handle variable-length plaintextVSAvoidvulnerability to cryptographic attacks
Core Design Contradiction:
Adaptability or versatilityVSObject-affected harmful factors

Solution Approach 1:

The patent applies preliminary action by generating random padding bytes before the encryption process. This pre-padding with high-entropy random data ensures that even if the plaintext block is partial, the resulting encrypted block has sufficient entropy to resist cryptographic attacks, while still allowing variable-length plaintext to be processed

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11777708B2Secure encryption of partial blocks
Publication Date: 2023.10.03 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11777708B2 patent drawing
  • US11777708B2 patent drawing
  • US11777708B2 patent drawing

AI summary

Encrypting data blocks by receiving blocks of compressed data, determining a size, in bytes, of the compressed data, appending a trailer to the compressed data, the trailer associated with the size in bytes of the compressed data, encrypting the compressed data and trailer, yielding encrypted data, where a header of the encrypted data comprises a number of complete encrypted data blocks, and providing the encrypted data to a user.