CISSP Software Development Security Practice Question
A developer is implementing cryptographic storage for sensitive user data. Which of the following is a cryptographic best practice?
Answer choices
Why each option matters
Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.
Correct answer & explanation
✓
Using AES-256 in Galois/Counter Mode (GCM) for authenticated encryption
Industry-standard algorithms like AES-256 and SHA-256 are recommended, while MD5 and SHA-1 are deprecated due to weaknesses. Authenticated encryption (e.g., GCM) provides both confidentiality and integrity.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
Using a static initialization vector (IV) for all encryption operations
Why it's wrong here
Using a static initialization vector (IV) for all encryption operations significantly weakens the security of block cipher modes, such as AES. An IV's primary purpose is to ensure that identical plaintext blocks encrypt to different ciphertext blocks, preventing an attacker from identifying patterns or performing replay attacks. When the IV remains static, the encryption becomes deterministic for repeated plaintexts, making the system vulnerable to known-plaintext attacks and reducing the overall semantic security of the encrypted data.
- ✗
Encrypting data with a hardcoded key in source code
Why it's wrong here
Encrypting data with a cryptographic key hardcoded directly within the source code introduces a critical security vulnerability. A hardcoded key is easily discoverable through reverse engineering, memory analysis, or even simple string searches within the compiled binary or source files, compromising all data encrypted with that key. Secure key management practices, such as utilizing Hardware Security Modules (HSMs), cloud key management services, or secure configuration files, are imperative to protect cryptographic keys from unauthorized access and disclosure.
- ✗
Hashing passwords with MD5 for performance
Why it's wrong here
Hashing passwords with MD5, despite its speed, is a severely insecure practice due to its cryptographic weaknesses. MD5 is a broken hash function, highly susceptible to collision attacks and pre-image attacks, meaning attackers can find different inputs that produce the same hash or reconstruct the original input from a hash. Its rapid computation speed further enables efficient brute-force attacks and the use of precomputed rainbow tables, rendering password hashes trivial to crack. Robust password hashing algorithms like bcrypt, scrypt, or Argon2 are specifically designed to be computationally expensive and incorporate salt to resist these attacks.
- ✓
Using AES-256 in Galois/Counter Mode (GCM) for authenticated encryption
Why this is correct
Using AES-256 in Galois/Counter Mode (GCM) for authenticated encryption represents a strong and recommended cryptographic best practice. AES-256 provides robust confidentiality with its 256-bit key, making brute-force attacks computationally infeasible. GCM, as an Authenticated Encryption with Associated Data (AEAD) mode, simultaneously ensures data integrity and authenticity by generating an authentication tag, which verifies that the ciphertext has not been tampered with and originated from a legitimate source. This combination offers comprehensive protection against both eavesdropping and active manipulation.
Quick reference
Symmetric Encryption Algorithm Comparison
| Algorithm | Key Size | Block Size | Status | Notes |
|---|---|---|---|---|
| AES-128 | 128-bit | 128-bit | Current standard | NIST approved; WPA3, TLS |
| AES-256 | 256-bit | 128-bit | Current standard | Preferred for sensitive / govt data |
| 3DES | 112-bit effective | 64-bit | Deprecated (2023) | Replaced by AES |
| DES | 56-bit | 64-bit | Broken | Cracked in < 24 h; never deploy |
| ChaCha20 | 256-bit | Stream cipher | Current | TLS 1.3, WireGuard |
Go deeper
Related to this question
About these practice questions
One of 747 original CISSP practice questions on Courseiva, each with a full explanation and wrong-answer analysis — not exam dumps or protected exam content. Learn why practice questions differ from exam dumps →
JA
Written by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
This CISSP practice question is part of Courseiva's free ISC2 certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the CISSP exam.