Earlier quoted context omitted.
The correct tool for the key-splitting job is HKDF. If SJCL doesn't offer HKDF, I'll be surprised. It's not hard to implement, however.
Thanks. I researched key splitting when I was building the CBC+HMAC version of the crypto, but HKDF never came up. This is why there are experts (which I do not claim to be). Your feedback on the crypto side of things is really important and well received. I appreciate you taking the time to look through the code.
Heh, humility goes a long way towards becoming an expert. ;)
Thanks for taking this feedback well. :)
Also, a friend in IRC point out that:
https://github.com/turtl/js/blob/master/library/tcrypt.js#L6...
Your default iterations here is only 400.