def decrypt(self, data): decrypted = EncResult(data, self.key.hmac_key) if decrypted.verify(): decrypted = self.ecc.decrypt(data.enc_data.data) return decrypted else: raise Exception('HMAC invalid')
def from_dict(pickle_key = None, state = None): key = { "public": base64.b64decode(state['public']), "private": EncResult.from_dict(state['private']), "curve": state['curve'], } if pickle_key is not None: s = SymEnc(pickle_key) key['private'] = s.decrypt(key['private']) return ASymKey(key)