mirror of
https://github.com/veracrypt/VeraCrypt.git
synced 2026-01-02 03:49:44 -06:00
Reorder SM4-based cascade ciphers: apply SM4 as the final stage following external review.
The cascade order has been updated so that SM4 is applied after the other cipher(s) (e.g., Serpent). This change reflects standard cryptanalytic guidance, which shows that the overall strength of a cascade is limited by the first encryption stage. Given that SM4 uses a 128-bit key, its post-quantum brute-force resistance is lower than ciphers with a 256-bit key (such as Serpent). By placing SM4 last, we ensure that any potential weakness in SM4 cannot reduce the security margin provided by the stronger cipher.
This commit is contained in:
@@ -87,17 +87,17 @@
|
||||
<em>Режимы работы</em></a>). Каждый блок размером 128 бит сначала шифруется алгоритмом Serpent (с ключом размером 256 бит) в режиме XTS, а затем алгоритмом Twofish (с ключом размером 256 бит) в режиме XTS. Каждый из этих каскадных шифров использует свой собственный ключ. Все ключи шифрования не зависят друг от друга
|
||||
(обратите внимание, что ключи заголовка тоже независимы, хотя и получены в результате формирования одного пароля – см. раздел
|
||||
<a href="Header Key Derivation.html"><em>Формирование ключа заголовка, соль и количество итераций</em></a>). Информация о каждом отдельном шифре приведена выше.</p>
|
||||
<h2>Kuznyechik-SM4</h2>
|
||||
<h2>SM4-Kuznyechik</h2>
|
||||
<p>
|
||||
Последовательно выполняемые (каскадом) [15, 16] два шифра, работающие в режиме XTS (см. раздел
|
||||
<a href="Modes%20of%20Operation.html"><em>Режимы работы</em></a>). Каждый блок размером 128 бит сначала шифруется алгоритмом SM4 (с ключом размером 128 бит) в режиме XTS, а затем алгоритмом Kuznyechik (с ключом размером 256 бит) в режиме XTS. Каждый из этих каскадных шифров использует свой собственный ключ. Все ключи шифрования не зависят друг от друга (обратите внимание, что ключи заголовка тоже независимы, хотя и получены в результате формирования одного пароля – см. раздел
|
||||
<a href="Modes%20of%20Operation.html"><em>Режимы работы</em></a>). Каждый блок размером 128 бит сначала шифруется алгоритмом Kuznyechik (с ключом размером 256 бит) в режиме XTS, а затем алгоритмом SM4 (с ключом размером 128 бит) в режиме XTS. Каждый из этих каскадных шифров использует свой собственный ключ. Все ключи шифрования не зависят друг от друга (обратите внимание, что ключи заголовка тоже независимы, хотя и получены в результате формирования одного пароля – см. раздел
|
||||
<a href="Header Key Derivation.html"><em>Формирование ключа заголовка, соль и количество итераций</em></a>). Информация о каждом отдельном шифре приведена выше.
|
||||
</p>
|
||||
|
||||
<h2>Serpent-SM4</h2>
|
||||
<h2>SM4-Serpent</h2>
|
||||
<p>
|
||||
Последовательно выполняемые (каскадом) [15, 16] два шифра, работающие в режиме XTS (см. раздел
|
||||
<a href="Modes%20of%20Operation.html"><em>Режимы работы</em></a>). Каждый блок размером 128 бит сначала шифруется алгоритмом SM4 (с ключом размером 128 бит) в режиме XTS, а затем алгоритмом Serpent (с ключом размером 256 бит) в режиме XTS. Каждый из этих каскадных шифров использует свой собственный ключ. Все ключи шифрования не зависят друг от друга (обратите внимание, что ключи заголовка тоже независимы, хотя и получены в результате формирования одного пароля – см. раздел
|
||||
<a href="Modes%20of%20Operation.html"><em>Режимы работы</em></a>). Каждый блок размером 128 бит сначала шифруется алгоритмом Serpent (с ключом размером 256 бит) в режиме XTS, а затем алгоритмом SM4 (с ключом размером 128 бит) в режиме XTS. Каждый из этих каскадных шифров использует свой собственный ключ. Все ключи шифрования не зависят друг от друга (обратите внимание, что ключи заголовка тоже независимы, хотя и получены в результате формирования одного пароля – см. раздел
|
||||
<a href="Header Key Derivation.html"><em>Формирование ключа заголовка, соль и количество итераций</em></a>). Информация о каждом отдельном шифре приведена выше.
|
||||
</p>
|
||||
|
||||
@@ -108,10 +108,10 @@
|
||||
<a href="Header Key Derivation.html"><em>Формирование ключа заголовка, соль и количество итераций</em></a>). Информация о каждом отдельном шифре приведена выше.
|
||||
</p>
|
||||
|
||||
<h2>Twofish-Serpent-SM4</h2>
|
||||
<h2>SM4-Twofish-Serpent</h2>
|
||||
<p>
|
||||
Последовательно выполняемые (каскадом) [15, 16] три шифра, работающие в режиме XTS (см. раздел
|
||||
<a href="Modes%20of%20Operation.html"><em>Режимы работы</em></a>). Каждый блок размером 128 бит сначала шифруется алгоритмом SM4 (с ключом размером 128 бит) в режиме XTS, затем алгоритмом Serpent (с ключом размером 256 бит) в режиме XTS, и, наконец, алгоритмом Twofish (с ключом размером 256 бит) в режиме XTS. Каждый из этих каскадных шифров использует свой собственный ключ. Все ключи шифрования не зависят друг от друга (обратите внимание, что ключи заголовка тоже независимы, хотя и получены в результате формирования одного пароля – см. раздел
|
||||
<a href="Modes%20of%20Operation.html"><em>Режимы работы</em></a>). Каждый блок размером 128 бит сначала шифруется алгоритмом Serpent (с ключом размером 256 бит) в режиме XTS, затем алгоритмом Twofish (с ключом размером 256 бит) в режиме XTS, и, наконец, алгоритмом SM4 (с ключом размером 128 бит) в режиме XTS. Каждый из этих каскадных шифров использует свой собственный ключ. Все ключи шифрования не зависят друг от друга (обратите внимание, что ключи заголовка тоже независимы, хотя и получены в результате формирования одного пароля – см. раздел
|
||||
<a href="Header Key Derivation.html"><em>Формирование ключа заголовка, соль и количество итераций</em></a>). Информация о каждом отдельном шифре приведена выше.
|
||||
</p>
|
||||
|
||||
|
||||
@@ -264,11 +264,11 @@ XTS</td>
|
||||
|
||||
<tr style="text-align:left">
|
||||
<td style="color:#000000; font-size:11px; line-height:13px; font-family:Verdana,Arial,Helvetica,sans-serif; text-align:center; vertical-align:middle; border-width:0px 1px 0px 0px; border-style:none solid solid none; padding:5px; border-color:white #000000 #ffffff white">
|
||||
<a href="Cascades.html" style="color:#0080c0; text-decoration:none">Kuznyechik-SM4</a></td>
|
||||
<a href="Cascades.html" style="color:#0080c0; text-decoration:none">SM4-Kuznyechik</a></td>
|
||||
<td style="color:#000000; font-size:11px; line-height:13px; font-family:Verdana,Arial,Helvetica,sans-serif; text-align:center; vertical-align:middle; border-width:0px 1px 0px 0px; border-style:none solid solid none; padding:5px; border-color:white #000000 #ffffff white">
|
||||
</td>
|
||||
<td style="color:#000000; font-size:11px; line-height:13px; font-family:Verdana,Arial,Helvetica,sans-serif; text-align:center; vertical-align:middle; border-width:0px 1px 0px 0px; border-style:none solid solid none; padding:5px; border-color:white #000000 #ffffff white">
|
||||
256; 128</td>
|
||||
128; 256</td>
|
||||
<td style="color:#000000; font-size:11px; line-height:13px; font-family:Verdana,Arial,Helvetica,sans-serif; text-align:center; vertical-align:middle; border-width:0px 1px 0px 0px; border-style:none solid solid none; padding:5px; border-color:white #000000 #ffffff white">
|
||||
128</td>
|
||||
<td style="color:#000000; font-size:11px; line-height:13px; font-family:Verdana,Arial,Helvetica,sans-serif; text-align:center; vertical-align:middle; border-width:0px 1px 0px 0px; border-style:none solid solid none; padding:5px; border-color:white #000000 #ffffff white">
|
||||
@@ -277,11 +277,11 @@ XTS</td>
|
||||
|
||||
<tr style="text-align:left">
|
||||
<td style="color:#000000; font-size:11px; line-height:13px; font-family:Verdana,Arial,Helvetica,sans-serif; text-align:center; vertical-align:middle; border-width:0px 1px 0px 0px; border-style:none solid solid none; padding:5px; border-color:white #000000 #ffffff white">
|
||||
<a href="Cascades.html" style="color:#0080c0; text-decoration:none">Serpent-SM4</a></td>
|
||||
<a href="Cascades.html" style="color:#0080c0; text-decoration:none">SM4-Serpent</a></td>
|
||||
<td style="color:#000000; font-size:11px; line-height:13px; font-family:Verdana,Arial,Helvetica,sans-serif; text-align:center; vertical-align:middle; border-width:0px 1px 0px 0px; border-style:none solid solid none; padding:5px; border-color:white #000000 #ffffff white">
|
||||
</td>
|
||||
<td style="color:#000000; font-size:11px; line-height:13px; font-family:Verdana,Arial,Helvetica,sans-serif; text-align:center; vertical-align:middle; border-width:0px 1px 0px 0px; border-style:none solid solid none; padding:5px; border-color:white #000000 #ffffff white">
|
||||
256; 128</td>
|
||||
128; 256</td>
|
||||
<td style="color:#000000; font-size:11px; line-height:13px; font-family:Verdana,Arial,Helvetica,sans-serif; text-align:center; vertical-align:middle; border-width:0px 1px 0px 0px; border-style:none solid solid none; padding:5px; border-color:white #000000 #ffffff white">
|
||||
128</td>
|
||||
<td style="color:#000000; font-size:11px; line-height:13px; font-family:Verdana,Arial,Helvetica,sans-serif; text-align:center; vertical-align:middle; border-width:0px 1px 0px 0px; border-style:none solid solid none; padding:5px; border-color:white #000000 #ffffff white">
|
||||
@@ -303,11 +303,11 @@ XTS</td>
|
||||
|
||||
<tr style="text-align:left">
|
||||
<td style="color:#000000; font-size:11px; line-height:13px; font-family:Verdana,Arial,Helvetica,sans-serif; text-align:center; vertical-align:middle; border-width:0px 1px 0px 0px; border-style:none solid solid none; padding:5px; border-color:white #000000 #ffffff white">
|
||||
<a href="Cascades.html" style="color:#0080c0; text-decoration:none">Twofish-Serpent-SM4</a></td>
|
||||
<a href="Cascades.html" style="color:#0080c0; text-decoration:none">SM4-Twofish-Serpent</a></td>
|
||||
<td style="color:#000000; font-size:11px; line-height:13px; font-family:Verdana,Arial,Helvetica,sans-serif; text-align:center; vertical-align:middle; border-width:0px 1px 0px 0px; border-style:none solid solid none; padding:5px; border-color:white #000000 #ffffff white">
|
||||
</td>
|
||||
<td style="color:#000000; font-size:11px; line-height:13px; font-family:Verdana,Arial,Helvetica,sans-serif; text-align:center; vertical-align:middle; border-width:0px 1px 0px 0px; border-style:none solid solid none; padding:5px; border-color:white #000000 #ffffff white">
|
||||
256; 256; 128</td>
|
||||
128; 256; 256</td>
|
||||
<td style="color:#000000; font-size:11px; line-height:13px; font-family:Verdana,Arial,Helvetica,sans-serif; text-align:center; vertical-align:middle; border-width:0px 1px 0px 0px; border-style:none solid solid none; padding:5px; border-color:white #000000 #ffffff white">
|
||||
128</td>
|
||||
<td style="color:#000000; font-size:11px; line-height:13px; font-family:Verdana,Arial,Helvetica,sans-serif; text-align:center; vertical-align:middle; border-width:0px 1px 0px 0px; border-style:none solid solid none; padding:5px; border-color:white #000000 #ffffff white">
|
||||
|
||||
Reference in New Issue
Block a user