pkenc_adapt_chk04¶
Canetti-Halevi-Katz IBE-to-PKE Transform (CHK04)
Description: Transforms an Identity-Based Encryption scheme into a CCA-secure Public Key Encryption scheme using generic composition of IBE + one-time signature.
Based on: Chosen-Ciphertext Security from Identity-Based Encryption
Published in: CRYPTO 2004
Available from: https://eprint.iacr.org/2003/182
Notes: Requires a selective-ID secure IBE scheme and an EU-CMA one-time signature scheme
Adapter Properties
Type: IBE-to-PKE transform
Underlying Scheme: selective-ID secure IBE + EU-CMA one-time signature
Purpose: constructs CCA-secure public key encryption from IBE and signatures
Implementation
- Authors:
Ayo Akinyele
- Date:
1/2011
- class pkenc_adapt_chk04.CHK04(ibe_scheme, ots_scheme, groupObj)[source]¶
Bases:
PKEnc>>> from charm.adapters.ibenc_adapt_identityhash import HashIDAdapter >>> from charm.schemes.ibenc.ibenc_bb03 import IBE_BB04 >>> from charm.schemes.pksig.pksig_bls04 import BLS01 >>> group = PairingGroup('SS512') >>> ibe = IBE_BB04(group) >>> hash_ibe = HashIDAdapter(ibe, group) >>> ots = BLS01(group) >>> pkenc = CHK04(hash_ibe, ots, group) >>> (public_key, secret_key) = pkenc.keygen(0) >>> msg = group.random(GT) >>> cipher_text = pkenc.encrypt(public_key, msg) >>> decrypted_msg = pkenc.decrypt(public_key, secret_key, cipher_text) >>> decrypted_msg == msg True