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