.objectToBytes | методы bytesToObject.

у сохранить зашифрованный текст, зашифрованный гибридным cpabe_BSW07, в файлах, но обнаружил ошибки при извлечении зашифрованного текста:

raise TypeError, "can't pickle %s objects" % base.__name__
TypeError: can't pickle Element objects
from charm.toolbox.pairinggroup import PairingGroup
from charm.schemes.abenc.abenc_bsw07 import CPabe_BSW07
from charm.adapters.abenc_adapt_hybrid import HybridABEnc
import pickle


if __name__ == "__main__":
  groupObj = PairingGroup('SS512')
  cpabe = CPabe_BSW07(groupObj)
  hyb_abe = HybridABEnc(cpabe, groupObj)
  (pk, mk) = hyb_abe.setup()
  access_policy = '((four or three) and (two or one))'
  sk = hyb_abe.keygen(pk, mk, ['ONE', 'TWO', 'THREE'])

  sourcefile = open("source.dat", 'rb')
  plaintext = sourcefile.read()
  sourcefile.close()

  encryptedfile = open("encrypted.dat", 'wb')
  ciphertext = hyb_abe.encrypt(pk, plaintext, access_policy)
  pickle.dump(ciphertext, encryptedfile)
  encryptedfile.close()

Ответы на вопрос(2)

Ваш ответ на вопрос