diff --git a/lib/modules/Crypto/randomness.pmod.pike b/lib/modules/Crypto/randomness.pmod.pike index 7a9d4d8d10241686d2a03b0d1cc8e31d9b6ccba3..dc77256a20219a27587e698efca19dcc7adb452a 100644 --- a/lib/modules/Crypto/randomness.pmod.pike +++ b/lib/modules/Crypto/randomness.pmod.pike @@ -105,7 +105,7 @@ object reasonably_random() object really_random(int|void may_block) { - object res; + object res = Stdio.File(); if (may_block && file_stat(RANDOM_DEVICE)) { if (res->open(RANDOM_DEVICE, "r")) diff --git a/lib/modules/Crypto/rsa.pike b/lib/modules/Crypto/rsa.pike index a6d694192ec57cf66c1d80d54aeed7d6257c905b..92b6de1bc3dd9abcee2c7b65b2348dc0e2a97352 100644 --- a/lib/modules/Crypto/rsa.pike +++ b/lib/modules/Crypto/rsa.pike @@ -81,7 +81,7 @@ int sha_verify(string message, string signature) string s; hash->update(message); - s = hash->digest; + s = hash->digest(); s = sprintf("%c%s%c%s", 4, "sha1", strlen(s), s); return s == rsa_unpad(BIGNUM(signature, 256)->powm(e, n), 1); diff --git a/src/modules/_Crypto/cbc.c b/src/modules/_Crypto/cbc.c index 3147bb1144db55d7f094277a092d2ded48f88038..4a9dd8544078cc4bba96159ac4ecb3408456c415 100644 --- a/src/modules/_Crypto/cbc.c +++ b/src/modules/_Crypto/cbc.c @@ -1,5 +1,5 @@ /* - * $Id: cbc.c,v 1.7 1997/03/17 03:11:14 hubbe Exp $ + * $Id: cbc.c,v 1.8 1997/04/10 02:33:26 nisse Exp $ * * CBC (Cipher Block Chaining Mode) crypto module for Pike. * @@ -260,7 +260,7 @@ static void f_decrypt_block(INT32 args) if (sp[-1].type != T_STRING) { error("Bad argument 1 to cbc->decrypt_block()\n"); } - if (sp[-1].u.string->len & THIS->block_size) { + if (sp[-1].u.string->len % THIS->block_size) { error("Bad length of argument 1 to cbc->decrypt_block()\n"); } if (!(result = alloca(sp[-1].u.string->len))) { diff --git a/src/modules/_Crypto/crypto.c b/src/modules/_Crypto/crypto.c index 03858cb3b47373bb74d307f616228eb6f56a5a9e..7960d73b3d0b4fdfd25765b7c58b6176e3a0a33a 100644 --- a/src/modules/_Crypto/crypto.c +++ b/src/modules/_Crypto/crypto.c @@ -1,5 +1,5 @@ /* - * $Id: crypto.c,v 1.19 1997/03/23 18:18:55 nisse Exp $ + * $Id: crypto.c,v 1.20 1997/04/10 02:33:27 nisse Exp $ * * A pike module for getting access to some common cryptos. * @@ -397,11 +397,10 @@ static void f_pad(INT32 args) error("Too many arguments to crypto->pad()\n"); } - len = THIS->block_size - 1 - THIS->backlog_len; - for (i=0; i < len; i++) - THIS->backlog[THIS->backlog_len + i] = my_rand() & 0xff; + for (i = THIS->backlog_len; i < THIS->block_size - 1; i++) + THIS->backlog[i] = my_rand() & 0xff; - THIS->backlog[i] = len; + THIS->backlog[THIS->block_size - 1] = 7 - THIS->backlog_len; push_string(make_shared_binary_string((const char *)THIS->backlog, THIS->block_size)); diff --git a/src/modules/_Crypto/test_crypto.pike b/src/modules/_Crypto/test_crypto.pike index b31efb54cf054e426e98ee23d966da975e884b00..0088a61261efe2c4598b05935aadcd614c2248f0 100755 --- a/src/modules/_Crypto/test_crypto.pike +++ b/src/modules/_Crypto/test_crypto.pike @@ -7,7 +7,6 @@ import Crypto; #define K(a) hex_to_string(a) #define H(a) string_to_hex(a) - int test_des() { string *keys = ({ K("0101010101010180"), @@ -60,7 +59,6 @@ int test_des() return err; } - int test_idea() { string key = K("0123456789abcdef0123456789abcdef"); @@ -220,5 +218,5 @@ int test_cbc() int main() { - return test_des() | test_idea() | test_cbc(); + return test_des() | test_idea() | test_cbc(); }