Block Cipher Decryption with Bit-Structure Transformation for Key Protection
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing cryptographic systems are vulnerable to attacks where users or malware can expose encryption keys, compromising security, especially in environments where trust is compromised.
Innovation Solution
An encryption/decryption device and method that performs block-level encryption/decryption operations, including final, intermediate, and initial round operations, decodes and encodes data to change its bit structure, making it difficult for attackers to derive the encryption key by reversing the order of operations and using subkeys generated by a key-scheduling algorithm.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional block-level encryption algorithms are used, then encryption/decryption operations can be performed efficiently, but encryption keys are exposed to attackers who can monitor intermediate operation values and derive the key through reverse engineering
Solution Approach 1:
The encryption algorithm is divided into multiple independent round operations (initial round, intermediate rounds, final round), where each round performs specific transformations on the data. This segmentation allows the key to be distributed across multiple operations rather than exposed in a single operation, making reverse engineering difficult while maintaining operational efficiency
Solution Approach 2:
Intermediate round operations serve as mediators between the initial and final rounds, performing transformations that obscure the relationship between the plaintext, ciphertext, and encryption key. These intermediate operations hide the key material from direct observation, preventing attackers from deriving the key through intermediate value analysis
2Reliability
If encryption keys are hidden into lookup tables in white box cryptography, then attackers cannot directly observe the key, but the algorithm becomes more complex and harder to implement securely
Solution Approach 1:
The encryption process is segmented into distinct rounds with specific functions, where key material is distributed across multiple round keys rather than stored in a single lookup table. This segmentation reduces software complexity compared to traditional white box approaches while maintaining key protection through the distributed key structure
Solution Approach 2:
The algorithm uses parameter changes such as varying the number of bits processed in different rounds (N*X bits to N*Y bits transformation) and changing the structure of intermediate data to obscure the key. These parameter changes provide key protection through mathematical transformation rather than relying solely on complex software structures
3Reliability
If multiple intermediate round operations are performed, then the encryption becomes more secure against attacks, but the processing time and computational resources increase
Solution Approach 1:
The multiple round operations are segmented into an initial round, intermediate rounds, and final round, where each segment performs optimized transformations. This structured segmentation allows for efficient implementation of multiple rounds while maintaining security, as each round is designed to perform specific functions with optimized computational complexity
Solution Approach 2:
The algorithm employs parameter changes such as bit expansion (from N*X to N*Y bits) and bit compression operations that provide enhanced security through increased transformation complexity. These parameter changes are designed to maintain reasonable processing times while improving cryptographic security against various attacks
Data Source
AI summary
An operation method of an apparatus for decrypting input data of N*X bits (where N and X are positive integers) encrypted by using a block-level encryption algorithm, includes: receiving the input data and decoding the input data into data of N*Y bits (where Y is a positive integer) whose number is different from a number of N*X bits; performing first decryption operation processing of the block-level encryption algorithm on the data of N*Y bits; encoding the data of N*Y bits on which the first decryption operation processing is performed into intermediate data of N*X bits; and performing a plurality of intermediate round operations of a preset number based on the intermediate data of N*X bits.


