RC6

密码学中,RC6是由RC5衍生出来的对称密钥块密码。RC6是一种参数化算法,具有可变的块大小、可变的密钥大小和可变的轮数。RC是"Rivest Cipher"的缩写,或者说是"Ron's Code"的缩写。

1997年,NIST宣布开展竞赛,选择数据加密标准(DES)的继任者,称为高级加密标准(AES)。RC6是从RC5衍生出来的,以满足竞争要求,并被选为高级加密标准(AES)竞争五个决赛选手之一,但没有被选为标准。

为了提供不同的安全和效率水平,RC6允许选择块的大小:32位(仅用于实验和评估目的)、64位(用于替代DES)和128位(用于AES)。轮数可以从0到255,而密钥大小可以从0位到2040位不等。

RC6在结构上与RC5非常相似,可以看作是两个并行的RC5加密过程的交织。但是,RC6确实使用了RC5中没有的额外乘法运算,并且使用了4个b/4位工作寄存器(见feistel密码中明文块的分割),而不是RC5中的2个b/2位寄存器(b为块大小)。整数乘法是用来增加每轮所实现的扩散,这样就可以减少所需的轮数,提高密码的速度。之
所以使用四个工作寄存器而不是两个,主要是为了在32位CPU上进行优化。RC5的默认块大小是64位,而AES的默认块大小是128位。RC5只有两个工作寄存器。它在处理64位块时使用32位运算,在处理128位块时使用64位运算,所以要构建只使用32位运算的AES架构,需要四个工作寄存器。

RC6是一种专有的专利算法(由RSA安全公司的美国专利5,724,428和美国专利5,835,600),任何使用该算法的产品都可能需要支付许可和版税。它由Ron Rivest、Matt Robshaw、Ray Sidney和尹依群Lisa Yin设计,并提交给NESSIE和CRYPTREC项目。

问题和答案

问:什么是RC6?
答:RC6是由RC5衍生出来的一种对称密钥块密码。它是一种参数化的算法,具有可变的块大小、密钥大小和轮数。

问:谁设计了RC6?
答:RC6是由Ron Rivest, Matt Robshaw, Ray Sidney和Yiqun Lisa Yin设计的。

问:RC5和AES的默认块大小是多少?
答:RC5的默认块大小为64位,而AES的默认块大小为128位。

问:RC6的结构与RC5的结构相比如何?
答:RC6的结构与RC5非常相似,但它使用了后者所没有的额外乘法运算,以及四个b/4位工作寄存器,而不是两个b/2位寄存器。

问:为什么使用四个工作寄存器而不是两个,以便建立只使用32位操作的AES架构?
答:整数乘法是用来增加每轮的扩散,所以需要更少的轮数,可以提高速度。需要四个工作寄存器,因为在处理64位块时使用32位操作,在处理128位块时使用64位操作。

问:使用该算法的产品是否需要支付许可费或专利费?

答:是的,因为它是一种专有的专利算法(由RSA Security美国专利5,724,428和美国专利5,835,600),任何使用该算法的产品都可能需要支付许可和专利费。

AlegsaOnline.com - 2020 / 2023 - License CC3