【问题标题】:How to perform XOR of two pairing elements of group GT in Charm-Crypto?如何在 Charm-Crypto 中对 GT 组的两个配对元素进行异或?
【发布时间】:2021-12-04 10:52:21
【问题描述】:

在 Charm Crypto 中,我想计算属于 GT 组的两个配对元素的 XOR。但是,似乎不支持 XOR 操作,但组 GT 的配对元素仅支持乘法(mul)和除法(div)操作。

由于我正在尝试实现的算法,我想计算相同的 XOR。 下面基本上是我的算法在简单意义上会做的事情。

>>> from charm.toolbox.pairinggroup import PairingGroup, GT
>>> group = PairingGroup('SS512')
>>> val1 = group.random(GT)
>>> val2 = group.random(GT)
>>> val = val1 ^ val2
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: unsupported operand type(s) for ^: 'pairing.Element' and 'pairing.Element'
>>> 

val1val2 是两个配对元素,我想计算它们之间的异或运算。

有人可以在这方面指导我吗?这个问题有什么解决办法?

【问题讨论】:

  • Line 79,它返回一个元组,如果你知道python你可以处理x-or,但是不能保证结果会是一个点。

标签: python cryptography xor elliptic-curve charm-crypto


【解决方案1】:

XOR 不是配对组旨在执行的操作。您可能需要对两个点的 X 坐标进行异或运算,并希望结果仍然是有效的 X 坐标,您可以从中导出 Y 坐标并获得一个点。在 Charm 中你会很难做到这一点。

您应该转到另一个库并编写自定义实现。

【讨论】:

  • 还有哪些库会支持这种配对元素的操作?
  • 我好像不知道,在github上搜索一下。
猜你喜欢
  • 2019-02-02
  • 2013-10-29
  • 2023-04-05
  • 1970-01-01
  • 1970-01-01
  • 2020-10-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多