RC6
在密码学中,RC6(Rivest cipher 6)是一个从RC5衍生而来的对称分组加密算法。它由罗纳德·李维斯特、Matt Robshaw、Ray Sidney以及 Ray Sidney设计,用以满足與高级加密标准(AES)竞赛的要求。这个算法的是当时五个决赛候选算法之一,并且还提交给了NESSIE和CRYPTREC项目。这是一个专利算法,专利由RSA公司申请。 RC6拥有128位的块大小,支持128、192、256位乃至2040位的密钥长度。像RC5一样,RC6是可以被参数化的。它也因而支持变长的分组大小、密钥长度以及加密轮数。RC6和RC5在很多方面相似,例如结构、使用基于数据的置换规则、取模加法以及异或操作。事实上,RC6可以被看做是交织的两组平行的RC5加密。RC6使用了在RC5加密算法中并没有出现的乘法运算,这个运算是为了让置换基于字中每一位,而不是其中的几位。 加密和解密请注意,密钥扩展算法几乎是和RC5相同的。 唯一的区别是,对于RC6来说,加密密钥中更多的字来自于用户提供的密钥。 // Encryption/Decryption with RC6-w/r/b
//
// Input: Plaintext stored in four w-bit input registers A, B, C & D
// r is the number of rounds
// w-bit round keys S[0, ... , 2r + 3]
//
// Output: Ciphertext stored in A, B, C, D
//
// '''Encryption Procedure:'''
B = B + S[0]
D = D + S[1]
for i = 1 to r do
{
t = (B*(2B + 1)) <<< lg w
u = (D*(2D + 1)) <<< lg w
A = ((A ⊕ t) <<< u) + S[2i]
C = ((C ⊕ u) <<< t) + S[2i + 1]
(A, B, C, D) = (B, C, D, A)
}
A = A + S[2r + 2]
C = C + S[2r + 3]
// '''Decryption Procedure:'''
C = C - S[2r + 3]
A = A - S[2r + 2]
for i = r downto 1 do
{
(A, B, C, D) = (D, A, B, C)
u = (D*(2D + 1)) <<< lg w
t = (B*(2B + 1)) <<< lg w
C = ((C - S[2i + 1]) >>> t) ⊕ u
A = ((A - S[2i]) >>> u) ⊕ t
}
D = D - S[1]
B = B - S[0]
NSA“植入”代码中可能使用了RC62016年8月,一些被认为是来自方程式组织或国家安全局的代码被公开,这些代码"植入"了多种网络安全设备。[2]所附说明显示,这些程序使用了RC6以确保网络通信的机密性。[3] 使用许可RC6没有被AES选择,因为它不能保证RC6是免费的。截至2017年1月[update],来自RSA实验室的RC6的设计者们在他们的官方网站上声明:[4]
强调的词"如果"表明,RSA安全公司可能对任何使用了RC6的产品要求授权许可和支付授权费。RC6是一个专利加密算法(美国专利5,724,428,美国专利5,835,600);但是,专利已经在2015年到2017年间过期。 注释
参考资料
外部链接
|
Index:
pl ar de en es fr it arz nl ja pt ceb sv uk vi war zh ru af ast az bg zh-min-nan bn be ca cs cy da et el eo eu fa gl ko hi hr id he ka la lv lt hu mk ms min no nn ce uz kk ro simple sk sl sr sh fi ta tt th tg azb tr ur zh-yue hy my ace als am an hyw ban bjn map-bms ba be-tarask bcl bpy bar bs br cv nv eml hif fo fy ga gd gu hak ha hsb io ig ilo ia ie os is jv kn ht ku ckb ky mrj lb lij li lmo mai mg ml zh-classical mr xmf mzn cdo mn nap new ne frr oc mhr or as pa pnb ps pms nds crh qu sa sah sco sq scn si sd szl su sw tl shn te bug vec vo wa wuu yi yo diq bat-smg zu lad kbd ang smn ab roa-rup frp arc gn av ay bh bi bo bxr cbk-zam co za dag ary se pdc dv dsb myv ext fur gv gag inh ki glk gan guw xal haw rw kbp pam csb kw km kv koi kg gom ks gcr lo lbe ltg lez nia ln jbo lg mt mi tw mwl mdf mnw nqo fj nah na nds-nl nrm nov om pi pag pap pfl pcd krc kaa ksh rm rue sm sat sc trv stq nso sn cu so srn kab roa-tara tet tpi to chr tum tk tyv udm ug vep fiu-vro vls wo xh zea ty ak bm ch ny ee ff got iu ik kl mad cr pih ami pwn pnt dz rmy rn sg st tn ss ti din chy ts kcg ve