Как выполнить XOR двух сопряженных элементов группы GT в Charm-Crypto?

#python #cryptography #xor #elliptic-curve #charm-crypto

Вопрос:

В Charm Crypto я хочу вычислить XOR двух сопряженных элементов, принадлежащих группе GT. Однако, похоже, что операция 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'
>>> 
 

val1 И val2 -это два элемента сопряжения, и я хочу вычислить операцию XOR между ними.

Может ли кто-нибудь, пожалуйста, помочь мне в этом отношении? Каково решение этой проблемы?

Комментарии:

1. Строка 79 , она возвращает кортеж, если вы знаете python, вы можете обработать x-или, однако, нет гарантии, что результатом будет точка.

Ответ №1:

XOR-это не та операция, для которой предназначены группы сопряжения. Скорее всего, вам понадобится XOR координаты X двух точек и надеяться, что результат все еще будет действительной координатой X, из которой вы можете получить координату Y и получить точку. Вам будет трудно сделать это в Очаровании.

Вам следует перейти в другую библиотеку и написать пользовательскую реализацию.

Комментарии:

1. Какая другая библиотека будет поддерживать эту операцию для сопряжения элементов?

2. Я не думаю, что знаю кого-либо, попробуйте поискать на github.