Merge features/AES128-CBC into develop

Switched from AES128-ECB to AES128-CBC with a random initialization vector. @jsumners updated the tests and added a key-generation tool.