CAS-004 Security Engineering Practice Question
A security assessor is evaluating an application that uses ChaCha20-Poly1305 for encryption. Which TWO of the following are true about this cryptographic algorithm?
⚠ Common exam trap
CAS-005 often tests the misconception that all modern ciphers are block ciphers or AES-based — candidates must recognize ChaCha20 as a stream cipher with AEAD properties and no padding requirement.
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
✓
It is a stream cipher
Option C is correct because ChaCha20 is a stream cipher: it generates a keystream from a 256-bit key and a 96-bit nonce (with a 32-bit counter) and XORs it with the plaintext, so no block structure is involved. Option D is correct because the Poly1305 one-time authenticator is combined with ChaCha20 to form an AEAD construction, producing a 128-bit authentication tag that protects both the ciphertext and any additional authenticated data (AAD) such as headers. Option A is wrong because ChaCha20 is unrelated to AES; it was designed by Daniel J. Bernstein as a variant of Salsa20 and does not use the Rijndael/AES structure or S-boxes. Option B is wrong because stream ciphers encrypt data byte-by-byte and require no padding to reach a block size. Option E is wrong because ChaCha20 is not a block cipher; it processes data as a continuous keystream rather than fixed-size blocks.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
It is based on the AES algorithm
Why it's wrong here
ChaCha20-Poly1305 is a stream cipher built on the ChaCha20 core with the Poly1305 MAC; it shares no design lineage with AES, which is a block cipher based on Rijndael. The option tempts because both are AEAD ciphers used in TLS. ChaCha20-Poly1305 is preferred where AES hardware acceleration is absent.
- ✗
It requires padding to achieve correct block sizes
Why it's wrong here
ChaCha20-Poly1305 is a stream cipher construction, so it encrypts plaintext byte-by-byte without block padding. It is tempting because padding is genuinely required by block ciphers such as AES-CBC, and would be correct if the algorithm in question were a block mode.
- ✓
It is a stream cipher
Why this is correct
ChaCha20 is a stream cipher, generating a keystream from a 256-bit key and nonce that is XORed with plaintext. This distinguishes it from block ciphers such as AES, and explains its efficiency in software without dedicated hardware acceleration.
- ✓
It provides authenticated encryption with additional data (AEAD)
Why this is correct
ChaCha20-Poly1305 is an AEAD construction, combining the ChaCha20 stream cipher for confidentiality with the Poly1305 one-time authenticator for integrity and authenticity. This satisfies the stem's requirement that the algorithm provides authenticated encryption with additional data, allowing associated plaintext data to be authenticated without being encrypted.
- ✗
It is a block cipher
Why it's wrong here
ChaCha20-Poly1305 is a stream cipher combined with a MAC, not a block cipher, so it processes data as a keystream. It is tempting because Poly1305 produces a fixed-size authentication tag resembling a block, and would be correct for AES or another block-based algorithm.
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
Courseiva writes every CAS-005 question from scratch — 973 in total, each with an explanation and a wrong-answer breakdown. None are copied from real exams or dumps. Learn why practice questions differ from exam dumps →
JA
Written and reviewed by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
Last reviewed September 2026 · checked against the official CompTIA exam blueprint
This CAS-005 practice question is part of Courseiva's free CompTIA 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 CAS-005 exam.