js中的二进制操作

时间:2018-06-14 21:50:18

标签: javascript binary aes bitwise-operators rijndael

我一直在试图弄清楚如何在js中实现关于rijndael算法的一些东西。一个特定的步骤(mixColumns)需要弄乱二进制数。我决定遵循一个指南,并在特定的点上执行此操作:

必须将d4 (hexadecimal)乘以2。二进制文件中的d4现为1101 0100,并且已转换为1010 1000。我猜这是因为他左移了数字,所以最左边的数字消失了,右边推了一个0。之后它会1010 1000 XOR 0001 1011,然后结果为:1011 0011 我不明白那些XOR和0001 1011来自哪里。 我试图做10101000 ^ 00011011,但我没有设法得到相同的结果。 有谁可以解释我为什么?请尝试尽可能清楚,因为我是新手中的二进制文件和这些操作。

(另外,对不起我的英语或不完美(这是我在这里的第一个问题));

顺便说一下,我也试图理解这个:

{03} . {bf} = {10 XOR 01} . {1011 1111}
 = {1011 1111 . 10} XOR {1011 1111 . 01}
 = {1011 1111 . 10} XOR {1011 1111}
 = 0111 1110 XOR 0001 1011 XOR 1011 1111
 = 1101 1010 (ans)

它或多或少地执行相同的操作,它将bf3转换为二进制,然后它变为10 XOR 01 ..然后......我不知道。 。 离解决方案还很远。

我也想知道是否有最简单的方法可以做它的作用 感谢

0 个答案:

没有答案