Mercurial > dropbear
diff src/pk/pkcs1/pkcs_1_pss_encode.c @ 210:4768b55c5240 libtomcrypt
propagate from branch 'au.asn.ucc.matt.ltc-orig' (head 33c416b902f1a44913d825bae7ad9a160f703ed3)
to branch 'au.asn.ucc.matt.dropbear.ltc' (head 4d6aec6e6121e13f68c11c149b6579c41cb63e74)
author | Matt Johnston <matt@ucc.asn.au> |
---|---|
date | Wed, 06 Jul 2005 12:10:23 +0000 |
parents | 39d5d58461d6 |
children |
line wrap: on
line diff
--- a/src/pk/pkcs1/pkcs_1_pss_encode.c Tue May 10 17:02:59 2005 +0000 +++ b/src/pk/pkcs1/pkcs_1_pss_encode.c Wed Jul 06 12:10:23 2005 +0000 @@ -110,13 +110,12 @@ } /* generate DB = PS || 0x01 || salt, PS == modulus_len - saltlen - hLen - 2 zero bytes */ - for (x = 0; x < (modulus_len - saltlen - hLen - 2); x++) { - DB[x] = 0x00; - } + x = 0; + XMEMSET(DB + x, 0, modulus_len - saltlen - hLen - 2); + x += modulus_len - saltlen - hLen - 2; DB[x++] = 0x01; - for (y = 0; y < saltlen; y++) { - DB[x++] = salt[y]; - } + XMEMCPY(DB + x, salt, saltlen); + x += saltlen; /* generate mask of length modulus_len - hLen - 1 from hash */ if ((err = pkcs_1_mgf1(hash, hLen, hash_idx, mask, modulus_len - hLen - 1)) != CRYPT_OK) { @@ -134,14 +133,15 @@ goto LBL_ERR; } - /* DB */ - for (y = x = 0; x < modulus_len - hLen - 1; x++) { - out[y++] = DB[x]; - } + /* DB len = modulus_len - hLen - 1 */ + y = 0; + XMEMCPY(out + y, DB, modulus_len - hLen - 1); + y += modulus_len - hLen - 1; + /* hash */ - for (x = 0; x < hLen; x++) { - out[y++] = hash[x]; - } + XMEMCPY(out + y, hash, hLen); + y += hLen; + /* 0xBC */ out[y] = 0xBC; @@ -168,3 +168,7 @@ } #endif /* PKCS_1 */ + +/* $Source: /cvs/libtom/libtomcrypt/src/pk/pkcs1/pkcs_1_pss_encode.c,v $ */ +/* $Revision: 1.4 $ */ +/* $Date: 2005/05/05 14:35:59 $ */