对称密钥加密:使用相同的密钥加密和解密
對稱密鑰演算法 (英語:Symmetric-key algorithm )又稱為對稱加密 、私鑰加密 、共享密鑰加密 ,是密碼學 中的一類加密演算法。這類演算法在加密和解密時使用相同的密鑰,或是使用兩個可以簡單地相互推算的密鑰。事实上,這組密鑰成為在兩個或多個成員間的共同祕密,以便維持專屬的通訊聯繫[ 1] 。與公开密钥加密 相比,要求雙方取得相同的密鑰是對稱密鑰加密的主要缺點之一[ 2] 。
对称加密的速度比公钥加密 快很多,在很多场合都需要对称加密。[ 3]
类型
对称加密可使用流密码 或分组密码 。[ 4]
流密码逐位元 (通常是逐字节 )地或逐字母(替换密码)加密消息。例如ChaCha20 。虽然替换密码 是知名的密码,但可以使用频率分析 轻松解密。[ 5]
分组密码采用多个位并将其加密为单个单元,填充明文以达到块大小的倍数。美国国家标准与技术研究院 (NIST)于2001年12月批准的高级加密标准 (AES) 算法使用128位块。
实现
常见的对称密钥算法有Twofish 、Serpent 、AES (Rijndael)、Camellia 、Salsa20 、ChaCha20 、Blowfish 、CAST5 、Kuznyechik 、RC4 、DES 、3DES 、Skipjack 、SAFER 和IDEA 。[ 6]
作为密码原语
对称加密通常用于实现除加密之外的其他密码原语 。[來源請求]
加密消息并不能保证消息在加密状态下保持不变。因此,通常会向密文中添加消息验证码 ,以确保接收方能够注意到对密文的更改。消息验证码可以使用认证加密 密码构建(例如AES-GCM )。
但是,除非涉及其他方,否则对称密码不能用于不可否认性 目的。[ 7] 请参阅ISO/IEC 13888-2 标准 (页面存档备份 ,存于互联网档案馆 )。
另一个应用是从分组密码构建哈希函数 。有关几种此类方法的描述,请参见单向压缩函数 。
对称密码的构造
许多现代分组密码都基于霍斯特·费斯妥 提出的一种结构。费斯泰尔的构造可以从其他本身不可逆的函数构建可逆函数。[來源請求]
对称密码的安全性
历史上,对称密码容易受到已知明文攻击 、选择明文攻击 、差分密码分析 和线性密码分析 的影响。仔细构建每个轮函数 可以大大降低攻击成功的几率。[來源請求] 还可以增加密钥长度或加密过程中的轮数,以更好地防止攻击。然而,这往往会增加处理能力,并由于系统需要执行的操作量而降低进程运行速度。[ 8]
大多数现代对称密钥算法似乎能够抵抗后量子密码学 的威胁。[ 9] 量子计算机 将指数级地提高这些密码的解码速度;值得注意的是,Grover算法 将传统暴力破解 所需时间缩短至平方根,尽管可以通过将密钥长度加倍来弥补这些漏洞。[ 10] 例如,128位AES密码将无法抵御此类攻击,因为它会将测试所有可能迭代所需的时间从超过1000京年(1019 年)减少到大约六个月。相比之下,量子计算机解码256位AES密码所需的时间仍然与传统计算机解码128位AES密码所需的时间相同。[ 11] 因此,AES-256被认为是“抗量子”(英語:quantum resistant )的。[ 12] [ 13]
密钥管理
密钥交换
对称密码算法要求消息的发送方和接收方都拥有相同的密钥。所有早期的密码系统都需要发送方或接收方以某种方式通过物理安全通道接收该密钥的副本。
几乎所有现代密码系统仍然在内部使用对称密钥算法来加密大部分消息,但它们通过使用迪菲-赫尔曼密钥交换 或其他一些公钥协议 来安全地就每个会话/对话的新密钥达成一致(前向保密),从而消除了对物理安全通道的需求。
密钥生成
当与用于密钥传输的非对称密码一起使用时,伪随机密钥生成器 几乎总是用于生成对称密码会话密钥。然而,这些生成器或其初始化向量 中缺乏随机性是灾难性的,并且在过去导致了密码分析方面的突破。因此,实现必须使用高熵 的来源进行初始化非常重要。[ 14] [ 15] [ 16]
互逆密码
互逆密码是一种密码,就像将明文 输入密码学 系统以获得密文 一样,可以将密文输入到系统中的相同位置以获得明文。互易密码有时也称为自反密码 。[ 17] [ 18]
实际上,所有机械密码机都实现了互逆密码,即对每个输入字母进行数学对合 。无需设计两种机器(一种用于加密,一种用于解密),所有机器都可以相同,并且可以以相同的方式设置(密钥)。[ 19]
互逆密码的例子包括:
所有现代密码中的大多数都可以归类为流密码 (其中大多数使用互易异或密码 组合器)或分组密码 (其中大多数使用费斯妥密码 或莱-马西结构 ,并在每一轮中进行互易变换)。[來源請求]
參見
參考文獻
^ Delfs, Hans & Knebl, Helmut. Symmetric-key encryption. Introduction to cryptography: principles and applications . Springer. 2007 [2014-01-20 ] . ISBN 9783540492436 . (原始内容存档 于2017-01-03).
^ Mullen, Gary & Mummert, Carl. Finite fields and applications . American Mathematical Society. 2007: 112 [2014-01-20 ] . ISBN 9780821844182 . (原始内容存档 于2020-07-18).
^ William Stallings. 操作系统——精髓与设计原理 . 2007: 530 . ISBN 7-121-02196-X .
^ Pelzl & Paar. Understanding Cryptography . Berlin: Springer-Verlag. 2010: 30 . Bibcode:2010uncr.book.....P .
^ Bellare, Mihir; Rogaway, Phillip. Introduction to Modern Cryptography (PDF) . 2005 [2024-10-05 ] . (原始内容存档 (PDF) 于2024-11-16) (English) .
^ Roeder, Tom. Symmetric-Key Cryptography . www.cs.cornell.edu. [2017-02-05 ] . (原始内容存档 于2017-12-21) (英语) .
^ ISO/IEC 13888-2:2010 . ISO. [2020-02-04 ] (英语) .
^ David R. Mirza Ahmad; Ryan Russell. Hack proofing your network 2nd. Rockland, MA: Syngress. 2002: 165–203. ISBN 1-932266-18-6 . OCLC 51564102 .
^ Daniel J. Bernstein . Introduction to post-quantum cryptography (PDF) . Post-Quantum Cryptography. 2009 [2024-10-05 ] . (原始内容存档 (PDF) 于2009-09-20).
^ Daniel J. Bernstein . Grover vs. McEliece (PDF) . 2010-03-03 [2024-10-05 ] . (原始内容存档 (PDF) 于2024-11-19).
^ Wood, Lamont. The Clock Is Ticking for Encryption . Computerworld. 2011-03-21 [2022-12-05 ] . (原始内容存档 于2024-01-30) (英语) .
^ O'Shea, Dan. AES-256 joins the quantum resistance . Fierce Electronics. 2022-04-29 [2022-12-05 ] . (原始内容存档 于2023-02-28) (英语) .
^ Weissbaum, François; Lugrin, Thomas, Mulder, Valentin; Mermoud, Alain; Lenders, Vincent; Tellenbach, Bernhard , 编, Symmetric Cryptography , Trends in Data Protection and Encryption Technologies (Cham: Springer Nature Switzerland), 2023: 7–10 [2023-09-12 ] , ISBN 978-3-031-33386-6 , doi:10.1007/978-3-031-33386-6_2 (英语)
^ Ian Goldberg and David Wagner.
"Randomness and the Netscape Browser" (页面存档备份 ,存于互联网档案馆 ).
January 1996 Dr. Dobb's Journal.
quote:
"it is vital that the secret keys be generated from an unpredictable random-number source."
^
Ristenpart, Thomas; Yilek, Scott. When Good Randomness Goes Bad: Virtual Machine Reset Vulnerabilities and Hedging Deployed Cryptography (PDF) . NDSS Symposium 2010. 2010. Random number generators (RNGs) are consistently a weak link in the secure use of cryptography.
^ Symmetric Cryptography . James. 2006-03-11 [2024-10-05 ] . (原始内容存档 于2023-09-28).
^ Paul Reuvers and Marc Simons.
Crypto Museum.
"Enigma Uhr" (页面存档备份 ,存于互联网档案馆 ).
2009.
^ Chris Christensen.
"Simple Substitution Ciphers" (页面存档备份 ,存于互联网档案馆 ).
2006.
^ Greg Goebel.
"The Mechanization of Ciphers" (页面存档备份 ,存于互联网档案馆 ).
2018.
^
"... the true Beaufort cipher. Notice that we have reciprocal encipherment ; encipherment and decipherment are identically the same thing."
--
Helen F. Gaines.
"Cryptanalysis: A Study of Ciphers and Their Solution" .
2014.
p. 121.
^ Greg Goebel.
"The Mechanization of Ciphers" (页面存档备份 ,存于互联网档案馆 ).
2018.
^
Friedrich L. Bauer.
"Decrypted Secrets: Methods and Maxims of Cryptology" .
2006.
p. 144
^
David Salomon.
"Coding for Data and Computer Communications" .
2006.
p. 245
^ Greg Goebel.
"US Codebreakers In The Shadow Of War" (页面存档备份 ,存于互联网档案馆 ).
2018.