pre_mg07

Identity-Based Proxy Re-Encryption (MG07)

Authors: Matthew Green, Giuseppe Ateniese

Title: “Identity-Based Proxy Re-Encryption”
Published in: Applied Cryptography and Network Security, 2007
Notes: Section 4.3

Scheme Properties

  • Type: proxy re-encryption (identity-based)

  • Setting: bilinear groups (symmetric)

  • Assumption: DBDH

Implementation

Authors:
  1. Fotiou

Date:

11/2012

class pre_mg07.PreGA(groupObj)[source]

Bases: object

>>> from charm.toolbox.pairinggroup import PairingGroup,pc_element  
>>> ID = "nikos fotiou"
>>> ID2 = "test user"
>>> msg = "hello world!!!!!"
>>> group = PairingGroup('SS512', secparam=1024)  
>>> pre = PreGA(group)
>>> (master_secret_key, params) = pre.setup()
>>> id_secret_key = pre.keyGen(master_secret_key, ID)
>>> id2_secret_key = pre.keyGen(master_secret_key, ID2)
>>> ciphertext = pre.encrypt(params, ID, msg);
>>> pre.decryptFirstLevel(params,id_secret_key, ciphertext, ID)
b'hello world!!!!!'
>>> re_encryption_key = pre.rkGen(params,id_secret_key, ID, ID2)
>>> ciphertext2 = pre.reEncrypt(params, ID, re_encryption_key, ciphertext)
>>> pre.decryptSecondLevel(params,id2_secret_key,ID, ID2, ciphertext2)
b'hello world!!!!!'
decryptFirstLevel(params, skid, cid, ID)[source]
decryptSecondLevel(params, skid, IDsrc, ID, cid)[source]
encrypt(params, ID, M)[source]
keyGen(msk, ID)[source]
reEncrypt(params, IDsrc, rk, cid)[source]
rkGen(params, skid, IDsrc, IDdest)[source]
setup()[source]