【发布时间】:2013-11-05 17:57:51
【问题描述】:
伙计们,当调用第一个函数为 SAES_ToStateMatrix([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]) 时,它给了我
[a^3 + a a^3 + a]
[a^3 + a a^3 + a]
但是通过将输出传递为SAES_FromStateMatrix([[a^3 + a a^3 + a],[a^3 + a a^3 + a]])
出现错误" invalid syntax " 那么如何避免这个错误
这是我的代码
F = GF(2);
L.<a> = GF(2^4);
V = L.vector_space();
VF8 = VectorSpace(F, 8);
def SAES_ToStateMatrix(block):
r"""
Converts a bit list into an SAES State Matrix
"""
B = block;
# form the plaintext block into a matrix of GF(2^n) elements
S00 = L(V([B[0], B[1], B[2], B[3]]));
S01 = L(V([B[4], B[5], B[6], B[7]]));
S10 = L(V([B[8], B[9], B[10], B[11]]));
S11 = L(V([B[12], B[13], B[14], B[15]]));
state_matrix = Matrix(L, [[S00,S01],[S10,S11]]);
return state_matrix;
def SAES_FromStateMatrix(state_matrix):
r"""
Converts an SAES state_matrix to a bit list.
"""
output = [];
# convert state matrix back into bit list
for r in xrange(2):
for c in xrange(2):
v = V(state_matrix[r,c]);
for j in xrange(4):
output.append(Integer(v[j]));
return output;
【问题讨论】:
-
这是你代码的真正缩进吗?
-
a^3 + a a^3 + a中的a a不是有效的python 表达式,这就是您的语法错误的原因。 -
是的,这是真的……有什么帮助吗?
-
@Lukas Grafit:是用sage写的(数学环境)
-
@noazetabdo:你能提供完整的追溯吗?
标签: python read-eval-print-loop sage repr