Block Data Encryption Using Random Number Encoding
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Block ciphers in CBC mode require the previous block of ciphertext to be received for decryption, which is not guaranteed in unreliable environments like multicast protocols, limiting their use and leading to security issues.
Innovation Solution
A method that generates a random number for each block of data, encodes it using previous random numbers, and transmits it with encoded versions, allowing decryption using any available previous block, mimicking the initialization vector's function in CBC mode.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If CBC mode is used for block cipher encryption, then data security is improved, but decryption fails when the previous ciphertext block is not received
Solution Approach 1:
The patent applies preliminary action by pre-computing and storing multiple possible previous ciphertext blocks (c_i-j) that could be used for decoding the current block. Instead of requiring the immediate previous block c_{i-1}, the system prepares a set of alternative previous blocks in advance, allowing the receiver to decode using any available block from the set, thus resolving the contradiction between security and ease of operation.
Solution Approach 2:
The patent changes the parameter from requiring a single specific previous block (c_{i-1}) to accepting multiple possible previous blocks (c_{i-j} where j is in a predefined set). This parameter change allows the decryption process to be more flexible and resilient to packet loss, maintaining both security and operational ease.
2Reliability
If CBC mode is used for block cipher encryption, then data security is improved, but the system becomes unsuitable for multicast protocols
Solution Approach 1:
The patent makes the system adaptable to multicast protocols by pre-computing multiple alternative previous ciphertext blocks that can be embedded in the transmitted data stream. This allows receivers in a multicast group to decode data using any available previous block, accommodating the unreliable nature of multicast networks while maintaining CBC-mode security.
Solution Approach 2:
The patent enhances universality by making the decryption process work with multiple different previous blocks rather than requiring a specific one. This multi-functionality allows the same encryption scheme to work reliably in both unicast and multicast environments, as well as in networks with varying levels of reliability.
3Reliability
If multiple encoded versions of random numbers are transmitted, then decryption resilience is improved, but data transmission overhead increases
Solution Approach 1:
The patent applies partial action by transmitting only a limited set of previously used ciphertext blocks (c_{i-j} where j is in a predefined set J) rather than all possible previous blocks. This provides sufficient decryption resilience for typical network conditions while controlling the amount of additional data transmitted, balancing reliability with transmission efficiency.
Data Source
Figure 1A
Figure 1B
Figure 2A
AI summary
A method for encryption of blocks of data (201-206) is provided including the steps of: encrypting (301) a block of data using a current random number (211-216) generated for the block of data (201-206); encoding (303) the current random number using one or more of a set of previous random numbers, each of the set of previous random numbers having been used to encrypt a previously sent block of data; and transmitting (304) the encrypted block of data (241-246) with the one or more versions of the encoded current random number (272-276), each version for a different one of the previous random numbers. A method for decryption of blocks of data is provided including the steps of: receiving (401) an encrypted block of data (241-246) with the one or more versions of an encoded current random number, each version for a different one of the previous random numbers (272-276); selecting (402) one of a set of previously received blocks of data for which the random number is available (291-296); decoding (403) the current random number using the random number of the selected previously received block of data; and decrypting (404) the received encrypted block of data (241-246) using the decoded current random number.