move private methods to the end of the file
change argument from key to name
cahnge " to '
allow user to specify the key size, default to 4096
simplify the Crypto dependency handling