用户:Blackbinary1024/RC6
The Feistel function of the RC6 algorithm. | |
概述 | |
---|---|
设计者 | Ron Rivest, Matt Robshaw, Ray Sidney, Yiqun Lisa Yin |
首次发布 | 1998 |
衍生自 | RC5 |
认证 | AES finalist |
密码细节 | |
密钥长度 | 128, 192, or 256 bits |
分组长度 | 128 bits |
结构 | Feistel network (Type 2)[1] |
重复回数 | 20 |
在密码学中, 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“植入”代码中可能使用了RC6
2016年8月,一些被认为是来自 方程式组织 或 国家安全局 的代码被公开,这些代码"植入"了多种网络安全设备。[2] 所附说明显示,这些程序使用了RC6以确保网络通信的机密性。[3]
使用许可
RC6没有被AES选择,因为它不能保证RC6是免费的。 截至2017年1月[update],来自RSA实验室的RC6的设计者们在他们的官方网站上声明:[4]
- "我们强调, 如果 RC6被选为AES,在产品中使用该算法,RSA公司将不 要求任何许可证或授权费用"。
强调的词"如果"表明,RSA安全公司可能对任何使用了RC6的产品要求授权许可和支付授权费。 RC6是一个专利加密算法(美国专利5,724,428 , 美国专利5,835,600);但是,专利已经在2015年到2017年间过期。
注释
- Pavan, R.L.; Robshaw, M.J.B.; Sidney, R.; Yin., Y.L. The RC6 Block Cipher (PDF). v1.1. 1998-08-20 [2015-08-02].
- Beuchat, Jean-Luc. FPGA Implementations of the RC6 Block Cipher (PDF). (原始内容 (PDF)存档于2006-05-05).
- Thompson, Iain. How the NSA hacks PCs, phones, routers, hard disks 'at speed of light': Spy tech catalog leaks. The Register. 2013-12-31 [2015-08-02].
参考资料
- ^ Hoang, Viet Tung; Rogaway, Phillip. On Generalized Feistel Networks. LNCS 6223. CRYPTO 2010. USA: Springer: 613–630. 2010.
- ^ Confirmed: hacking tool leak came from “omnipotent” NSA-tied group. Ars Technica. August 16, 2016.
- ^ These instructions guide the INSTALLATION of BLATSTING using ELIGIBLEBACHELOR via NOPEN tunnel.. [2016-08-16].
- ^ 3.6.4 What are RC5 and RC6?. RSA Laboratories. [2015-08-02].
外部链接
- Symmetric Ciphers: RC6. Standard Cryptographic Algorithm Naming (SCAN). 2009-04-15.
[[Category:分组密码]]