Mercurial > dropbear
diff pkcs_1_pss_decode.c @ 15:6362d3854bb4 libtomcrypt-orig
0.96 release of LibTomCrypt
author | Matt Johnston <matt@ucc.asn.au> |
---|---|
date | Tue, 15 Jun 2004 14:07:21 +0000 |
parents | 7faae8f46238 |
children | 5d99163f7e32 |
line wrap: on
line diff
--- a/pkcs_1_pss_decode.c Mon May 31 18:25:41 2004 +0000 +++ b/pkcs_1_pss_decode.c Tue Jun 15 14:07:21 2004 +0000 @@ -60,7 +60,7 @@ } /* check the MSB */ - if ((sig[0] & ~(0xFF >> ((modulus_len<<3) - modulus_bitlen))) != 0) { + if ((sig[0] & ~(0xFF >> ((modulus_len<<3) - (modulus_bitlen-1)))) != 0) { return CRYPT_OK; } @@ -73,6 +73,9 @@ for (y = 0; y < (modulus_len - hLen - 1); y++) { DB[y] ^= mask[y]; } + + /* now clear the first byte [make sure smaller than modulus] */ + DB[0] &= 0xFF >> ((modulus_len<<3) - (modulus_bitlen-1)); /* DB = PS || 0x01 || salt, PS == modulus_len - saltlen - hLen - 2 zero bytes */