Symmetric Multiprocessor Data Encryption via Segmented Stream Cipher
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing encryption methods for SMP architecture systems are inadequate as they require the same bus encryption key for encryption and decryption, are vulnerable to dictionary attacks, and are incompatible with random access to external memory.
Innovation Solution
A novel stream cipher technique using a secret key shared among processors, segmenting data into words, generating pseudorandom numbers for each word, and combining them with initialization vectors for secure and efficient encryption and decryption, allowing random access to external memory.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If block encryption (ECB mode) is used, then encryption speed is improved, but security is worsened due to vulnerability to dictionary attacks
Solution Approach 1:
The data stream is segmented into fixed-size blocks that are processed independently through the encryption function. Each block is encrypted separately using the same key, enabling parallel processing and high speed while maintaining security through the use of a secure cryptographic function that resists dictionary attacks
Solution Approach 2:
The encryption system uses periodic initialization vectors (IVs) that change according to a predetermined sequence. This periodic variation ensures that identical data blocks encrypted at different times produce different ciphertexts, preventing dictionary attacks while maintaining the efficient block-by-block processing structure
2Reliability
If block encryption (CBC mode) is used, then security is improved, but random access capability is worsened due to sequential processing requirement
Solution Approach 1:
The data is divided into independent fixed-size blocks that can be processed individually. Each block contains sufficient information (including embedded IVs) to be encrypted or decrypted independently, enabling random access to any block without requiring sequential processing of previous blocks while maintaining CBC-level security
Solution Approach 2:
Initialization vectors are embedded within each data block during the encryption process. This preliminary inclusion of IVs in each block eliminates the need to maintain external IV state between blocks, allowing any block to be decrypted independently without requiring access to or processing of preceding blocks
3Reliability
If individual processor-specific keys are used, then processor security is improved, but multi-processor data sharing is worsened
Solution Approach 1:
The encryption system is designed to work with multiple key types including processor-specific keys and shared group keys. Data can be encrypted with a shared key that multiple processors possess, enabling secure data sharing across multiple processors while maintaining the ability to use processor-specific keys when exclusive access is required
Solution Approach 2:
The system allows dynamic selection of encryption keys based on the intended recipients of the data. When data needs to be shared among multiple processors, a shared key is selected; when exclusive processor access is needed, a processor-specific key is used. This parameter change capability enables flexible data sharing while maintaining processor security
Data Source
AI summary
For the encryption of data to be stored in a memory external to a circuit, provision is made to store in the external memory encrypted data words in association with an initialization vector and a key identifier associated with a secret key that has served to encrypt same.

