Cipher
classin packageklyn.cryptography
public class Cipher:
Cipher
High-level encryption facade inspired by Java `Cipher`. This class is intentionally focused on encryption and decryption. Hashing, MACs, signatures, random generation and key derivation are exposed by dedicated classes such as `MessageDigest`, `Mac`, `Signature`, `SecureRandom`, `KeyGenerator`, `KeyPairGenerator` and `SecretKeyFactory`. Supported features: - AES encryption/decryption in `GCM`, `CBC` and `CTR` - RSA encryption/decryption in `OAEP` and `PKCS1`
import klyn.cryptography

keyGenerator = AESKeyGenerator()
keyGenerator.initialize(256)
key = keyGenerator.generateKey()
payload = Cipher.aesGcmEncrypt("secret", key)
plain = Cipher.aesGcmDecrypt(payload, key)
print(plain)
Methods
Modifier and Type Member Description
public static aesCbcDecrypt
aesCbcDecrypt(payload as AESCipherText, key as String, keyEncoding as String = "base64") as String throws CryptoException:
Convenience AES-CBC decryption helper.
public static aesCbcEncrypt
aesCbcEncrypt(plainText as String, key as String, keyEncoding as String = "base64", iv as String = null, ivEncoding as String = "base64") as AESCipherText throws CryptoException:
Convenience AES-CBC encryption helper.
public static aesCtrDecrypt
aesCtrDecrypt(payload as AESCipherText, key as String, keyEncoding as String = "base64") as String throws CryptoException:
Convenience AES-CTR decryption helper.
public static aesCtrEncrypt
aesCtrEncrypt(plainText as String, key as String, keyEncoding as String = "base64", iv as String = null, ivEncoding as String = "base64") as AESCipherText throws CryptoException:
Convenience AES-CTR encryption helper.
public static aesDecrypt
aesDecrypt(payload as AESCipherText, key as String, keyEncoding as String = "base64", aad as String = null) as String throws CryptoException:
Decrypts an AES payload produced by `aesEncrypt`.
public static aesEncrypt
aesEncrypt(plainText as String, key as String, mode as String = "GCM", keyEncoding as String = "base64", iv as String = null, ivEncoding as String = "base64", aad as String = null) as AESCipherText throws CryptoException:
Encrypts text with AES.
public static aesGcmDecrypt
aesGcmDecrypt(payload as AESCipherText, key as String, keyEncoding as String = "base64", aad as String = null) as String throws CryptoException:
Convenience AES-GCM decryption helper.
public static aesGcmEncrypt
aesGcmEncrypt(plainText as String, key as String, keyEncoding as String = "base64", iv as String = null, ivEncoding as String = "base64", aad as String = null) as AESCipherText throws CryptoException:
Convenience AES-GCM encryption helper.
public static rsaDecrypt
rsaDecrypt(cipherText as String, privateKeyPem as String, padding as String = "OAEP", hashAlgorithm as String = "SHA-256", inputEncoding as String = "base64") as String throws CryptoException:
Decrypts RSA ciphertext with a private key.
public static rsaEncrypt
rsaEncrypt(plainText as String, publicKeyPem as String, padding as String = "OAEP", hashAlgorithm as String = "SHA-256", outputEncoding as String = "base64") as String throws CryptoException:
Encrypts text with an RSA public key.