diff --git a/lib/modules/Crypto/rsa.pike b/lib/modules/Crypto/rsa.pike
index 81fb7b9f44665984d8845fe06e3a500f6615d788..d809582acbc52fefe82254bb1bdb9edb613c7c76 100644
--- a/lib/modules/Crypto/rsa.pike
+++ b/lib/modules/Crypto/rsa.pike
@@ -87,6 +87,16 @@ int sha_verify(string message, string signature)
   return s == rsa_unpad(BIGNUM(signature, 256)->powm(e, n), 1);
 }
 
+string encrypt(string s, mixed|void r)
+{
+  return rsa_pad(msg, 2, r)->powm(e, n)->digits(256);
+}
+
+string decrypt(string s)
+{
+  return rsa_unpad(BIGNUM(msg, 256)->powm(d, n), 2));
+}
+
 object set_encrypt_key(array(bignum) key)
 {
   set_public_key(key[0], key[1]);
@@ -104,7 +114,5 @@ object set_decrypt_key(array(bignum) key)
 
 object crypt_block(string msg)
 {
-  return (encrypt_mode ?
-	  rsa_pad(msg, 2)->powm(e, n)->digits(256)
-	  : rsa_unpad(BIGNUM(msg, 256)->powm(d, n), 2));
+  return (encrypt_mode ? encrypt(s) : decrypt(s));
 }