def test_fake_aead_fail_wrong_primitive(self): aead = helper.FakeAead('Name') ciphertext = aead.encrypt(b'plaintext', b'associated_data') wrong_aead = helper.FakeAead('Wrong Name') with self.assertRaisesRegex(core.TinkError, 'failed to decrypt ciphertext'): wrong_aead.decrypt(ciphertext, b'associated_data')
def test_decrypt_unknown_ciphertext_fails(self): unknown_primitive = helper.FakeAead('unknownFakeAead') unknown_ciphertext = unknown_primitive.encrypt(b'plaintext', b'associated_data') pset = core.new_primitive_set(aead.Aead) primitive, raw_key = self.new_primitive_key_pair(1234, tink_pb2.RAW) new_primitive, new_key = self.new_primitive_key_pair( 5678, tink_pb2.TINK) pset.add_primitive(primitive, raw_key) new_entry = pset.add_primitive(new_primitive, new_key) pset.set_primary(new_entry) wrapped_aead = core.Registry.wrap(pset) with self.assertRaisesRegex(core.TinkError, 'Decryption failed'): wrapped_aead.decrypt(unknown_ciphertext, b'associated_data')
def wrap(self, pset: core.PrimitiveSet) -> mac.Mac: _ = pset # returns a primitive of the wrong type return cast(mac.Mac, helper.FakeAead())
def primitive(self, key_data: tink_pb2.KeyData) -> P: return helper.FakeAead()
def new_primitive_key_pair(self, key_id, output_prefix_type): fake_key = helper.fake_key(key_id=key_id, output_prefix_type=output_prefix_type) fake_aead = helper.FakeAead('fakeAead {}'.format(key_id)) return fake_aead, fake_key
def test_fake_aead_fail_wrong_associated_data(self): aead = helper.FakeAead('Name') ciphertext = aead.encrypt(b'plaintext', b'associated_data') with self.assertRaises(core.TinkError): aead.decrypt(ciphertext, b'wrong_associated_data')
def test_fake_aead_success(self): aead = helper.FakeAead('Name') ciphertext = aead.encrypt(b'plaintext', b'associated_data') self.assertEqual(aead.decrypt(ciphertext, b'associated_data'), b'plaintext')
def wrap(self, _): return helper.FakeAead()
def primitive(self, key_data): return helper.FakeAead()
def test_fake_aead_fail_wrong_cipertext(self): aead = helper.FakeAead('Name') with self.assertRaisesRegex(core.TinkError, 'failed to decrypt ciphertext'): aead.decrypt(b'wrong ciphertext', b'associated_data')