abenc_yct14¶
Lightweight Key-Policy ABE for IoT (YCT14)
Authors: Xuanxia Yao, Zhi Chen, Ye Tian
Title: “A lightweight attribute-based encryption scheme for the Internet of things”
Published in: Future Generation Computer Systems, 2014
Notes: Designed for resource-constrained IoT devices
Scheme Properties
Type: key-policy attribute-based encryption (public key)
Setting: No Pairing (lightweight)
Assumption: Computational Diffie-Hellman
Implementation
- Authors:
artjomb
- Date:
10/2014
- class abenc_yct14.EKPabe(groupObj, verbose=False)[source]¶
Bases:
ABEnc>>> from charm.toolbox.pairinggroup import PairingGroup,GT >>> group = PairingGroup('MNT224') >>> kpabe = EKPabe(group) >>> attributes = [ 'ONE', 'TWO', 'THREE', 'FOUR' ] >>> (master_public_key, master_key) = kpabe.setup(attributes) >>> policy = '(ONE or THREE) and (THREE or TWO)' >>> secret_key = kpabe.keygen(master_public_key, master_key, policy) >>> msg = b"Some Random Message" >>> cipher_text = kpabe.encrypt(master_public_key, msg, attributes) >>> decrypted_msg = kpabe.decrypt(cipher_text, secret_key) >>> decrypted_msg == msg True