Extensive Ciphertext Feedback via Parallel Stream and Block Cipher

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional encryption methods are vulnerable to known plaintext attacks, as attackers can determine the input to the encipherment function by XOR'ring known plaintext with the appropriate ciphertext block, offering no additional security.

Innovation Solution

Implementing extensive ciphertext feedback by running a stream cipher in parallel with a block cipher, pre-processing plaintext blocks using a stream of pseudo-random bits generated by the stream cipher, and combining these bits with ciphertext blocks through an XOR operation to generate new ciphertext blocks, enhancing security against known plaintext attacks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional ciphertext block chaining is used, then encryption is provided, but no additional security is provided against known plaintext attacks

Engineering Contradiction:
Improvesecurity against known plaintext attacksVSAvoidencryption mechanism complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by pre-processing the plaintext block with a stream cipher before the block cipher encryption. This pre-processing step modifies the plaintext to incorporate feedback from previous ciphertext blocks, so that when the block cipher encrypts the modified plaintext, the resulting ciphertext provides enhanced security against known plaintext attacks. The stream cipher generates a keystream that is XORed with the plaintext block before block cipher encryption, ensuring that even if the plaintext is known, the input to the block cipher remains unpredictable.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements feedback by incorporating previous ciphertext blocks into the encryption of subsequent blocks. Specifically, each ciphertext block is fed back and combined with the plaintext block through a stream cipher before the block cipher encryption. This feedback mechanism ensures that the encryption of each block depends on all previous ciphertext blocks, making it computationally infeasible for an attacker to determine the input to the encipherment function even with known plaintext.

Inventive Principle:
Principle #23Feedback

2Reliability

If a stream cipher is run in parallel with a block cipher for extensive ciphertext feedback, then security against known plaintext attacks is enhanced, but device complexity increases

Engineering Contradiction:
Improvesecurity against known plaintext attacksVSAvoidencryption mechanism complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent merges a stream cipher and a block cipher into a unified encryption mechanism. The stream cipher processes the plaintext block and feedback from previous ciphertext blocks to generate a modified plaintext, which is then encrypted by the block cipher. This combination allows the system to leverage the strengths of both cipher types: the stream cipher provides flexible feedback-based preprocessing, while the block cipher provides robust encryption. The merged system achieves enhanced security against known plaintext attacks while maintaining a relatively compact structure.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS8804953B2Extensive ciphertext feedback
Publication Date: 2014.08.12 RED HAT INC
  • US8804953B2 patent drawing
  • US8804953B2 patent drawing
  • US8804953B2 patent drawing

AI summary

Some embodiments of a method and apparatus for encrypting and decrypting data have been presented. In one embodiment, a stream cipher is run in parallel with a block cipher to output a stream of bits with a length equal to a number of ciphertext blocks in an output stream of the block cipher. The method may further include pre-processing a current plaintext block based on the stream of bits and the number of ciphertext blocks in the output stream of the block cipher. Then the block cipher may encipher the pre-processed block to generate a current ciphertext block.