Add an exceptions-based interface
Derive Data
Add comment
Export functions to generate an IV.