密码学中,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项目。