# Functions

AESCBCDecrypt performs a AES decryption in CBC mode.
AESCBCDecryptWithMAC performs a AES dencryption in CBC mode with a MAC authentication.
AESCBCEncrypt performs a AES encryption in CBC mode.
AESCBCEncryptWithMAC performs a AES encryption in CBC mode with a MAC authentication.
BytesToUUIDFormat converts a 16 bytes to UUID format.
DeriveKey derives two cryptographically strong secret keys from the weak key.
GenerateECDHKeyPair generates the ECDH key pair.
GenerateECDHSharedSecret calculates a common secret using the private key and public key.
GenerateRSAKey generates the RSA private key.
GenUUID generates UUID.
GenUUID generates UUID.
HMACSHA256 generates the HMAC for a message given a key.
MarshalECDHPublicKey marshals the public key into byte array.
MarshalPrivateKey marshals private key into ANS.1 DER bytes (PKSC#1 scheme).
MarshalPublicKey marshals public key into ANS.1 DER bytes (PKSC#1 scheme).
MD5UUIDFormat gets the MD5 hash of the input content and convert to UUID Format.
PBKDF2HMACSHA256 derives a key for a given password.
RandBigInt generates and return a bigInt 'bits' bits in length.
RandBytes returns n bytes of cryptographically strong random bytes.
RSADecrypt decrypts the given cipher text with the private key.
RSAEncrypt encrypts the given message with the public key.
RSASign signs the given message with the private key.
RSAVerify verifies the given message with the public key.
UnmarshalECDHPublicKey unmarshals byte array into public key.
UnMarshalPrivateKey unmarshals ANS.1 DER bytes back to private key.
UnMarshalPublicKey unmarshals ANS.1 DER bytes back to public key.
Validates UUID.