Encryption strategy. Preference should be EncryptionStrategy.aes256Gcm for symmetric encryption and
EncryptionStrategy.rsa4096 for asymmetric encryption.
Provided an encrypted+serialized string (in Cryppo's encryption serialization format)
and a Key (the type of which depends on the type of encryption used)
return the decrypted binary data.
Provided an encrypted+serialized string (in Cryppo's encryption serialization format
which includes serialized key derivation artefacts), derive the key (using the entered
passphrase) and return the decrypted binary data.
Provided a user-entered passphrase and a key derivation strategy,
derive a data encryption key with randomly generated derivation artefacts.
The key and artefacts can be serialized for transfer over the wire and storage.
Encrypts data with a key derived from passphrase
using keyDerivationStrategy, data must be provided in bytes
A EncryptionKey can be a symmetrical key or a key pair, which corresponds to
AES or RSA EncryptionStrategy