Courseiva

CISSP Software Development Security Practice Question

During a code review, a developer identifies that the application uses a custom encryption algorithm for storing sensitive data. Which THREE of the following are secure cryptographic practices that should be recommended instead?

⚠ Common exam trap

Many exam-takers think 'any encryption is better than none' or that 'hashing is a form of encryption,' but the CISSP exam emphasizes that custom algorithms and broken hashes like MD5 are never acceptable for protecting sensitive data, and that proper cryptographic practices require standards, key management, and authenticated modes.

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 industry-standard algorithms (e.g., AES-256)

Option A is correct because industry-standard, peer-reviewed algorithms such as AES-256 have undergone extensive cryptanalysis and are the accepted baseline for symmetric encryption, unlike custom algorithms that typically contain undiscovered weaknesses. Option B is correct because even a strong algorithm like AES is useless if keys are hardcoded, reused, or stored insecurely; proper key management (secure generation, rotation, storage in HSMs/KMS, and separation of duties) is essential to protect sensitive data. Option C is correct because authenticated encryption such as AES-GCM provides both confidentiality and integrity/authenticity, preventing tampering and padding-oracle style attacks that unauthenticated modes like AES-CBC are vulnerable to. Option D is not recommended because MD5 is a broken hash (collisions demonstrated) and hashing is not encryption—it is unsuitable for protecting data that must be retrieved. Option E is not recommended because a static IV causes identical plaintexts to produce identical ciphertexts, leaking patterns and enabling replay or chosen-plaintext attacks; IVs must be unique/random per encryption operation.

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 industry-standard algorithms (e.g., AES-256)

    Why this is correct

    Industry-standard cryptographic algorithms like AES-256 undergo extensive public scrutiny and cryptanalysis by experts worldwide. This rigorous vetting process helps identify and mitigate potential vulnerabilities, ensuring their robustness against known attack methods and providing a high level of confidence in their security. Relying on such well-established algorithms is fundamental for achieving strong confidentiality and integrity in data protection, as opposed to proprietary or unproven methods.

  • ✓

    Implementing proper key management practices

    Why this is correct

    Proper key management practices encompass the entire lifecycle of cryptographic keys, including secure generation, storage, distribution, rotation, revocation, and destruction. If keys are compromised due to weak management, even the strongest encryption algorithms become ineffective, rendering all encrypted data vulnerable to unauthorized access. Secure key management is paramount for maintaining the confidentiality and integrity of encrypted information throughout its existence and is often the weakest link in an otherwise strong cryptographic system.

  • ✓

    Using authenticated encryption (e.g., AES-GCM)

    Why this is correct

    Authenticated encryption modes, such as AES-GCM (Galois/Counter Mode), provide both confidentiality and data integrity, along with authenticity. Confidentiality ensures that unauthorized parties cannot read the data, while integrity guarantees that the data has not been tampered with during transit or storage. This combined protection is critical, as data modification without detection can be as damaging as unauthorized disclosure, preventing various active attacks like bit-flipping or replay attacks.

  • ✗

    Hashing the data with MD5 for faster performance

    Why it's wrong here

    Hashing data with MD5 is fundamentally inappropriate for encryption purposes because MD5 is a one-way cryptographic hash function, not an encryption algorithm. It is designed for integrity checks, not confidentiality, and cannot be reversed to recover the original data. Furthermore, MD5 is cryptographically weak, highly susceptible to collision attacks where different inputs produce the same hash, making it unsuitable even for integrity verification in security-critical applications.

  • ✗

    Using a static IV for simplicity

    Why it's wrong here

    Using a static Initialization Vector (IV) for simplicity is a critical cryptographic vulnerability that severely compromises confidentiality. An IV must be unique for each encryption operation, ideally random or a nonce, to prevent identical plaintext blocks from producing identical ciphertext blocks when using block cipher modes like CBC or CTR. A static IV allows attackers to deduce relationships between encrypted messages, facilitating chosen-plaintext attacks and potentially leading to full plaintext recovery.

Visual reference

Source Router + ACL permit 10.0.0.0/8 deny any Server 10.0.0.5 ✓ 192.168.1.1 ✗ dropped ACLs evaluate top-down; first match wins — implicit deny all at end

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 816 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.