我正在研究一个与 Charm jhuisi link合作的密码学课程项目。我有两个 numpy 矩阵:属于 ZR 的 V(2,3) 和属于 G1 的 M(3x2)。我想把 V 带到 G1,所以我可以对 M^V 取幂。要执行此操作,在 Charm 中我不能简单地使用 M**V,但我必须逐个元素地执行此操作。
from charm.toolbox.pairinggroup import PairingGroup,ZR,G1,G2,GT,pair
import numpy as np
M = np.array([[group.random(G1) for i in range(2)] for j in range(3)])
V_t = np.transpose(np.array([[group.random(ZR) for i in range(2)] for j in range(3)]))
matrix = np.array([[M[i][j] ** V[j][i] for j in range(3)] for i in range(2)]
但它给我一个错误"IndexError: index 2 is out of bounds for axis 0 with size 2"
以前用过Charm的人可以帮帮我吗?