Example #1
0
 def test_fake_hybrid_fail_wrong_dec(self):
   enc = helper.FakeHybridEncrypt('Name')
   dec = helper.FakeHybridDecrypt('Wrong Name')
   ciphertext = enc.encrypt(b'plaintext', b'context_info')
   with self.assertRaisesRegex(core.TinkError,
                               'failed to decrypt ciphertext'):
     dec.decrypt(ciphertext, b'context_info')
Example #2
0
 def test_fake_hybrid_success(self):
   enc = helper.FakeHybridEncrypt('Name')
   dec = helper.FakeHybridDecrypt('Name')
   ciphertext = enc.encrypt(b'plaintext', b'context_info')
   self.assertEqual(
       dec.decrypt(ciphertext, b'context_info'),
       b'plaintext')
Example #3
0
def new_primitives_and_keys(key_id, output_prefix_type):
    fake_dec_key = helper.fake_key(
        key_material_type=tink_pb2.KeyData.ASYMMETRIC_PRIVATE,
        key_id=key_id,
        output_prefix_type=output_prefix_type)
    fake_enc_key = helper.fake_key(
        key_material_type=tink_pb2.KeyData.ASYMMETRIC_PUBLIC,
        key_id=key_id,
        output_prefix_type=output_prefix_type)
    fake_hybrid_decrypt = helper.FakeHybridDecrypt(
        'fakeHybrid {}'.format(key_id))
    fake_hybrid_encrypt = helper.FakeHybridEncrypt(
        'fakeHybrid {}'.format(key_id))
    return fake_hybrid_decrypt, fake_hybrid_encrypt, fake_dec_key, fake_enc_key
Example #4
0
    def test_decrypt_unknown_ciphertext_fails(self):
        unknown_enc = helper.FakeHybridEncrypt('unknownHybrid')
        unknown_ciphertext = unknown_enc.encrypt(b'plaintext', b'context_info')

        dec_pset = core.new_primitive_set(hybrid.HybridDecrypt)

        dec1, _, dec1_key, _ = new_primitives_and_keys(1234, tink_pb2.RAW)
        dec2, _, dec2_key, _ = new_primitives_and_keys(5678, tink_pb2.TINK)
        dec_pset.add_primitive(dec1, dec1_key)
        dec_pset.set_primary(dec_pset.add_primitive(dec2, dec2_key))

        wrapped_dec = hybrid.HybridDecryptWrapper().wrap(dec_pset)

        with self.assertRaisesRegex(core.TinkError, 'Decryption failed'):
            wrapped_dec.decrypt(unknown_ciphertext, b'context_info')
Example #5
0
 def test_fake_hybrid_fail_wrong_context(self):
     enc = helper.FakeHybridEncrypt('Name')
     dec = helper.FakeHybridDecrypt('Name')
     ciphertext = enc.encrypt(b'plaintext', b'context_info')
     with self.assertRaises(core.TinkError):
         dec.decrypt(ciphertext, b'other_context_info')