JHUISI / charm

Charm: A Framework for Rapidly Prototyping Cryptosystems
http://charm-crypto.io
GNU Lesser General Public License v3.0
541 stars 166 forks source link

Can not use objectToBytes() with Ciphertext #294

Closed toomhufm closed 1 year ago

toomhufm commented 1 year ago
    session_key = group.random(GT)
    session_key_ctxt = cpabe.encrypt(pk,session_key,policy)
    objectToBytes(session_key_ctxt,group)

When I use objectToBytes function with ciphertext im getting this error

Traceback (most recent call last):
  File "/home/t00m/py37/lib/python3.7/site-packages/Charm_Crypto-0.50-py3.7-linux-x86_64.egg/charm/core/engine/util.py", line 38, in serializeObject
    serializer = serializers[type(Objects)]
KeyError: <class 'charm.toolbox.node.BinNode'>

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "crypto.py", line 98, in <module>
    cipher = encryption(filename,pk,policy_string,pairing_group)
  File "crypto.py", line 27, in encryption
    objectToBytes(session_key_ctxt,group)
  File "/home/t00m/py37/lib/python3.7/site-packages/Charm_Crypto-0.50-py3.7-linux-x86_64.egg/charm/core/engine/util.py", line 135, in objectToBytes
    object_ser = serializeObject(object, group)
  File "/home/t00m/py37/lib/python3.7/site-packages/Charm_Crypto-0.50-py3.7-linux-x86_64.egg/charm/core/engine/util.py", line 42, in serializeObject
    return serializer(Objects, group)
  File "/home/t00m/py37/lib/python3.7/site-packages/Charm_Crypto-0.50-py3.7-linux-x86_64.egg/charm/core/engine/util.py", line 15, in serializeDict
    for k, o in Object.items()
  File "/home/t00m/py37/lib/python3.7/site-packages/Charm_Crypto-0.50-py3.7-linux-x86_64.egg/charm/core/engine/util.py", line 15, in <dictcomp>
    for k, o in Object.items()
  File "/home/t00m/py37/lib/python3.7/site-packages/Charm_Crypto-0.50-py3.7-linux-x86_64.egg/charm/core/engine/util.py", line 40, in serializeObject
    return group.serialize(Objects)
  File "/home/t00m/py37/lib/python3.7/site-packages/Charm_Crypto-0.50-py3.7-linux-x86_64.egg/charm/toolbox/pairinggroup.py", line 120, in serialize
    return serialize(obj, compression)
TypeError: Invalid element type.

Packages Version

Package                   Version
------------------------- -------
attrs                     23.1.0
Charm-Crypto              0.50
click                     8.1.3
exceptiongroup            1.1.1
Flask                     2.2.5
hypothesis                6.75.2
importlib-metadata        6.6.0
iniconfig                 2.0.0
itsdangerous              2.1.2
Jinja2                    3.1.2
MarkupSafe                2.1.2
packaging                 23.1
pip                       20.0.2
pkg-resources             0.0.0
pluggy                    1.0.0
pycryptodome              3.17
pycryptodome-test-vectors 1.0.12
pycryptodomex             3.17
pyparsing                 2.1.5
pytest                    7.3.1
setuptools                44.0.0
sortedcontainers          2.4.0
tomli                     2.0.1
typing-extensions         4.5.0
Werkzeug                  2.2.3
wheel                     0.34.2
zipp                      3.15.0