abenc_lsw08

Key-Policy Attribute-Based Encryption (LSW08)

Authors: Allison Lewko, Amit Sahai, Brent Waters

Title: “Revocation Systems with Very Small Private Keys”
Published in: IEEE Symposium on Security and Privacy, 2010
Notes: Large Universe Construction

Scheme Properties

  • Type: key-policy attribute-based encryption (public key)

  • Setting: Pairing groups

  • Assumption: Decisional Bilinear Diffie-Hellman

Implementation

Authors:
  1. Ayo Akinyele

Date:

12/2010

class abenc_lsw08.KPabe(groupObj, verbose=False)[source]

Bases: ABEnc

>>> from charm.toolbox.pairinggroup import PairingGroup,GT
>>> group = PairingGroup('MNT224')
>>> kpabe = KPabe(group)
>>> (master_public_key, master_key) = kpabe.setup()
>>> policy = '(ONE or THREE) and (THREE or TWO)'
>>> attributes = [ 'ONE', 'TWO', 'THREE', 'FOUR' ]
>>> secret_key = kpabe.keygen(master_public_key, master_key, policy)
>>> msg=group.random(GT)
>>> cipher_text = kpabe.encrypt(master_public_key, msg, attributes)
>>> decrypted_msg = kpabe.decrypt(cipher_text, secret_key)
>>> decrypted_msg == msg
True
decrypt(E, D)[source]
encrypt(pk, M, attr_list)[source]
keygen(pk, mk, policy_str)[source]
negatedAttr(attribute)[source]
setup()[source]
abenc_lsw08.main()[source]