abenc_unmcpabe_yahk14

Yamada, Attrapadung, Hanaoka, Kunihiro

From: “A Framework and Compact Constructions for Non-monotonic Attribute-Based Encryption”
Published in: Public-Key Cryptography–PKC 2014
Pages: 275–292
Available from: http://eprint.iacr.org/2014/181 Sec. 7
Notes:
  • type: attribute-based encryption (public key)
  • setting: bilinear pairing group of prime order
  • assumption: complex q-type assumption
Authors:al, artjomb
Date:07/15
class abenc_unmcpabe_yahk14.CPABE_YAHK14(groupObj, verbose=False)[source]

Bases: charm.toolbox.ABEnc.ABEnc

>>> from charm.toolbox.pairinggroup import PairingGroup,ZR,G1,G2,GT,pair
>>> group = PairingGroup('SS512')
>>> cpabe = CPABE_YAHK14(group)
>>> msg = group.random(GT)
>>> attributes = ['2', '3'] # must be integer strings
>>> access_policy = '2 and !1' # must be integer strings
>>> (master_public_key, master_key) = cpabe.setup()
>>> secret_key = cpabe.keygen(master_public_key, master_key, attributes)
>>> cipher_text = cpabe.encrypt(master_public_key, msg, access_policy)
>>> decrypted_msg = cpabe.decrypt(master_public_key, secret_key, cipher_text)
>>> msg == decrypted_msg
True
decrypt(pp, sk, ct)[source]
encrypt(pp, message, policy_str)[source]
exp(value)[source]
keygen(pp, mk, S)[source]
randomMessage()[source]
setup()[source]
abenc_unmcpabe_yahk14.main()[source]