Courseiva
Software Development SecurityhardMultiple ChoiceObjective-mapped

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

AlgorithmKey SizeBlock SizeStatusNotes
AES-128128-bit128-bitCurrent standardNIST approved; WPA3, TLS
AES-256256-bit128-bitCurrent standardPreferred for sensitive / govt data
3DES112-bit effective64-bitDeprecated (2023)Replaced by AES
DES56-bit64-bitBrokenCracked in < 24 h; never deploy
ChaCha20256-bitStream cipherCurrentTLS 1.3, WireGuard

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 →

How Courseiva writes practice questions · Editorial policy

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.