pkenc_adapt_bchk05¶
Boneh-Canetti-Halevi-Katz IBE-to-PKE Transform (BCHK05)
Description: Transforms an Identity-Based Encryption scheme into a CCA-secure Public Key Encryption scheme using the BCHK construction.
Based on: Improved Efficiency for CCA-Secure Cryptosystems Built Using Identity-Based Encryption
Published in: Topics in Cryptology, CT-RSA 2005
Available from: https://eprint.iacr.org/2004/261.pdf
Notes: Section 4 of the paper; more efficient than CHK04 transform
Adapter Properties
Type: IBE-to-PKE transform
Underlying Scheme: any selective-ID secure IBE scheme
Purpose: constructs CCA-secure public key encryption from IBE
Implementation
- Authors:
Christina Garman
- Date:
12/2011
- class pkenc_adapt_bchk05.BCHKIBEnc(scheme, groupObj, encscheme)[source]¶
Bases:
IBEnc>>> from charm.schemes.encap_bchk05 import EncapBCHK >>> from charm.schemes.ibenc.ibenc_bb03 import PairingGroup, IBE_BB04 >>> group = PairingGroup('SS512') >>> ibe = IBE_BB04(group) >>> encap = EncapBCHK() >>> hyb_ibe = BCHKIBEnc(ibe, group, encap) >>> (public_key, secret_key) = hyb_ibe.keygen() >>> msg = b"Hello World!" >>> cipher_text = hyb_ibe.encrypt(public_key, msg) >>> decrypted_msg = hyb_ibe.decrypt(public_key, secret_key, cipher_text) >>> decrypted_msg == msg True