This looks great. I'm working on something for iOS that does security on both ends, encryption on the phone before being sent to a server where it is encrypted again using different salts/keys. I'd like to use things like this to make sure my HTTPS is working, my key-gen is working, and make sure that things are as secure as I can get them on device side as possible.