RC2
在密码学中,RC2是一种对称密钥块密码。由Ronald Rivest于1987年设计。"RC"代表"Rivest Cipher",或者是"Ron's Code"。
RC2是一种64位的块密码,密钥大小可变,使用18轮。
轮回的排列方式为源头重飞网络,一种类型的16个轮回称为"混合轮回",由另一种类型的两个轮回交错排列,称为"捣碎轮回"。
18轮比赛采用以下交错顺序进行。
- 进行5轮搅拌。
- 进行1次捣鼓。
- 进行6轮搅拌。
- 进行1次捣鼓。
- 进行5轮搅拌。
RC2使用密钥扩展算法,根据所提供的"可变长度"输入密钥的每一个位,以复杂的方式产生一个由64(16位字)组成的扩展密钥。一轮混合运算由四次"混搭"变换的应用组成,如图所示。一轮混编是通过在其中加入一个扩展密钥的16位字来"混编"的(RFC2268)。
RC2容易受到使用234选择-明文攻击的相关密钥攻击(Kelsey等人,1997)。
RC2的开发是由Lotus公司赞助的,Lotus公司在经过国家安全局的评估后,寻求一种定制的密码作为Lotus Notes软件的一部分输出。NSA提出了几项修改建议,Ronald Rivest采纳了这些建议。经过进一步的谈判,该密码于1989年被批准出口。
与RC4一起,密钥大小为40位的RC2也受到了美国密码学出口法规的处理。现在,所有40位加密算法都已经过时了,因为它们很容易受到蛮力攻击的危险。
最初,该算法的细节是保密的 -- -- 是RSA安全公司的专利 -- -- 但在1996年1月29日,RC2的源代码被匿名地张贴在因特网的Usenet论坛sci.crypt上。早些时候,RC4也发生过类似的帖子。目前还不清楚发帖人是否能够获得规格,或者是否被反向设计。
RC2的混搭变换;一个混搭回合包括应用四次"混搭"变换。
问题和答案
问:什么是RC2?答:RC2是罗纳德-里弗斯特于1987年设计的一种对称密钥区块密码。它使用64位块大小和18轮加密。
问:"RC "代表什么?
答:"RC "代表 "Rivest Cipher",或者说,"Ron's Code"。
问:使用RC2时要进行多少轮加密?
答:当使用RC2时,要进行18轮--16轮混合轮与两轮捣毁轮交错进行。
问:密钥扩展算法是如何工作的?
答:密钥扩展算法产生一个由64个(16位)字组成的扩展密钥,取决于所提供的可变长度的输入密钥的每一位。
问:RC2容易受到什么类型的攻击?
答:RC2容易受到使用234个选择明文攻击的相关密钥攻击。
问:谁赞助了RC2的开发?
答:RC2的开发是由Lotus公司赞助的,他们正在寻求一种定制的密码,作为其Lotus Notes软件的一部分出口。