ibenc_adapt_hybrid¶
Hybrid Encryption Adapter for IBE (IBE Hybrid)
Description: Converts an Identity-Based Encryption scheme into a hybrid encryption scheme capable of encrypting arbitrary-length messages.
Notes: Uses symmetric encryption (AES) with a randomly generated session key.
The session key is encrypted using the underlying IBE scheme.
Adapter Properties
Type: hybrid encryption adapter
Underlying Scheme: any Identity-Based Encryption scheme
Purpose: enables IBE schemes to encrypt arbitrary-length byte messages
Implementation
- Authors:
Ayo Akinyele
- Date:
2011
- class ibenc_adapt_hybrid.HybridIBEnc(scheme, groupObj)[source]¶
Bases:
IBEnc>>> from charm.schemes.ibenc.ibenc_bb03 import IBE_BB04 >>> group = PairingGroup('SS512') >>> ibe = IBE_BB04(group) >>> hashID = HashIDAdapter(ibe, group) >>> hyb_ibe = HybridIBEnc(hashID, group) >>> (master_public_key, master_key) = hyb_ibe.setup() >>> ID = 'john.doe@example.com' >>> secret_key = hyb_ibe.extract(master_key, ID) >>> msg = b"Hello World!" >>> cipher_text = hyb_ibe.encrypt(master_public_key, ID, msg) >>> decrypted_msg = hyb_ibe.decrypt(master_public_key, secret_key, cipher_text) >>> decrypted_msg == msg True