RC6

RC6
RC6算法的费斯妥函数
概述
设计者罗纳德·李维斯特,Matt Robshaw,Ray Sidney,Yiqun Lisa Yin
首次发布1998
衍生自RC5
认证AES决赛算法
密码细节
密钥长度128,192或256位
分组长度128位
结构费斯妥密码 (Type 2)[1]
重复回数20

密码学中,RC6Rivest 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月 (2017-01)[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]. (原始内容存档 (PDF)于2015-10-10). 
  • Beuchat, Jean-Luc. FPGA Implementations of the RC6 Block Cipher (PDF). [2018-09-27]. (原始内容 (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]. (原始内容存档于2015-08-10). 

参考资料

  1. ^ Hoang, Viet Tung; Rogaway, Phillip. On Generalized Feistel Networks. LNCS 6223. CRYPTO 2010. USA: Springer: 613–630. 2010 [2018-09-27]. (原始内容存档于2018-09-27). 
  2. ^ Confirmed: hacking tool leak came from “omnipotent” NSA-tied group. Ars Technica. August 16, 2016 [2018-09-27]. (原始内容存档于2017-06-06). 
  3. ^ These instructions guide the INSTALLATION of BLATSTING using ELIGIBLEBACHELOR via NOPEN tunnel.. [2016-08-16]. (原始内容存档于2019-02-17). 
  4. ^ 3.6.4 What are RC5 and RC6?. RSA Laboratories. [2015-08-02]. (原始内容存档于2015-07-08). 

外部链接

  • Cryptography - 256 bit Ciphers: Reference source code and submissions to international cryptographic designs contests. [2018-09-27]. (原始内容存档于2011-09-26). 
  • Symmetric Ciphers: RC6. Standard Cryptographic Algorithm Naming (SCAN). 2009-04-15 [2018-09-27]. (原始内容存档于2012-01-28). 
  • RC6® Block Cipher. RSA Laboratories. [2018-09-27]. (原始内容存档于2016-03-04). 
 
常见加密算法
次常见加密算法
  • Camellia
  • CAST-128英语CAST-128
  • IDEA
  • RC2英语RC2
  • RC5
  • SEED英语SEED
  • Skipjack英语Skipjack
  • TEA
  • XTEA
其他加密算法
  • 3-Way英语3-Way
  • ABC英语ABC (cipher)
  • Akelarre英语Akelarre (cipher)
  • Anubis英语Anubis (cipher)
  • ARIA英语ARIA (cipher)
  • BaseKing英语BaseKing
  • BassOmatic英语BassOmatic
  • BATON英语BATON
  • BEAR and LION英语BEAR and LION ciphers
  • CAST-256英语CAST-256
  • CIKS-1英语CIKS-1
  • CIPHERUNICORN-A英语CIPHERUNICORN-A
  • CIPHERUNICORN-E英语CIPHERUNICORN-E
  • CLEFIA英语CLEFIA
  • CMEA英语Cellular Message Encryption Algorithm
  • Cobra英语Cobra ciphers
  • COCONUT98英语COCONUT98
  • Crab英语Crab (cipher)
  • Cryptomeria/C2英语Cryptomeria cipher
  • CRYPTON英语CRYPTON (cipher)
  • CS-Cipher英语CS-Cipher
  • DEAL英语DEAL
  • DES-X英语DES-X
  • DFC英语DFC (cipher)
  • E2英语E2 (cipher)
  • FEAL英语FEAL
  • FEA-M英语FEA-M
  • FROG英语FROG
  • G-DES英语GDES
  • GOST英语GOST (block cipher)
  • Grand Cru英语Grand Cru (cipher)
  • Hasty Pudding cipher英语Hasty Pudding cipher
  • Hierocrypt英语Hierocrypt
  • ICE英语ICE (cipher)
  • IDEA NXT英语Idea NXT
  • Intel Cascade Cipher英语Intel Cascade Cipher
  • Iraqi英语Iraqi block cipher
  • KASUMI英语KASUMI (block cipher)
  • KeeLoq英语KeeLoq
  • KHAZAD英语KHAZAD
  • Khufu and Khafre英语Khufu and Khafre
  • KN-Cipher英语KN-Cipher
  • Ladder-DES英语Ladder-DES
  • Libelle英语Libelle (cipher)
  • LOKI97英语LOKI97
  • LOKI89/91英语LOKI
  • Lucifer英语Lucifer (cipher)
  • M6英语M6 (cipher)
  • M8英语M8 (cipher)
  • MacGuffin英语MacGuffin (cipher)
  • Madryga英语Madryga
  • MAGENTA英语MAGENTA
  • MARS英语MARS (cipher)
  • Mercy英语Mercy (cipher)
  • MESH英语MESH (cipher)
  • MISTY1英语MISTY1
  • MMB英语MMB
  • MULTI2英语MULTI2
  • MultiSwap英语MultiSwap
  • New Data Seal英语New Data Seal
  • NewDES英语NewDES
  • Nimbus英语Nimbus (cipher)
  • NOEKEON英语NOEKEON
  • NUSH英语NUSH
  • Q英语Q (cipher)
  • RC6
  • REDOC英语REDOC
  • Red Pike英语Red Pike (cipher)
  • S-1英语S-1 block cipher
  • SAFER英语SAFER
  • SAVILLE英语SAVILLE
  • SC2000英语SC2000
  • SHACAL英语SHACAL
  • SHARK
  • SM4
  • Speck
  • Spectr-H64英语Spectr-H64
  • Square英语Square (cipher)
  • SXAL/MBAL英语SXAL/MBAL
  • Threefish英语Threefish
  • Treyfer英语Treyfer
  • UES英语UES (cipher)
  • Xenon英语Xenon (cipher)
  • xmx英语xmx
  • XXTEA
  • Zodiac英语Zodiac (cipher)
密码设计
攻击(密码分析
  • 穷举攻击/蛮力攻击EFF DES破解机
  • 中途相遇攻击Biclique攻击英语Biclique attack · 三子集中途相遇攻击英语Biclique attack
  • 线性密码分析英语Linear cryptanalysis堆积引理英语Piling-up lemma
  • 差分密码分析不可能差分密码分析英语Impossible differential cryptanalysis
  • 截断差分分析英语Truncated differential cryptanalysis
  • 高阶差分分析英语Higher-order differential cryptanalysis
  • 差分-线性攻击英语Differential-linear
  • 区分攻击英语Distinguishing attack已知密钥区分攻击英语Known-key distinguishing attack
  • 积分密码分析英语Integral cryptanalysis
  • 回力镖攻击英语Boomerang attack
  • n密码分析英语Mod n cryptanalysis
  • 相关密钥攻击英语Related-key attack
  • 滑动攻击英语Slide attack
  • 回旋密码分析英语Rotational cryptanalysis
  • 計時攻擊英语Timing attack
  • XSL攻击英语XSL attack
  • 插值攻擊
  • Partitioning英语Partitioning cryptanalysis
  • 戴维斯攻击英语Davies' attack
  • 回弹攻击英语Rebound attack
  • 弱密钥英语Weak key
  • 肯德尔等级相关系数英语Kendall tau rank correlation coefficient
  • 卡方检验
  • 时间、内存、数据取舍攻击英语Time/memory/data tradeoff attack
密码标准
工作方式
  • 分类 分类
  • 主题 主题
  • 专题 专题