global class Crypto {
	global Crypto() { }
	global Object clone() { }
	global static Blob decrypt(String algorithmName, Blob secretKey, Blob initializationVector, Blob encryptedData) { }
	global static Blob decryptWithManagedIV(String algorithmName, Blob secretKey, Blob encryptedData) { }
	global static Blob encrypt(String algorithmName, Blob secretKey, Blob initializationVector, Blob clearData) { }
	global static Blob encryptWithManagedIV(String algorithmName, Blob secretKey, Blob clearData) { }
	global static Blob generateAesKey(Integer size) { }
	global static Blob generateDigest(String algorithmName, Blob input) { }
	global static Blob generateMac(String algorithmName, Blob input, Blob privateKey) { }
	global static Integer getRandomInteger() { }
	global static Long getRandomLong() { }
	global static Blob sign(String algorithmName, Blob input, Blob privateKey) { }
	global static Blob signWithCertificate(String algorithmName, Blob input, String certDevName) { }
	global static void signXml(String algorithmName, dom.XmlNode node, String idAttributeName, String certDevName, dom.XmlNode refChild) { }
	global static void signXml(String algorithmName, dom.XmlNode node, String idAttributeName, String certDevName) { }
	global static Boolean verify(String algorithmName, Blob data, Blob signature, Blob publicKey) { }
	global static Boolean verify(String algorithmName, Blob data, Blob signature, String certDevName) { }
	global static Boolean verifyHmac(String algorithmName, Blob data, Blob privateKey, Blob hmacToVerify) { }

}