我正在使用 javascript 实现 Keccak-f ι 步骤,公式如下:
# ι step
A[0,0] = A[0,0] xor RC
RC 是十六进制的圆形常量数组,而 A[0,0] 是二进制的单个位
问题出现在以下行
A[0,0] = 0, RC = 0x0000000000008082
当我使用代码将 RC 转换为二进制时:
let temp = (parseInt(RC, 16).toString(2)).padStart(8, '0');//110010100010011000
A[0][0] = A[0][0] ^ temp; //16975297
结果不是一个位,而是一个大数字 16975297,但我需要一个位。
我试图将大数 16975297 转换为二进制,但它也不是一个位。我需要一些帮助,谢谢!