【发布时间】:2022-11-25 03:03:22
【问题描述】:
这是我定义的函数,当我尝试调用它们时出现错误 请注意,resultmatrix 是一个 4x4 2d numpy 数组
** 功能是:
import numpy as np
def getValues(row,column,resultMatrix):
a=resultMatrix[row][column]
prefix='0x'
a=prefix+a
an_integer = int(a, 16)
return an_integer
mixMatrix=np.array([['00','00','00','00'],
['00','00','00','00'],
['00','00','00','00'],
['00','00','00','00']])
def mixColumns(a, b, c, d,column):
v1=(gmul(a, 2) ^ gmul(b, 3) ^ gmul(c, 1) ^ gmul(d, 1))
v2=(gmul(a, 1) ^ gmul(b, 2) ^ gmul(c, 3) ^ gmul(d, 1))
v3=(gmul(a, 1) ^ gmul(b, 1) ^ gmul(c, 2) ^ gmul(d, 3))
v4=(gmul(a, 3) ^ gmul(b, 1) ^ gmul(c, 1) ^ gmul(d, 2))
v1=hex(v1); char0=v1[2];char1=v1[3];v1=str(char0+char1)
mixMatrix[0][column]=v1
v2=hex(v2); char0=v2[2];char1=v2[3];v2=str(char0+char1)
mixMatrix[1][column]=v2
v3=hex(v3); char0=v3[2];char1=v3[3];v3=str(char0+char1)
mixMatrix[2][column]=v3
v4=hex(v4); char0=v4[2];char1=v4[3];v4=str(char0+char1)
mixMatrix[3][column]=v4
return mixMatrix
def gmul(a, b):
if b == 1:
return a
tmp = (a << 1) & 0xff
if b == 2:
return tmp if a < 128 else tmp ^ 0x1b
if b == 3:
return gmul(a, 2) ^ a
-
当我如下所示调用时,我收到错误
a=getValues(0,0,resultMatrix);b=getValues(1,0,resultMatrix);c=getValues(2,0,resultMatrix);d=getValues(3,0,resultMatrix);mixColumns(a, b, c, d,0)
【问题讨论】:
-
请正确格式化问题并提供足够的信息以供他人搜索答案。如果我们甚至不知道
mixColumns和getValues做什么,我们期望如何解决问题。 -
抱歉,这是我第一次使用堆栈溢出,不胜感激
-
显示完整的错误信息
-
@hpaulj 我发了,谢谢
-
您传递给
getValues的这个resultMatrix是什么?
标签: python python-3.x numpy