Ciphertext Key Chaining for Known Plaintext Attack Resistance
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional encryption mechanisms are vulnerable to known plaintext attacks due to static keys, which do not provide additional security against such attacks.
Innovation Solution
Implementing ciphertext key chaining by generating a current key from a prior ciphertext block and using it to encipher or decipher subsequent blocks, thereby changing the key for each block of plaintext, rather than keeping the key static throughout the encryption process.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If a static key is used for encryption, then the encryption process is simple and efficient, but the security against known plaintext attacks is insufficient
Solution Approach 1:
The patent applies the dynamics principle by transforming the static encryption key into a dynamic key that changes for each plaintext block. The key is updated by combining the current key with the corresponding ciphertext block through XOR operation, creating a new key for the next encryption operation. This dynamic key update mechanism ensures that even if one plaintext block is compromised, subsequent blocks remain secure, thereby resolving the contradiction between encryption efficiency and security against known plaintext attacks.
2Reliability
If the key is changed for each plaintext block, then security against known plaintext attacks is improved, but the encryption process becomes more complex
Solution Approach 1:
The patent applies the merging principle by combining the key update operation with the encryption process itself. The key is updated by XORing the current key with the generated ciphertext block, and this updated key is immediately used for the next plaintext block. By merging the key management function into the encryption workflow, the patent avoids the need for separate key management mechanisms, thereby improving security without proportionally increasing system complexity.
Data Source
AI summary
Some embodiments of a method and apparatus for encrypting and decrypting data have been presented. In one embodiment, a current key is generated from a prior ciphertext block and another key, which may include a prior key used to encipher the prior ciphertext block or an initialization vector. Then a current plaintext block is enciphered using the current key to generate a current ciphertext block.


