From f9ddec9479bf4c2fb48e513d6525b1f38f61ff2d Mon Sep 17 00:00:00 2001 From: robin <1402608520@qq.com> Date: Wed, 19 Mar 2025 22:40:51 +0800 Subject: [PATCH 1/5] =?UTF-8?q?fix:=E5=A2=9E=E5=8A=A0=E9=9D=9E=E7=BA=BF?= =?UTF-8?q?=E6=80=A7=E5=8F=8C=E5=B0=84=E7=99=BD=E7=9B=92SM4=E5=AE=9E?= =?UTF-8?q?=E7=8E=B0=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/features/img/nonlinearwbsm4-1-1.png | Bin 0 -> 154553 bytes docs/features/img/nonlinearwbsm4-2-1.png | Bin 0 -> 134962 bytes docs/features/nonlinearwbsm4.md | 260 +++++++++++++++++++++++ 3 files changed, 260 insertions(+) create mode 100644 docs/features/img/nonlinearwbsm4-1-1.png create mode 100644 docs/features/img/nonlinearwbsm4-2-1.png create mode 100644 docs/features/nonlinearwbsm4.md diff --git a/docs/features/img/nonlinearwbsm4-1-1.png b/docs/features/img/nonlinearwbsm4-1-1.png new file mode 100644 index 0000000000000000000000000000000000000000..32fa1925001424625a6c1534dd6b71167e66edbb GIT binary patch literal 154553 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
  • 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

    |6Rmq>iskBzDK^biMEU*b5qPBrl>&g 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�CBOsR1Ez(r^F@_H3B-O= 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 z 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 GBmW0^#Nc=U literal 0 HcmV?d00001 diff --git a/docs/features/nonlinearwbsm4.md b/docs/features/nonlinearwbsm4.md new file mode 100644 index 00000000..cf4e7e07 --- /dev/null +++ b/docs/features/nonlinearwbsm4.md @@ -0,0 +1,260 @@ +本文档主要介绍基于非线性双射的SM4白盒实现方案,包括设计原理、代码实现的详细流程、安全性分析、与现有SM4白盒实现的比较以及白盒API调用示例。 + +## 1 设计原理 + +本方案采用了非线性双射置乱编码技术,用于对SM4算法中的查找表进行有效地混淆和保护。与传统的线性仿射变换相比,非线性双射的设计显著提高了查找表的安全性,这种设计避免了在白盒实现中常见的、攻击者可能利用的数学特征,从而使得查找表能够成功抵御那些专门针对白盒实现的攻击。此外,本方案还对SM4算法的每一轮加解密计算过程进行了细致的拆分,将其分为个若干独立的部分,这一拆分过程遵循了如图1-1所示的构造方法,通过精心设计的置乱编码生成查找表,每一部分都应用了经过特别设计的置乱编码技术,以实现对查找表的混淆。这种混淆机制有效地隐藏了密钥信息,从而在白盒攻击环境下确保了SM4算法的加解密过程的安全性。 + +![image.png](img/nonlinearwbsm4-1-1.png) + +图1-1 非线性双射白盒SM4方案架构图 + +方案具体实现如图1-1所示。其中,$ P_i,E_i,F_i,Q_i,W_i,C_i,D_i $表示四个并行的8位随机非线性双射,$ G_i,H_i,A_i,B_i $表示四个并行的8位随机仿射变换,而$ A_i $和$ B_i $除了所对应的常数项$ C $中所有元素的值均被置为0之外,变换$ A_i $和$ G_i $完全一致,变换$ B_i $和$ H_i $完全一致。这里所提到的仿射变换可以与有限域$ GF(2) $上的矩阵运算等效,上述四个变换的设计原理在于,对于仿射变换$ F(X)=M×X^T+C $,其变换结果在互相进行按位异或操作后,常数部分$ C $会被抵消,即在$ GF(2) $中满足式(1): +$$ +F(X)⊕F(Y)=(M×X^T+C)⊕(M×Y^T+C)=M×(X⊕Y)^T\tag{1} +$$ +在图1-1中,函数$ S_{ij} $如式(2)所示,其中$ i=0,1,...,31 $表示加密轮次。$ rk_{ij} $是轮密钥$ rk_i $的组成部分,$ j=0,1,2,3 $,如式(3)所示: +$$ +S_{ij} (x_j )=Sbox(x_j⊕rk_{ij} )\tag{2} +$$ + +$$ +rk_i=[rk_{i0},rk_{i1},rk_{i2},rk_{i3}]\tag{3} +$$ + +线性变换$ L $可以表示为与一个$ GF(2) $上的32×32位的矩阵$ L $相乘,该矩阵的定义如式(4)所示,其组成元素$ B_1,B_2,B_3 $是由1和0组成的矩阵。 +$$ +L = +\begin{bmatrix} +B_1 & B_2 & B_2 & B_3 \\ +B_3 & B_1 & B_2 & B_2 \\ +B_2 & B_3 & B_1 & B_2 \\ +B_2 & B_2 & B_3 & B_1 +\end{bmatrix}\tag{4} +$$ +基于每一轮SM4算法的计算过程,图1-1中每一部分所实现的功能如下:Part 1和Part 4-1实现$ X_{i+1},X_{i+2},X_{i+3} $三者的按位异或运算;Part 2和Part 4-2实现该计算结果与轮密钥的按位异或运算,再将结果进行$ T $变换操作;最后,Part 3和Part 4-3实现上述$ T $变换的结果与$ X_i $的按位异或计算。 + +在本方案中,我们将前述的运算过程以查找表的形式进行表示,并将这些查找表存储于本地设备上,需要特别指出的是,此处仅保存了每一部分运算中经过一系列变换复合后得到的最终变换所对应的查找表。如果为每个单独的变换都创建并存储其对应的查找表,那么置乱编码的关键信息将有可能被直接暴露,从而无法确保白盒实现方法的安全性。为了确保查找表能够准确反映每一部分的输入与输出之间的关系,对于每个可能的输入值,都必须存储其相应的输出值,因此,为了防止查找表的体积过大,我们不能为输入数据分配过多的位数。同时,为了确保查找表具有足够的混淆效果,输入数据的位数也不能设置得过少,在SM4算法中,每一轮的输入数据被划分为4个区块,每个区块包含32位,经过编码处理后,每个区块的长度仍然保持为32位。考虑到避免查找表占用过多内存,本实现方案将每一部分的输入数据以8位为单位进行细分。因此,上文中提到的混淆操作全部是基于四个并行的8位变换来实现的。对于Part 1、Part 2和Part 3,每张查找表的输入数据长度为8位,这意味着需要存储$ 2^{16}$条数据。而对于Part 4-1、Part 4-2和Part 4-3,由于需要实现包含编码和解码操作的按位异或功能,每张查找表的输入数据长度为16位,因此需要存储$ 2^{16}$条数据。通过这种设计,我们能够在保证查找表具有足够混淆效果的同时,有效控制查找表的体积,从而在白盒环境下实现SM4算法的安全运算。 + +显然,Part 4-1、 Part 4-2 和 Part 4-3 中的查找表占据了大部分的存储空间。因此本方案对有关查找表的编码与解码函数进行设计,使得 Part 4-1与 Part 4-2的查找表能够重复利用,从而降低了对存储空间的需求。如图1-1所示,对 Part 4-1和Part 4-2,其中一个输入的解码函数,即$ E_i $和$ Q_i^{-1} $,与输出的编码函数,即$E_i^{-1} $和$ Q_i $相匹配。为了进一步提升查找表的多样性和含混度,在输出编码时分别引入仿射变换$ G_i $和$ H_i $,可以在不影响查找表功能,同时不增加内存占用的前提下,有效提升其安全性。由于仿射变换的引入,其他部分的查找表也需要增加相应的混淆函数,具体的添加方式如图1-1所示。通过以上的设计,部分查找表可实现复用,进而使得所需要的总存储空间减少了大约一半。大部分设备的内存空间足够用来存储本实现方法,可以保证本方案在大多数情况下的实用性。 + +## 2 代码实现的详细流程 + +基于非线性双射的白盒SM4实现代码包括查找表生成与加密算法实现两部分,加解密流程如图2-1所示。 + +![image.png](img/nonlinearwbsm4-2-1.png) + +图2-1 非线性双射白盒SM4加解密流程 + +### 2.1 查找表生成 + +**1)初始化** + +- 定义 SM4 算法相关常量,如 S 盒、轮密钥生成所需的 FK 和 CK 常量。 +- 声明一系列非线性和仿射变换的变量,用于后续表的生成。 +- 调用 `wbsm4_gen_init` 函数,生成 36 轮的 `Pij` 和 `Pij_inv` 非线性双射对,并将其组合成 32 位的 `Pi` 和 `Pi_inv`。同时,生成 32 轮的 `Ei`、`Fi`、`Gi`、`Ai`、`Qi`、`Hi`、`Bi`、`Wi`、`Ci`、`Di` 及其逆变换,每个 32 位变换由 4 个 8 位变换组成。 + +**2)** **各部分查找表生成** + +- `wbsm4_gen_part1`:生成 32 轮的查找表 `part1_table1`、`part1_table2` 和 `part1_table3`,每轮有 4 个输入 8 位、输出 8 位的查找表。通过对 `Pij_inv` 与 `Eij_inv`、`Fij_inv`、`Gij` 进行复合运算得到。 +- `wbsm4_gen_part2`:依赖于 SM4 轮密钥 `sm4_key`,生成查找表 `part2_table_temp` 和 `part2_table`。`part2_table_temp` 通过对 `Eij`、`Gij_inv`、`Aij_inv` 进行复合运算,并与轮密钥异或后查 S 盒得到;`part2_table` 则是对不同移位的输入进行 `Qi`、`Wi`、`Hi` 变换得到。 +- `wbsm4_gen_part3`:生成查找表 `part3_table1`、`part3_table1_dec` 和 `part3_table2`。`part3_table1` 和 `part3_table1_dec` 通过对 `Pij_inv` 与 `Cij` 进行复合运算得到;`part3_table2` 通过对 `Qij_inv`、`Hij_inv`、`Bij_inv` 进行复合运算,并经过 `Dij` 变换得到。 +- `wbsm4_gen_part4_1`:生成 32 轮的查找表 `part4_1_table`,每轮有 4 个输入 16 位、输出 8 位的查找表。通过对 `Eij` 和 `Fij` 进行异或,再经过 `Gij` 和 `Eij_inv` 变换得到。 +- `wbsm4_gen_part4_2`:生成 32 轮的查找表 `part4_2_table`,每轮有 4 个输入 16 位、输出 8 位的查找表。通过对 `Qij_inv` 和 `Wij_inv` 进行异或,再经过 `Hi` 和 `Qi` 变换得到。 +- `wbsm4_gen_part4_3`:生成 32 轮的查找表 `part4_3_table` 和 `part4_3_table_dec`,每轮有 4 个输入 16 位、输出 8 位的查找表。通过对 `Cij_inv` 和 `Dij_inv` 进行异或,再经过 `Pij` 变换得到。 + +查找表生成的函数接口如下: + +```c +void Nonlinearwbsm4_generate_tables(const uint8_t key[16], WB_SM4_Tables* tables); +``` + +### 2.2 加密函数的实现 + +**1)输入外部编码** + +- 把 16 字节的输入数据 `IN` 拆分成 4 个 32 位的整数 `x0`、`x1`、`x2`、`x3`。 +- 分别对 `x0`、`x1`、`x2`、`x3` 运用 `tables->P[0]`、`tables->P[1]`、`tables->P[2]`、`tables->P[3]` 进行非线性变换。 + +**2)执行核心加密** + +进行 32 轮迭代,每轮迭代包含以下步骤: + +- part1:借助查找表 `part1_table1`、`part1_table2`、`part1_table3` 对 `x1`、`x2`、`x3` 进行变换,得到 `xt1`、`xt2`、`xt3`。 +- part4-1:把 `xt1`、`xt2`、`xt3` 按 8 位分割,利用查找表 `part4_1_table` 进行变换,得出 `x4`。 +- part2:将 `x4` 按 8 位分割,使用查找表 `part2_table_temp` 进行变换,再通过矩阵乘法 `MatMulNumM32` 对结果进行处理,接着利用查找表 `part2_table` 进一步变换,得到中间结果。 +- part4-2:把中间结果按 8 位分割,利用查找表 `part4_2_table` 进行变换,更新 `x4`。 +- part3:借助查找表 `part3_table1`、`part3_table2` 对 `x0`、`x4` 进行变换,得到 `xt0`、`xt4`。 +- part4-3:把 `xt0`、`xt4` 按 8 位分割,利用查找表 `part4_3_table` 进行变换,更新 `x4`。 +- 更新 `x0`、`x1`、`x2`、`x3` 的值,即 `x0 = x1; x1 = x2; x2 = x3; x3 = x4;`。 + +**3)输出外部解码** + +- 分别对 `x3`、`x2`、`x1`、`x0` 运用 `tables->P_inv[35]`、`tables->P_inv[34]`、`tables->P_inv[33]`、`tables->P_inv[32]` 进行非线性逆变换,得到 `out0`、`out1`、`out2`、`out3`。 +- 把 `out0`、`out1`、`out2`、`out3` 组合成 16 字节的输出数据 `OUT`。 + +```c +void Nonlinearwbsm4_encrypt(const unsigned char IN[16], unsigned char OUT[16], const WB_SM4_Tables* tables); +``` + +### 2.3 解密函数的实现 + +**1)输入外部编码** + +- 把 16 字节的输入数据 `IN` 拆分成 4 个 32 位的整数 `x0`、`x1`、`x2`、`x3`。 +- 分别对 `x0`、`x1`、`x2`、`x3` 运用 `tables->P[35]`、`tables->P[34]`、`tables->P[33]`、`tables->P[32]` 进行非线性变换。 + +**2)执行核心解密** + +进行 32 轮迭代,不过迭代顺序是从第 31 轮倒着到第 0 轮,每轮迭代包含以下步骤: + +- **part1**:借助查找表 `part1_table3`、`part1_table2`、`part1_table1` 对 `x1`、`x2`、`x3` 进行变换,得到 `xt1`、`xt2`、`xt3`。 +- **part4 - 1**:把 `xt1`、`xt2`、`xt3` 按 8 位分割,利用查找表 `part4_1_table` 进行变换,得出 `x4`。 +- **part2**:将 `x4` 按 8 位分割,使用查找表 `part2_table_temp` 进行变换,再通过矩阵乘法 `MatMulNumM32` 对结果进行处理,接着利用查找表 `part2_table` 进一步变换,得到中间结果。 +- **part4 - 2**:把中间结果按 8 位分割,利用查找表 `part4_2_table` 进行变换,更新 `x4`。 +- **part3**:借助查找表 `part3_table1_dec`、`part3_table2` 对 `x0`、`x4` 进行变换,得到 `xt0`、`xt4`。 +- **part4 - 3**:把 `xt0`、`xt4` 按 8 位分割,利用查找表 `part4_3_table_dec` 进行变换,更新 `x4`。 +- 更新 `x0`、`x1`、`x2`、`x3` 的值,即 `x0 = x1; x1 = x2; x2 = x3; x3 = x4;`。 + +**3)输出外部解码** + +- 分别对 `x3`、`x2`、`x1`、`x0` 运用 `tables->P_inv[0]`、`tables->P_inv[1]`、`tables->P_inv[2]`、`tables->P_inv[3]` 进行非线性逆变换,得到 `out0`、`out1`、`out2`、`out3`。 +- 把 `out0`、`out1`、`out2`、`out3` 组合成 16 字节的输出数据 `OUT`。 + +白盒解密函数接口如下: + +```c +void Nonlinearwbsm4_decrypt(const unsigned char IN[16], unsigned char OUT[16], const WB_SM4_Tables* tables); +``` + +## 3 安全性分析 + +### 3.1 白盒多样性和白盒含混度 + +为了更好地计算所提出白盒 SM4 实现方法的多样性和含混度,需要对所使用的置乱编码的可选择数量进行计算,主要是仿射变换和非线性双射。在此基础上,根据实现方法的结构和生成方式进行具体计算。对于一个$ GF(2) $上的随机的$ t $位可逆仿射变换,所有可能的选择的数量为: +$$ +h(t)=2^t\times\prod_{i = 0}^{t - 1}(2^t - 2^i)\tag{5} +$$ +同时,对于一个随机的 8 位非线性双射,输入输出都随机一一对应,因此所有可能的选择的数量为 256!。对于非线性白盒 SM4 实现,每一轮所使用的轮密钥的长度为 32 位,因此每一轮的密钥空间为$ 2^{32} $。根据上文分析,可以计算得到非线性白盒 SM4 实现每一轮各个部分的多样性与含混度如表3-1所示。相较于仿射变换,同样的输入输出位数下非线性双射的可选择数量显著增加了,这极大地提升了实现方法的多样性和含混度,增强了抗暴力攻击的能力,使其安全性有了明显提升。总的来说,从多样性与含混度的计算结果来看,攻击者几乎不可能通过对矩阵和查找表的穷举攻击来获取密钥和置乱编码信息。也就是说,本文所提出的两种白盒 SM4实现方法可以有效抵抗暴力攻击。更进一步,将这两种方案的多样性和含混度与已有的方案进行对比。 + +表3-1 非线性白盒SM4实现的多样性与含混度 + +| 阶段 | 多样性 | 含混度 | +| -------- | ------------------------------------------------------------ | --------------------------------- | +| Part 1 | $ (256!)^8×(256!)^8×(256!)^4×h(8)^4≈2^{33960} $ | $ (256!)^8×h(8)^4≈2^{13752} $ | +| Part 2 | $ (256!)^4×h(8)^4×2^{32}×(256!)^4×(256!)^4×h(8)^4≈2^{20800} $ | $ (256!)^4×h(8)^4×2^32≈2^{7048} $ | +| Part 3 | $ (256!)^8×(256!)^8×h(8)^4≈2^{27224} $ | $ (256!)^8×h(8)^4≈2^{13752} $ | +| Part 4-1 | $ (256!)^8×h(8)^4≈2^{13752} $ | $ h(8)^4≈2^{280} $ | +| Part 4-2 | $ (256!)^8×h(8)^4≈2^{13752} $ | $ h(8)^4≈2^{280} $ | +| Part 4-3 | $ (256!)^{12}≈2^{20208} $ | $ h(8)^4≈2^{280} $ | + +由于不同实现方案的结构不尽相同,因此很难将他们的多样性与含混度进行统一的比较。考虑到肖-来方案与本论文所提出的两个方案在结构上最为相似,这里将肖-来方案的多样性与含混度列出在表3-2中,以方便比较。通过对比,可以看出相较于肖-来方案,本方案的多样性与含混度均有显著提升,且提升幅度远大于内存占用和加解密所需时间的增长幅度。 + +表3-2 肖-来方案的多样性与含混度 + +| 阶段 | 多样性 | 含混度 | +| ------ | -------------------------------- | ------------------------- | +| Part 1 | $ h(32)^3×h(8)^4=2^{3442} $ | $ h(8)^4≈2^{280} $ | +| Part 2 | $ h(8)^4×2^{32}×h(32)=2^{1366} $ | $ 2^{32} $ | +| Part 3 | $ h(32)^3×2^{32}=2^{3194} $ | $ h(32)×2^{32}=2^{1086} $ | + +### 3.2 抗BGE型攻击 + +BGE攻击是由Billet、Gilbert和Ech-Chatbi 三位研究学者提出的一种攻击方法,最开始提出的目的是攻击Chow等人的白盒AES方案,其主要攻击思路是通过合并相邻轮次的查找表并取消输入输出置乱编码的逆变换,从而暴露出内部的密钥信息。Chow的白盒实现中,输入置乱和输出置乱的逆变换可以相互抵消,导致攻击者可以通过查找表的合并简化运算,最终恢复出密钥。因此,BGE攻击的核心是通过对轮次间的置乱逆变换进行消除,削弱其保护效果。经过分析,BGE 攻击能有效地攻击Chow的算法并观察到密钥信息。 + +非线性白盒SM4通过引入随机的非线性双射置乱编码来增强算法的安全性。与传统的线性置乱编码不同,非线性双射的设计使得相邻查找表的运算不能简单地合并,置乱编码的逆变换不会像线性编码那样被直接抵消。具体来说,非线性白盒SM4中的置乱编码引入了非线性变换,这些变换增加了攻击者在逆向查找表时的复杂度,即便攻击者通过BGE攻击合并了查找表,非线性编码的存在也使得攻击者无法轻易解析和消除查找表中的置乱信息。非线性白盒SM4通过以下几点有效抵御BGE攻击。 + +1)非线性双射置乱编码:相比于传统的线性置乱,非线性置乱具有更复杂的数学结构,使得攻击者难以构建有效的代数方程来简化查找表。非线性编码使得置乱逆变换无法被简单消除,从根本上防止了BGE攻击的查找表合并策略,四个并行的 8 位随机非线性双射可以用如式(6)表示。 +$$ +P_i (x_0,x_1,x_2,x_3)=[P_{i0} (x_0),P_{i1}(x_1),P_{i2}(x_2),P_{i3}(x_3)]\tag{6} +$$ +其中函数$ P_{ij}(•) $的输入输出关系是完全随机的,该变换为双射,输入输出一一对应。 + +2)引入随机常量的混淆操作:非线性白盒SM4在轮函数的输入置乱中引入了随机常量,这使得即使攻击者试图通过查找表合并来消除置乱的影响,这些随机常量也会干扰他们的攻击过程,使其难以恢复出密钥。 + +3)复杂的仿射变换与置乱设计:在算法的设计中,仿射变换与非线性置乱相结合,使得攻击者难以通过BGE攻击简化输入输出的映射关系。这种复杂的组合大幅增加了逆向求解密钥的难度。 + +### 3.3 抗仿射等价算法攻击 + +对于基于非线性的高安全白盒SM4实现,仿射等价算法攻击主要依赖于将加密算法简化为仿射变换模型,从而识别出某些对应关系,进而破坏密钥保护的效果。传统白盒加密方案中,由于查找表和逻辑结构的简单性,攻击者可以通过计算密钥之间的线性关系或利用仿射变换特性来逆推出密钥。基于非线性的高安全白盒SM4实现通过引入随机的非线性混淆技术,使查找表不再是简单的仿射关系,而是变为具有非线性结构的复杂映射。非线性双射的加入使得加密逻辑和查找表之间的关系更加复杂化,难以通过仿射变换来简化和推导。通过这种方法,攻击者在试图利用仿射等价性进行攻击时将遭遇无法处理的高度复杂的非线性映射,从而有效抵抗此类攻击。 + +从数学角度来看,仿射等价算法攻击主要试图通过构建一个线性或仿射方程组,来推导出查找表或算法中的关键关系。而在本作品的实现方案中:非线性混淆函数的引入使得加密过程本质上不再是线性可分的,这意味着攻击者无法通过线性方程组来表征加密过程的内部关系。多层次仿射变换的随机化应用使每一轮的加密过程都具有动态的、非固定的性质,使得攻击者即便能够构建方程组,这些方程也因非线性的引入而变得难以求解。因此,通过增加非线性因素和动态仿射变换,该方案实现了对仿射等价算法攻击的有效抵抗。 + +## 4 内存占比与加解密速度 + +### 4.1 内存占比 + +基于非线性双射的白盒SM4实现方法,每一轮中Part 1、Part 2和3分别包含12、16和8张查找表,其中每张查找表包含$ 2^8 $个8位数据,而Part 4-1、Part 4-2和Part 4-3共包含12张查找表,每张查找表包含$ 2^{16} $个8位数据,因此32轮的白盒实现内存占用共为:$ ((12+16+8)×2^8×8bit+12×2^{16}×8bit)×32=24.28MB $。 + +不同于已有的白盒实现方案,本实现方案采用非线性双射作为置乱编码以提升安全性,因此需要引入 Part 4-1、4-2 和 4-3 辅助计算,导致内存占用不可避免地大幅度增加。不同白盒 SM4 实现方案之间内存占用的比较如表3-3所示。基于非线性双射的白盒 SM4 实现方法适用于大部分设备,尤其是那些可以容忍较高内存占用以换取更高安全保障的设备,尽管牺牲了一定的空间效率,这种方案依然在提升安全性方面发挥了关键作用。 + +表3-3 几种白盒算法内存占用比较 + +| 加密算法 | 占用空间 | 查表或异或次数 | 仿射变换次数 | +| ------------------------ | ---------- | -------------- | ------------ | +| SM4-128 | 544 B | 256 | 64 | +| AES-128 | 4352 B | 300 | 0 | +| Chow-白盒AES | 752 KB | 3104 | 0 | +| 肖-来白盒SM4 | 148.625 KB | 128 | 160 | +| 尚-白盒SM4 | 16.012MB | 64 | 160 | +| 基于非线性双射的白盒 SM4 | 24.28MB | 1216 | 0 | + +### 4.2 加解密速度 + +测试环境:Intel Core i7处理器、 8GB 内存、 64 位 Windows 10 操作系统,软件为 Microsoft Visual Studio 2019。 经过10000次加解密并取平均值后,加密速度约为7.33 Mbits/s,解密速度约为7.20 Mbits/s。 + +## 5 白盒API调用示例 + +### 5.1 API说明 + +```c +//白盒查找表生成 +void Nonlinearwbsm4_generate_tables(const uint8_t key[16], WB_SM4_Tables* tables); +// 白盒加密核心接口 +void Nonlinearwbsm4_encrypt(const unsigned char IN[16], unsigned char OUT[16], const WB_SM4_Tables* tables); +// 白盒加密核心接口 +void Nonlinearwbsm4_decrypt(const unsigned char IN[16], unsigned char OUT[16], const WB_SM4_Tables* tables); +``` + +### 5.2 调用示例代码 + +```c +#include "nonlinearwbsm4.h" +#include +#include +int main() { + unsigned char key[16] = { 0x78, 0x3b, 0xd7, 0x63, 0x47, 0xaa, 0x6b, 0xfe, 0x47, 0x05, 0xeb, 0xc0, 0x60, 0x4a, 0x7b, 0x0f }; + unsigned char IN[16] = { 0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88, 0x99, 0xaa, 0xbb, 0xcc, 0xdd, 0xee, 0xff }; + unsigned char OUT[16], DEC_OUT[16]; + // ==== 白盒加密测试 ==== + WB_SM4_Tables* tables = malloc(sizeof(WB_SM4_Tables)); + memset(tables, 0, sizeof(WB_SM4_Tables)); + //WB_SM4_Tables tables; + Nonlinearwbsm4_generate_tables(key, tables); + Nonlinearwbsm4_encrypt(IN, OUT, tables); + printf("[白盒加密结果]: "); + printstate(OUT); + // 白盒解密测试 + Nonlinearwbsm4_decrypt(OUT, DEC_OUT, tables); + printf("[白盒解密结果]: "); + printstate(DEC_OUT); + Nonlinearwbsm4_free_tables(tables); + free(tables); + +// // ==== 标准SM4解密对比 ==== +// unsigned char STD_OUT[16]; +// sm4_context ctx_std; +// sm4_setkey_enc(&ctx_std, key); +// sm4_crypt_ecb(&ctx_std, 0, 16, IN, STD_OUT); +// printf("[标准加密结果]: "); +// printstate(STD_OUT); +// // ==== 标准SM4解密对比 ==== +// unsigned char STD_DEC_OUT[16]; +// sm4_context ctx_std_dec; +// sm4_setkey_dec(&ctx_std_dec, key); +// sm4_crypt_ecb(&ctx_std_dec, 0, 16, STD_OUT, STD_DEC_OUT); +// printf("[标准解密结果]: "); +// printstate(STD_DEC_OUT); + return 0; +} +``` + From 798c6695d3446e3ebee1893ab5ec1ab5ee571175 Mon Sep 17 00:00:00 2001 From: robin <1402608520@qq.com> Date: Thu, 20 Mar 2025 15:02:58 +0800 Subject: [PATCH 2/5] =?UTF-8?q?fix:=E5=9C=A8sm4=5Fwhitebox=E7=9B=AE?= =?UTF-8?q?=E5=BD=95=E4=B8=8B=E5=A2=9E=E5=8A=A0=E9=9D=9E=E7=BA=BF=E6=80=A7?= =?UTF-8?q?=E5=8F=8C=E5=B0=84=E7=99=BD=E7=9B=92SM4=E5=AE=9E=E7=8E=B0?= =?UTF-8?q?=E6=96=87=E6=A1=A3=E4=BB=A5=E5=8F=8A=E5=9B=BE=E7=89=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../{ => sm4_whitebox}/img/nonlinearwbsm4-1-1.png | Bin .../{ => sm4_whitebox}/img/nonlinearwbsm4-2-1.png | Bin docs/features/{ => sm4_whitebox}/nonlinearwbsm4.md | 0 3 files changed, 0 insertions(+), 0 deletions(-) rename docs/features/{ => sm4_whitebox}/img/nonlinearwbsm4-1-1.png (100%) rename docs/features/{ => sm4_whitebox}/img/nonlinearwbsm4-2-1.png (100%) rename docs/features/{ => sm4_whitebox}/nonlinearwbsm4.md (100%) diff --git a/docs/features/img/nonlinearwbsm4-1-1.png b/docs/features/sm4_whitebox/img/nonlinearwbsm4-1-1.png similarity index 100% rename from docs/features/img/nonlinearwbsm4-1-1.png rename to docs/features/sm4_whitebox/img/nonlinearwbsm4-1-1.png diff --git a/docs/features/img/nonlinearwbsm4-2-1.png b/docs/features/sm4_whitebox/img/nonlinearwbsm4-2-1.png similarity index 100% rename from docs/features/img/nonlinearwbsm4-2-1.png rename to docs/features/sm4_whitebox/img/nonlinearwbsm4-2-1.png diff --git a/docs/features/nonlinearwbsm4.md b/docs/features/sm4_whitebox/nonlinearwbsm4.md similarity index 100% rename from docs/features/nonlinearwbsm4.md rename to docs/features/sm4_whitebox/nonlinearwbsm4.md From 526aa67e6371d632fa0965c6cd36ef15f8cdfe6a Mon Sep 17 00:00:00 2001 From: robin <1402608520@qq.com> Date: Thu, 20 Mar 2025 15:16:43 +0800 Subject: [PATCH 3/5] =?UTF-8?q?fix:=E5=9C=A8sm4=5Fwhitebox=E7=9B=AE?= =?UTF-8?q?=E5=BD=95=E4=B8=8B=E5=A2=9E=E5=8A=A0=E9=9D=9E=E7=BA=BF=E6=80=A7?= =?UTF-8?q?=E5=8F=8C=E5=B0=84=E7=99=BD=E7=9B=92SM4=E5=AE=9E=E7=8E=B0?= =?UTF-8?q?=E6=96=87=E6=A1=A3=E4=BB=A5=E5=8F=8A=E5=9B=BE=E7=89=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../{ => nonlinearwbsm4}/img/nonlinearwbsm4-1-1.png | Bin .../{ => nonlinearwbsm4}/img/nonlinearwbsm4-2-1.png | Bin .../{ => nonlinearwbsm4}/nonlinearwbsm4.md | 0 3 files changed, 0 insertions(+), 0 deletions(-) rename docs/features/sm4_whitebox/{ => nonlinearwbsm4}/img/nonlinearwbsm4-1-1.png (100%) rename docs/features/sm4_whitebox/{ => nonlinearwbsm4}/img/nonlinearwbsm4-2-1.png (100%) rename docs/features/sm4_whitebox/{ => nonlinearwbsm4}/nonlinearwbsm4.md (100%) diff --git a/docs/features/sm4_whitebox/img/nonlinearwbsm4-1-1.png b/docs/features/sm4_whitebox/nonlinearwbsm4/img/nonlinearwbsm4-1-1.png similarity index 100% rename from docs/features/sm4_whitebox/img/nonlinearwbsm4-1-1.png rename to docs/features/sm4_whitebox/nonlinearwbsm4/img/nonlinearwbsm4-1-1.png diff --git a/docs/features/sm4_whitebox/img/nonlinearwbsm4-2-1.png b/docs/features/sm4_whitebox/nonlinearwbsm4/img/nonlinearwbsm4-2-1.png similarity index 100% rename from docs/features/sm4_whitebox/img/nonlinearwbsm4-2-1.png rename to docs/features/sm4_whitebox/nonlinearwbsm4/img/nonlinearwbsm4-2-1.png diff --git a/docs/features/sm4_whitebox/nonlinearwbsm4.md b/docs/features/sm4_whitebox/nonlinearwbsm4/nonlinearwbsm4.md similarity index 100% rename from docs/features/sm4_whitebox/nonlinearwbsm4.md rename to docs/features/sm4_whitebox/nonlinearwbsm4/nonlinearwbsm4.md From b58e9932f3d7eb3d0d95cb913286a9d82ef964e2 Mon Sep 17 00:00:00 2001 From: robin <1402608520@qq.com> Date: Mon, 24 Mar 2025 21:00:05 +0800 Subject: [PATCH 4/5] =?UTF-8?q?fix:=E6=B7=BB=E5=8A=A0=E5=8A=A0=E8=A7=A3?= =?UTF-8?q?=E5=AF=86=E9=80=9F=E5=BA=A6=E5=AF=B9=E6=AF=94=EF=BC=8C=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E7=9B=B8=E5=85=B3=E5=8F=82=E8=80=83=E6=96=87=E7=8C=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../nonlinearwbsm4/nonlinearwbsm4.md | 71 ++++++++++++++----- 1 file changed, 54 insertions(+), 17 deletions(-) diff --git a/docs/features/sm4_whitebox/nonlinearwbsm4/nonlinearwbsm4.md b/docs/features/sm4_whitebox/nonlinearwbsm4/nonlinearwbsm4.md index cf4e7e07..038e2253 100644 --- a/docs/features/sm4_whitebox/nonlinearwbsm4/nonlinearwbsm4.md +++ b/docs/features/sm4_whitebox/nonlinearwbsm4/nonlinearwbsm4.md @@ -1,8 +1,10 @@ +# 一种基于非线性双射的SM4白盒实现 + 本文档主要介绍基于非线性双射的SM4白盒实现方案,包括设计原理、代码实现的详细流程、安全性分析、与现有SM4白盒实现的比较以及白盒API调用示例。 ## 1 设计原理 -本方案采用了非线性双射置乱编码技术,用于对SM4算法中的查找表进行有效地混淆和保护。与传统的线性仿射变换相比,非线性双射的设计显著提高了查找表的安全性,这种设计避免了在白盒实现中常见的、攻击者可能利用的数学特征,从而使得查找表能够成功抵御那些专门针对白盒实现的攻击。此外,本方案还对SM4算法的每一轮加解密计算过程进行了细致的拆分,将其分为个若干独立的部分,这一拆分过程遵循了如图1-1所示的构造方法,通过精心设计的置乱编码生成查找表,每一部分都应用了经过特别设计的置乱编码技术,以实现对查找表的混淆。这种混淆机制有效地隐藏了密钥信息,从而在白盒攻击环境下确保了SM4算法的加解密过程的安全性。 +本方案采用了非线性双射置乱编码技术,用于对SM4算法中的查找表进行有效地混淆和保护。与传统的线性仿射变换[1]相比,非线性双射的设计显著提高了查找表的安全性,这种设计避免了在白盒实现中常见的、攻击者可能利用的数学特征,从而使得查找表能够成功抵御那些专门针对白盒实现的攻击。此外,本方案还对SM4算法的每一轮加解密计算过程进行了细致的拆分,将其分为个若干独立的部分,这一拆分过程遵循了如图1-1所示的构造方法,通过精心设计的置乱编码生成查找表,每一部分都应用了经过特别设计的置乱编码技术,以实现对查找表的混淆。这种混淆机制有效地隐藏了密钥信息,从而在白盒攻击环境下确保了SM4算法的加解密过程的安全性。 ![image.png](img/nonlinearwbsm4-1-1.png) @@ -39,7 +41,7 @@ $$ ## 2 代码实现的详细流程 -基于非线性双射的白盒SM4实现代码包括查找表生成与加密算法实现两部分,加解密流程如图2-1所示。 +基于非线性双射的白盒SM4实现代码包括查找表生成与加密算法实现两部分,加解密流程如图2-1所示。代码主要参考了[Xiao-Lai白盒SM4实现[2]](https://github.com/Nexus-TYF/Xiao-Lai-White-box-SM4)和[Bai-Wu白盒SM4实现[3]](https://github.com/Nexus-TYF/Bai-Wu-White-box-SM4)和 [Xiao-Lai白盒AES实现[4]](https://github.com/Nexus-TYF/Xiao-Lai-White-box-AES)。本文对应的代码实现链接为[nonlinearwbsm4](https://github.com/Tongsuo-Project/Tongsuo/pull/708)。 ![image.png](img/nonlinearwbsm4-2-1.png) @@ -107,12 +109,12 @@ void Nonlinearwbsm4_encrypt(const unsigned char IN[16], unsigned char OUT[16], c 进行 32 轮迭代,不过迭代顺序是从第 31 轮倒着到第 0 轮,每轮迭代包含以下步骤: -- **part1**:借助查找表 `part1_table3`、`part1_table2`、`part1_table1` 对 `x1`、`x2`、`x3` 进行变换,得到 `xt1`、`xt2`、`xt3`。 -- **part4 - 1**:把 `xt1`、`xt2`、`xt3` 按 8 位分割,利用查找表 `part4_1_table` 进行变换,得出 `x4`。 -- **part2**:将 `x4` 按 8 位分割,使用查找表 `part2_table_temp` 进行变换,再通过矩阵乘法 `MatMulNumM32` 对结果进行处理,接着利用查找表 `part2_table` 进一步变换,得到中间结果。 -- **part4 - 2**:把中间结果按 8 位分割,利用查找表 `part4_2_table` 进行变换,更新 `x4`。 -- **part3**:借助查找表 `part3_table1_dec`、`part3_table2` 对 `x0`、`x4` 进行变换,得到 `xt0`、`xt4`。 -- **part4 - 3**:把 `xt0`、`xt4` 按 8 位分割,利用查找表 `part4_3_table_dec` 进行变换,更新 `x4`。 +- part1:借助查找表 `part1_table3`、`part1_table2`、`part1_table1` 对 `x1`、`x2`、`x3` 进行变换,得到 `xt1`、`xt2`、`xt3`。 +- part4-1:把 `xt1`、`xt2`、`xt3` 按 8 位分割,利用查找表 `part4_1_table` 进行变换,得出 `x4`。 +- part2:将 `x4` 按 8 位分割,使用查找表 `part2_table_temp` 进行变换,再通过矩阵乘法 `MatMulNumM32` 对结果进行处理,接着利用查找表 `part2_table` 进一步变换,得到中间结果。 +- part4-2:把中间结果按 8 位分割,利用查找表 `part4_2_table` 进行变换,更新 `x4`。 +- part3:借助查找表 `part3_table1_dec`、`part3_table2` 对 `x0`、`x4` 进行变换,得到 `xt0`、`xt4`。 +- part4-3:把 `xt0`、`xt4` 按 8 位分割,利用查找表 `part4_3_table_dec` 进行变换,更新 `x4`。 - 更新 `x0`、`x1`、`x2`、`x3` 的值,即 `x0 = x1; x1 = x2; x2 = x3; x3 = x4;`。 **3)输出外部解码** @@ -130,11 +132,11 @@ void Nonlinearwbsm4_decrypt(const unsigned char IN[16], unsigned char OUT[16], c ### 3.1 白盒多样性和白盒含混度 -为了更好地计算所提出白盒 SM4 实现方法的多样性和含混度,需要对所使用的置乱编码的可选择数量进行计算,主要是仿射变换和非线性双射。在此基础上,根据实现方法的结构和生成方式进行具体计算。对于一个$ GF(2) $上的随机的$ t $位可逆仿射变换,所有可能的选择的数量为: +为了更好地计算所提出白盒 SM4 实现方法的多样性和含混度[5],需要对所使用的置乱编码的可选择数量进行计算,主要是仿射变换和非线性双射。在此基础上,根据实现方法的结构和生成方式进行具体计算。对于一个$ GF(2) $上的随机的$ t $位可逆仿射变换,所有可能的选择的数量为: $$ h(t)=2^t\times\prod_{i = 0}^{t - 1}(2^t - 2^i)\tag{5} $$ -同时,对于一个随机的 8 位非线性双射,输入输出都随机一一对应,因此所有可能的选择的数量为 256!。对于非线性白盒 SM4 实现,每一轮所使用的轮密钥的长度为 32 位,因此每一轮的密钥空间为$ 2^{32} $。根据上文分析,可以计算得到非线性白盒 SM4 实现每一轮各个部分的多样性与含混度如表3-1所示。相较于仿射变换,同样的输入输出位数下非线性双射的可选择数量显著增加了,这极大地提升了实现方法的多样性和含混度,增强了抗暴力攻击的能力,使其安全性有了明显提升。总的来说,从多样性与含混度的计算结果来看,攻击者几乎不可能通过对矩阵和查找表的穷举攻击来获取密钥和置乱编码信息。也就是说,本文所提出的两种白盒 SM4实现方法可以有效抵抗暴力攻击。更进一步,将这两种方案的多样性和含混度与已有的方案进行对比。 +同时,对于一个随机的 8 位非线性双射,输入输出都随机一一对应,因此所有可能的选择的数量为 256!。对于非线性白盒 SM4 实现,每一轮所使用的轮密钥的长度为 32 位,因此每一轮的密钥空间为$ 2^{32} $。根据上文分析,可以计算得到非线性白盒 SM4 实现每一轮各个部分的多样性与含混度如表3-1所示。相较于仿射变换,同样的输入输出位数下非线性双射的可选择数量显著增加了,这极大地提升了实现方法的多样性和含混度,增强了抗暴力攻击的能力,使其安全性有了明显提升。总的来说,从多样性与含混度的计算结果来看,攻击者几乎不可能通过对矩阵和查找表的穷举攻击来获取密钥和置乱编码信息。也就是说,本文所提出的白盒 SM4实现方法可以有效抵抗暴力攻击。更进一步,将该方案的多样性和含混度与已有的方案进行对比。 表3-1 非线性白盒SM4实现的多样性与含混度 @@ -147,7 +149,7 @@ $$ | Part 4-2 | $ (256!)^8×h(8)^4≈2^{13752} $ | $ h(8)^4≈2^{280} $ | | Part 4-3 | $ (256!)^{12}≈2^{20208} $ | $ h(8)^4≈2^{280} $ | -由于不同实现方案的结构不尽相同,因此很难将他们的多样性与含混度进行统一的比较。考虑到肖-来方案与本论文所提出的两个方案在结构上最为相似,这里将肖-来方案的多样性与含混度列出在表3-2中,以方便比较。通过对比,可以看出相较于肖-来方案,本方案的多样性与含混度均有显著提升,且提升幅度远大于内存占用和加解密所需时间的增长幅度。 +由于不同实现方案的结构不尽相同,因此很难将他们的多样性与含混度进行统一的比较。考虑到肖-来白盒SM4方案[6]与本论文所提出的两个方案在结构上最为相似,这里将肖-来白盒SM4方案的多样性与含混度列出在表3-2中,以方便比较。通过对比,可以看出相较于肖-来方案,本方案的多样性与含混度均有显著提升,且提升幅度远大于内存占用和加解密所需时间的增长幅度。 表3-2 肖-来方案的多样性与含混度 @@ -159,7 +161,7 @@ $$ ### 3.2 抗BGE型攻击 -BGE攻击是由Billet、Gilbert和Ech-Chatbi 三位研究学者提出的一种攻击方法,最开始提出的目的是攻击Chow等人的白盒AES方案,其主要攻击思路是通过合并相邻轮次的查找表并取消输入输出置乱编码的逆变换,从而暴露出内部的密钥信息。Chow的白盒实现中,输入置乱和输出置乱的逆变换可以相互抵消,导致攻击者可以通过查找表的合并简化运算,最终恢复出密钥。因此,BGE攻击的核心是通过对轮次间的置乱逆变换进行消除,削弱其保护效果。经过分析,BGE 攻击能有效地攻击Chow的算法并观察到密钥信息。 +BGE攻击是由Billet、Gilbert和Ech-Chatbi[7]三位研究学者提出的一种攻击方法,最开始提出的目的是攻击Chow等人[5]的白盒AES方案,其主要攻击思路是通过合并相邻轮次的查找表并取消输入输出置乱编码的逆变换,从而暴露出内部的密钥信息。Chow的白盒实现中,输入置乱和输出置乱的逆变换可以相互抵消,导致攻击者可以通过查找表的合并简化运算,最终恢复出密钥。因此,BGE攻击的核心是通过对轮次间的置乱逆变换进行消除,削弱其保护效果。经过分析,BGE 攻击能有效地攻击Chow的算法并观察到密钥信息。 非线性白盒SM4通过引入随机的非线性双射置乱编码来增强算法的安全性。与传统的线性置乱编码不同,非线性双射的设计使得相邻查找表的运算不能简单地合并,置乱编码的逆变换不会像线性编码那样被直接抵消。具体来说,非线性白盒SM4中的置乱编码引入了非线性变换,这些变换增加了攻击者在逆向查找表时的复杂度,即便攻击者通过BGE攻击合并了查找表,非线性编码的存在也使得攻击者无法轻易解析和消除查找表中的置乱信息。非线性白盒SM4通过以下几点有效抵御BGE攻击。 @@ -175,7 +177,7 @@ $$ ### 3.3 抗仿射等价算法攻击 -对于基于非线性的高安全白盒SM4实现,仿射等价算法攻击主要依赖于将加密算法简化为仿射变换模型,从而识别出某些对应关系,进而破坏密钥保护的效果。传统白盒加密方案中,由于查找表和逻辑结构的简单性,攻击者可以通过计算密钥之间的线性关系或利用仿射变换特性来逆推出密钥。基于非线性的高安全白盒SM4实现通过引入随机的非线性混淆技术,使查找表不再是简单的仿射关系,而是变为具有非线性结构的复杂映射。非线性双射的加入使得加密逻辑和查找表之间的关系更加复杂化,难以通过仿射变换来简化和推导。通过这种方法,攻击者在试图利用仿射等价性进行攻击时将遭遇无法处理的高度复杂的非线性映射,从而有效抵抗此类攻击。 +对于基于非线性的高安全白盒SM4实现,仿射等价算法攻击[8]主要依赖于将加密算法简化为仿射变换模型,从而识别出某些对应关系,进而破坏密钥保护的效果。传统白盒加密方案中,由于查找表和逻辑结构的简单性,攻击者可以通过计算密钥之间的线性关系或利用仿射变换特性来逆推出密钥。基于非线性的高安全白盒SM4实现通过引入随机的非线性混淆技术,使查找表不再是简单的仿射关系,而是变为具有非线性结构的复杂映射。非线性双射的加入使得加密逻辑和查找表之间的关系更加复杂化,难以通过仿射变换来简化和推导。通过这种方法,攻击者在试图利用仿射等价性进行攻击时将遭遇无法处理的高度复杂的非线性映射,从而有效抵抗此类攻击。 从数学角度来看,仿射等价算法攻击主要试图通过构建一个线性或仿射方程组,来推导出查找表或算法中的关键关系。而在本作品的实现方案中:非线性混淆函数的引入使得加密过程本质上不再是线性可分的,这意味着攻击者无法通过线性方程组来表征加密过程的内部关系。多层次仿射变换的随机化应用使每一轮的加密过程都具有动态的、非固定的性质,使得攻击者即便能够构建方程组,这些方程也因非线性的引入而变得难以求解。因此,通过增加非线性因素和动态仿射变换,该方案实现了对仿射等价算法攻击的有效抵抗。 @@ -193,14 +195,23 @@ $$ | ------------------------ | ---------- | -------------- | ------------ | | SM4-128 | 544 B | 256 | 64 | | AES-128 | 4352 B | 300 | 0 | -| Chow-白盒AES | 752 KB | 3104 | 0 | -| 肖-来白盒SM4 | 148.625 KB | 128 | 160 | -| 尚-白盒SM4 | 16.012MB | 64 | 160 | +| Chow-白盒AES[5] | 752 KB | 3104 | 0 | +| 肖-来白盒SM4[6] | 148.625 KB | 128 | 160 | +| 尚-白盒SM4[9] | 16.012MB | 64 | 160 | +| WBDL算法[10] | 466.914 KB | 128 | 160 | | 基于非线性双射的白盒 SM4 | 24.28MB | 1216 | 0 | ### 4.2 加解密速度 -测试环境:Intel Core i7处理器、 8GB 内存、 64 位 Windows 10 操作系统,软件为 Microsoft Visual Studio 2019。 经过10000次加解密并取平均值后,加密速度约为7.33 Mbits/s,解密速度约为7.20 Mbits/s。 +测试环境:Intel Core i7处理器、 8GB 内存、 64 位 Windows 10 操作系统,软件为 Microsoft Visual Studio 2019,加密速度平均约为7.33 Mbits/s,解密速度平均约为7.20 Mbits/s。测试代码未经过优化,加解密速度仅供参考。 + +| 加密算法 | 处理器 | 内存(GB) | 操作系统 | 加密速率 | +| ----------------------- | ------------- | ---------- | ---------- | --------------- | +| SM4 算法 | Intel Core i7 | 8 | Windows 10 | 40.299 Mbits/s | +| 肖-来白盒SM4[6] | Intel Core i7 | 8 | Windows 10 | 122.638 Kbits/s | +| 尚-白盒SM4[9] | Intel Core i7 | 8 | Windows 10 | 3.5 Kbits/s | +| WBDL算法[10] | Intel Core i7 | 8 | Windows 10 | 273Kbits/s | +| 基于非线性双射的白盒SM4 | Intel Core i7 | 8 | Windows 10 | 7.33 Mbits/s | ## 5 白盒API调用示例 @@ -258,3 +269,29 @@ int main() { } ``` +## 参考文献 + +> [1]肖雅莹, 来学嘉. 白盒密码及SMS4算法的白盒实现[C]. 中国密码学会2009年会. 北京: 科学出版社, 2009: 24–34. +> +> [2]https://github.com/Nexus-TYF/Xiao-Lai-White-box-SM4 +> +> [3]https://github.com/Nexus-TYF/Bai-Wu-White-box-SM4 +> +> [4]https://github.com/Nexus-TYF/Xiao-Lai-White-box-AES +> +> [5]Chow, S. and Eisen, P. and Johnson, H. and Van Oorschot, P.C.. White-Box Cryptography and an AES Implementation[J]. Lecture Notes in Computer Science, 2003, 2595: 250-270. +> +> [6]肖雅莹. 白盒密码及 AES 与 SMS4 算法的实现[M].上海交通大学. 2010. +> +> [7]Billet O, Gilbert H, Ech-Chatbi C. Cryptanalysis of a white box AES implementation[J]. Selected Areas in Cryptography, 2005, 3357: 227-240. +> +> [8]姚思, 陈杰. SM4算法的一种新型白盒实现[J]. 密码学报, 2020, 7(3): 358-374. +> +> [9]尚培. SMS4 算法的白盒密码算法设计与实现 [D]. 成都: 电子科技大学, 2016. +> +> [10]YANG Y T, DONG H, ZHANG Y, ZHANG Y S. WBDL: Improved SM4 dynamic white-box cryptographic algorithm[J]. Journal of Cryptologic Research, 2023, 10(4): 796–812. +> +> [11]Bai K, Wu C. A secure white‐box SM4 implementation[J]. Security and Communication Networks, 2016, 9(10): 996-1006. +> +> + From c14263b6cd65b8d91a315053d325eab01a4a76fa Mon Sep 17 00:00:00 2001 From: robin <1402608520@qq.com> Date: Mon, 31 Mar 2025 14:04:25 +0800 Subject: [PATCH 5/5] =?UTF-8?q?fix:=E5=8F=82=E8=80=83=E6=96=87=E7=8C=AE?= =?UTF-8?q?=E4=BF=AE=E6=AD=A3=EF=BC=8C=E4=B9=A6=E5=86=99=E9=94=99=E8=AF=AF?= =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/features/sm4_whitebox/nonlinearwbsm4/nonlinearwbsm4.md | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/docs/features/sm4_whitebox/nonlinearwbsm4/nonlinearwbsm4.md b/docs/features/sm4_whitebox/nonlinearwbsm4/nonlinearwbsm4.md index 038e2253..17dab8e3 100644 --- a/docs/features/sm4_whitebox/nonlinearwbsm4/nonlinearwbsm4.md +++ b/docs/features/sm4_whitebox/nonlinearwbsm4/nonlinearwbsm4.md @@ -35,7 +35,7 @@ B_2 & B_2 & B_3 & B_1 $$ 基于每一轮SM4算法的计算过程,图1-1中每一部分所实现的功能如下:Part 1和Part 4-1实现$ X_{i+1},X_{i+2},X_{i+3} $三者的按位异或运算;Part 2和Part 4-2实现该计算结果与轮密钥的按位异或运算,再将结果进行$ T $变换操作;最后,Part 3和Part 4-3实现上述$ T $变换的结果与$ X_i $的按位异或计算。 -在本方案中,我们将前述的运算过程以查找表的形式进行表示,并将这些查找表存储于本地设备上,需要特别指出的是,此处仅保存了每一部分运算中经过一系列变换复合后得到的最终变换所对应的查找表。如果为每个单独的变换都创建并存储其对应的查找表,那么置乱编码的关键信息将有可能被直接暴露,从而无法确保白盒实现方法的安全性。为了确保查找表能够准确反映每一部分的输入与输出之间的关系,对于每个可能的输入值,都必须存储其相应的输出值,因此,为了防止查找表的体积过大,我们不能为输入数据分配过多的位数。同时,为了确保查找表具有足够的混淆效果,输入数据的位数也不能设置得过少,在SM4算法中,每一轮的输入数据被划分为4个区块,每个区块包含32位,经过编码处理后,每个区块的长度仍然保持为32位。考虑到避免查找表占用过多内存,本实现方案将每一部分的输入数据以8位为单位进行细分。因此,上文中提到的混淆操作全部是基于四个并行的8位变换来实现的。对于Part 1、Part 2和Part 3,每张查找表的输入数据长度为8位,这意味着需要存储$ 2^{16}$条数据。而对于Part 4-1、Part 4-2和Part 4-3,由于需要实现包含编码和解码操作的按位异或功能,每张查找表的输入数据长度为16位,因此需要存储$ 2^{16}$条数据。通过这种设计,我们能够在保证查找表具有足够混淆效果的同时,有效控制查找表的体积,从而在白盒环境下实现SM4算法的安全运算。 +在本方案中,我们将前述的运算过程以查找表的形式进行表示,并将这些查找表存储于本地设备上,需要特别指出的是,此处仅保存了每一部分运算中经过一系列变换复合后得到的最终变换所对应的查找表。如果为每个单独的变换都创建并存储其对应的查找表,那么置乱编码的关键信息将有可能被直接暴露,从而无法确保白盒实现方法的安全性。为了确保查找表能够准确反映每一部分的输入与输出之间的关系,对于每个可能的输入值,都必须存储其相应的输出值,因此,为了防止查找表的体积过大,我们不能为输入数据分配过多的位数。同时,为了确保查找表具有足够的混淆效果,输入数据的位数也不能设置得过少,在SM4算法中,每一轮的输入数据被划分为4个区块,每个区块包含32位,经过编码处理后,每个区块的长度仍然保持为32位。考虑到避免查找表占用过多内存,本实现方案将每一部分的输入数据以8位为单位进行细分。因此,上文中提到的混淆操作全部是基于四个并行的8位变换来实现的。对于Part 1、Part 2和Part 3,每张查找表的输入数据长度为8位,这意味着需要存储$ 2^{8}$条数据。而对于Part 4-1、Part 4-2和Part 4-3,由于需要实现包含编码和解码操作的按位异或功能,每张查找表的输入数据长度为16位,因此需要存储$ 2^{16}$条数据。通过这种设计,我们能够在保证查找表具有足够混淆效果的同时,有效控制查找表的体积,从而在白盒环境下实现SM4算法的安全运算。 显然,Part 4-1、 Part 4-2 和 Part 4-3 中的查找表占据了大部分的存储空间。因此本方案对有关查找表的编码与解码函数进行设计,使得 Part 4-1与 Part 4-2的查找表能够重复利用,从而降低了对存储空间的需求。如图1-1所示,对 Part 4-1和Part 4-2,其中一个输入的解码函数,即$ E_i $和$ Q_i^{-1} $,与输出的编码函数,即$E_i^{-1} $和$ Q_i $相匹配。为了进一步提升查找表的多样性和含混度,在输出编码时分别引入仿射变换$ G_i $和$ H_i $,可以在不影响查找表功能,同时不增加内存占用的前提下,有效提升其安全性。由于仿射变换的引入,其他部分的查找表也需要增加相应的混淆函数,具体的添加方式如图1-1所示。通过以上的设计,部分查找表可实现复用,进而使得所需要的总存储空间减少了大约一半。大部分设备的内存空间足够用来存储本实现方法,可以保证本方案在大多数情况下的实用性。 @@ -291,7 +291,4 @@ int main() { > > [10]YANG Y T, DONG H, ZHANG Y, ZHANG Y S. WBDL: Improved SM4 dynamic white-box cryptographic algorithm[J]. Journal of Cryptologic Research, 2023, 10(4): 796–812. > -> [11]Bai K, Wu C. A secure white‐box SM4 implementation[J]. Security and Communication Networks, 2016, 9(10): 996-1006. -> ->