VA-003 Explain encryption as a service Practice Question
A DevOps team needs to encrypt large files (several GB) using Vault's transit engine. What is the recommended approach?
⚠ Common exam trap
HashiCorp often tests the misconception that Vault's transit engine can handle large payloads directly, leading candidates to choose Option D, but the actual limitation is that transit encrypt/decrypt operations are designed for small data (e.g., database fields, tokens) and envelope encryption is required for large files.
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
✓
Use Vault's datakey endpoint to get a data encryption key, encrypt locally, then wrap with Vault
The transit engine is designed for encrypting small data payloads (typically a few KB), not multi-GB files. The recommended approach is to use the `/transit/datakey/plaintext` endpoint to generate a data encryption key (DEK), encrypt the large file locally with that DEK using a symmetric algorithm like AES-256-GCM, and then wrap (encrypt) the DEK with Vault using the transit engine. This keeps the large file out of Vault while still leveraging Vault for key management and audit logging.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
Use Vault's batch encryption
Why it's wrong here
Batch encryption is for multiple small payloads, not for large files.
- ✗
Use Vault's seal-wrapping feature
Why it's wrong here
Seal-wrapping is for encrypting Vault data at rest, not for application data encryption.
- ✓
Use Vault's datakey endpoint to get a data encryption key, encrypt locally, then wrap with Vault
Why this is correct
Envelope encryption: the data key is used locally and its ciphertext is stored alongside the encrypted file.
- ✗
Encrypt the file directly with Vault's transit encrypt API
Why it's wrong here
Sending several GB through the API is inefficient and may hit size limits.
- ✗
Split the file into chunks and encrypt each chunk via transit
Why it's wrong here
Still involves excessive API calls and network overhead.
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 VA-003 question from scratch — 498 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 by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
This VA-003 practice question is part of Courseiva's free HashiCorp 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 VA-003 exam.