SSCP Systems Security Certified PractitionerCryptographyMedium
A software developer is implementing a new secure file storage system. The requirement is to encrypt large files efficiently while ensuring that the encryption process can be easily parallelized across multiple processor cores. Which type of encryption algorithm is best suited for this scenario?
- AAsymmetric encryption
- BStream cipher
- CBlock cipher in ECB mode
- DBlock cipher in CBC mode
Show answer & explanationAnswer & explanation
Correct answer: B. Stream cipher
Stream ciphers encrypt data bit by bit or byte by byte, making them inherently suitable for parallelization as each unit can be processed independently. This allows for high throughput, especially with large data sets.
Why the other options are wrong
- A. Asymmetric encryption is too slow for encrypting large amounts of data due to its computational intensity.
- C. ECB mode is insecure for large files due to pattern repetition and is not the best choice for parallelization without other considerations.
- D. CBC mode requires the previous block's ciphertext for encryption, making true parallelization difficult without specific techniques like pipelining, which is not as straightforward as with stream ciphers.
Stream Cipher
A symmetric key cipher where plaintext digits are combined with a pseudorandom cipher digit stream (keystream). Each plaintext digit is encrypted one at a time with the corresponding keystream digit.
- Encrypts data bit by bit or byte by byte.
- Ideal for real-time communication and large data streams.
- Can be easily parallelized for high throughput.
Memory trick: Stream Faster, Block Stronger.