fixed a null-byte padding issue with decryption using RSA

This commit is contained in:
Michael Greene
2014-09-30 15:58:45 -07:00
parent b1204fb5ac
commit 70038ef002

View File

@@ -169,7 +169,11 @@ class PKESessionKeyV3(PKESessionKey):
def decrypt_sk(self, pk): def decrypt_sk(self, pk):
if self.pkalg == PubKeyAlgorithm.RSAEncryptOrSign: if self.pkalg == PubKeyAlgorithm.RSAEncryptOrSign:
decargs = (self.ct.me_mod_n.to_mpibytes()[2:], padding.PKCS1v15(), default_backend()) # pad up ct with null bytes if necessary
ct = self.ct.me_mod_n.to_mpibytes()[2:]
ct = b'\x00' * ((pk.key_size // 8) - len(ct)) + ct
decargs = (ct, padding.PKCS1v15(), default_backend())
else: else:
raise NotImplementedError(self.pkalg) raise NotImplementedError(self.pkalg)