我需要帮助来理解RC6是如何工作的。许多站点显示,RC6的最大密钥大小为2040位(255个字节)。我也可以在128位块变体中有0.255轮和4乘32位字,或者在256位变体中有4乘64位字。对于这个问题,假设有20轮
如果展开,块状S,0,�,2R +3,=>,max = 2*20+3=43 *4字节=172字节。如果真正有可能拥有最多255个字节的键,那么数组S太小了。我的计算哪里出错了?
输入:用户提供的b字节键预加载到c字数组L0,�,c-1中。
回合数r
输出:W位圆键S0,�,2R +3
操作步骤:
S[0] = Pw
for i = 1 to 2r + 3 do
S[i]=S[i-1]+Qw
A=B=i=j=0
v=3 ? max{c, 2r+4}
for s=1 to v do
{
A=S[i]=(S[i]+A+B)<<ɛ
B=L[j]=(L[j]+A+B)<<<(A+B)
i=(i+1) mod (2r+4)
j=(j+1) mod c
}发布于 2016-04-09 13:28:50
我在另一个社区的答覆副本:在RC6规范中(参见de.wikiparia.org/wiki/rc6) S*指定了一个2r+4圆键数组,其大小可以在range 万中选择。它不是2r+4元素的数组(每个元素都是4个字节的单词)。
https://crypto.stackexchange.com/questions/34343
复制相似问题