CharmCrypto:尝试序列化obj时获得<terminated,exit value:139>

2024-04-25 19:04:45 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在用Charm实现一个Dabe scheme,需要在多个实体上共享公共参数。我正试图使用charm附带的序列化API中的objectToBytes()函数序列化包含这些参数的charm对象,但我的脚本被终止,退出代码为139。
这是我的密码:

from charm.toolbox.pairinggroup import PairingGroup,ZR,G1,G2,GT,pair
from charm.toolbox.secretutil import SecretUtil
from charm.toolbox.ABEncMultiAuth import ABEncMultiAuth
from charm.core.engine.util import objectToBytes, bytesToObject
from charm.core.math.pairing import hashPair as extractor
from charm.schemes.dabe_aw11 import Dabe

# Global Setup
group = PairingGroup('SS512')
dabe = Dabe(group)
public_parameters = dabe.setup()  # GP

# Trying to serialize public_parameters but...
# ...the following instruction causes the script <terminated, exit value: 139>
GP = objectToBytes(public_parameters, group)

我已经在Eclipse中运行了调试模式并进入了我的代码,问题似乎出在PairingGroup类定义中的serialize()函数中,该函数返回从charm.core.math.pairing导入的serialize()(已编译)函数。你知道吗

以前有人遇到过这个问题吗?关于如何在多个脚本上使用(导入)魅力对象,有什么建议吗?
谢谢


Tags: 函数fromcoreimport参数grouptoolboxpublic
1条回答
网友
1楼 · 发布于 2024-04-25 19:04:45

GP或public\u参数是由“g”组成的字典,g是一个配对元素对象和“H”,后者是到散列函数(随机预言器)的lambda映射。可能是objectToBytes和后续函数试图序列化lambda映射并导致错误。你知道吗

我已经测试过了PairingGroup.serialize()函数,它确实适用于配对元素物体。在我看来,g值实际上是你唯一需要分享的。“H”只是固定组中的哈希映射:在Charm的情况下,它总是H=lambda x:组哈希(x,G1)对于dabe\ U aw11.py,其中G1来自charm.toolbox.pairinggroup组. 因此,您可以始终定义lambda映射并添加常量、共享的“g”,或者只调用setup()(它选择一个“g”并定义“H”映射),并用“g”替换先前选择/共享的映射。目标是从public\u parameters字典中序列化“g”,跳过其中的“H”。你知道吗

这是我在这里尝试的一个选择,在一个博士论文的概念证明,利用达贝大学aw11。你知道吗

相关问题 更多 >

    热门问题