Php rijndael函数

Php rijndael函数,php,Php,我正在进行解密,编写反函数并在InvMixColumns()处获取堆栈 因此,请参考wiki=--algorythm for MixColumns(还有关于反向MixColumns的信息); 这里是我的MixColumns(): 受保护的静态函数MixColumns($s,$Nb){ $Nb=4; 对于($c=0;$c对于InverseMixColumns()),如维基百科页面所示,您有: r0 = 14a0 + 9a3 + 13a2 + 11a1 r1 = 14a1 + 9a0 + 13a3


我正在进行解密,编写反函数并在InvMixColumns()处获取堆栈
因此,请参考wiki=--algorythm for MixColumns(还有关于反向MixColumns的信息);

这里是我的MixColumns():

受保护的静态函数MixColumns($s,$Nb){
$Nb=4;

对于($c=0;$c对于
InverseMixColumns()
),如维基百科页面所示,您有:

r0 = 14a0 + 9a3 + 13a2 + 11a1
r1 = 14a1 + 9a0 + 13a3 + 11a2
r2 = 14a2 + 9a1 + 13a0 + 11a3
r3 = 14a3 + 9a2 + 13a1 + 11a0
加法只是XOR运算符
^

对于9、11、13和14的乘法,您可以定义一个乘法函数或不同的查找表,以便与这些数字进行乘法。您可以在wikipedia页面上找到这些表


对于函数,只需使用
x*y=log(exp(x)+exp(y))
和相同基数的对数和指数查找表。

对于
inverseMexColumns()
,如维基百科页面所示,您有:

r0 = 14a0 + 9a3 + 13a2 + 11a1
r1 = 14a1 + 9a0 + 13a3 + 11a2
r2 = 14a2 + 9a1 + 13a0 + 11a3
r3 = 14a3 + 9a2 + 13a1 + 11a0
加法只是XOR运算符
^

对于9、11、13和14的乘法,您可以定义一个乘法函数或不同的查找表,以便与这些数字进行乘法。您可以在wikipedia页面上找到这些表


至于函数,只需使用
x*y=log(exp(x)+exp(y))
和相同基数的对数和幂运算的查找表。

我们不会为您编写代码。显示您的尝试,我们可以尝试帮助修复它。“我需要找到”---这是一个面向开发者的社区,如果我看起来很自大的话,就不是面向金融学院的。我不知道该怎么做。我写《Rijndael》已经有20个小时了。我感到非常疲倦、饥饿等,没有太多时间来完成它,这就是我寻求帮助的原因。也许下次,不要等到任务到期前一天晚上才开始;-)我们不会为您编写代码。显示您尝试过的内容,我们可以尝试帮助您修复它。“我需要找到”---这是一个为开发者而设的社区,如果我看起来很自大的话,就不是为金融学院而设。我不知道该怎么做。我写《Rijndael》已经有20个小时了。我感到非常疲倦、饥饿等,没有太多时间来完成它,这就是我寻求帮助的原因。也许下次,不要等到任务到期前一天晚上才开始-)i、 e.我已经预先计算了表格和“r0=14a0+9a3+13a2+11a1”;所以,14*a0=?;不知道如何使用这些表格:(如果你有一个数组
MultiplesOf14
,它按
0*14
1*14
2*14
等顺序存储所有256个
14
的倍数,
14*a0
会变成
MultiplesOf14[a0]
你介意公布你对(其中一个)的定义吗?)数组?已经解决了,谢谢,@Dennis。“测试向量”是针对MixColumns的,而不是针对InvMixColumns的;天才应该在InvMixColumns下编写这些表……也就是说,我已经预先计算了表,“r0=14a0+9a3+13a2+11a1”;那么,14*a0=?;不知道如何使用这些表:(如果你有一个数组
MultiplesOf14
,它按
0*14
1*14
2*14
等顺序存储所有256个
14
的倍数,
14*a0
会变成
MultiplesOf14[a0]
你介意公布你对(其中一个)的定义吗?)数组?已经解决了,谢谢,@Dennis。“测试向量”是针对MixColumns的,不是针对InvMixColumns的;天才应该在InvMixColumns下编写这些表。。。
r0 = 14a0 + 9a3 + 13a2 + 11a1
r1 = 14a1 + 9a0 + 13a3 + 11a2
r2 = 14a2 + 9a1 + 13a0 + 11a3
r3 = 14a3 + 9a2 + 13a1 + 11a0