首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >RC2密钥计划

RC2密钥计划
EN

Stack Overflow用户
提问于 2010-05-31 01:22:11
回答 1查看 507关注 0票数 1

谁能解释一下RC2密钥调度是如何工作的(特别是它的开始部分)?我知道它使用小端,但我的实现对除"0000 0000 0000“之外的任何键都不起作用。

代码语言:javascript
复制
Test Vector
Key = 88bc a90e 9087 5a
Plaintext = 0000 0000 0000 0000
Ciphertext = 6ccf 4308 974c 267f

我假设对密钥所做的第一件事是将它改为

代码语言:javascript
复制
bc88 0ea9 8790 5a

是的,我知道RC2甚至不再使用了,但我仍然想知道

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-05-31 04:51:14

RFC说:

密钥扩展算法首先将提供的T字节密钥放入密钥缓冲区的字节L,...,LT-1中。

所以如果你的密钥是88bc a90e 9087 5a,你就会得到L[0]=0x88, L[1]=0xbc, ... L[6]=0x5a

这里不需要考虑任何字节顺序。

如果你想把key-buffer当做16位字来处理,你会得到:

Ki = L2*i + 256*L2*i+1

K[0] = 0xbc88, K[1] = 0xa90e, K[2] = 0x8790。L7只在稍后的键扩展步骤中分配,所以严格地说,K3在这一点上是未定义的。但是,您可以随意选择您想要的任何值,因为这对算法没有任何影响。如果选择0,则会得到K[3] = 0x005a

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2939580

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档