Пример #1
0
 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')
Пример #2
0
    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')
Пример #3
0
 def wrap(self, pset: core.PrimitiveSet) -> mac.Mac:
     _ = pset
     # returns a primitive of the wrong type
     return cast(mac.Mac, helper.FakeAead())
Пример #4
0
 def primitive(self, key_data: tink_pb2.KeyData) -> P:
     return helper.FakeAead()
Пример #5
0
 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
Пример #6
0
 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')
Пример #7
0
 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')
Пример #8
0
 def wrap(self, _):
     return helper.FakeAead()
Пример #9
0
 def primitive(self, key_data):
     return helper.FakeAead()
Пример #10
0
 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')