From 2692607d59f65baaab5d6d6b715f52aca36ce9d0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Niels=20M=C3=B6ller?= <nisse@lysator.liu.se>
Date: Tue, 26 Aug 1997 10:22:03 +0200
Subject: [PATCH] Added pkcs-1 style signatures.

Rev: lib/modules/Crypto/rsa.pike:1.10
---
 lib/modules/Crypto/rsa.pike | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)

diff --git a/lib/modules/Crypto/rsa.pike b/lib/modules/Crypto/rsa.pike
index 35e21232e1..e40ba81ca7 100644
--- a/lib/modules/Crypto/rsa.pike
+++ b/lib/modules/Crypto/rsa.pike
@@ -1,4 +1,4 @@
-/* $Id: rsa.pike,v 1.9 1997/05/31 22:03:49 grubba Exp $
+/* $Id: rsa.pike,v 1.10 1997/08/26 08:22:03 nisse Exp $
  *
  * Follow the PKCS#1 standard for padding and encryption.
  * However, PKCS#1 style signing (involving ISO Object Identifiers) is
@@ -76,6 +76,17 @@ string rsa_unpad(bignum block, int type)
   return s[i+1..];
 }
 
+object sign(string message, program h, mixed|void r)
+{
+  return rsa_pad(pkcs.build_digestinfo(message, h()), 1, r)->powm(d, n);
+}
+
+int verify(string msg, program h, object sign)
+{
+  string s = pkcs.build_digestinfo(msg, h());
+  return s == rsa_unpad(sign->powm(e, n), 1);
+}
+
 string sha_sign(string message, mixed|void r)
 {
   object hash = Crypto.sha();
-- 
GitLab