我想将混合 cpabe_BSW07 加密的密文存储在文件中,但是在对密文进行腌制时发现错误:
引发 TypeError,“无法腌制 %s 个对象”% base.__name__ TypeError:无法腌制元素对象
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()