CBC encryption
block cipher should support "encrypt" and "decrypt"
rename keybuf -> cipherkeybuf

...since this use of "key" is very different than the public/private key pair
that is key.js