41、3对1和幂APN S盒的研究

3对1和幂APN S盒的研究

1. 基本概念

在密码学中,为了抵抗对分组密码的差分攻击,δ(F)的值需要尽可能低。由于对于非零的a∈Vm,有DaF(x) = DaF(x + a),所以δ(F) ≥ 2且为偶数。当等式成立时的S盒是抵抗差分攻击的最佳选择。
- APN S盒定义 :若S盒F : Vm → Vm满足δ(F) = 2,则称其为几乎完美非线性(Almost Perfect Nonlinear,APN)S盒。
- APN性质判定引理 :F : Vm → Vm是APN的充要条件是不存在不同的x, y, z ∈ Vm,使得F(x) + F(y) + F(z) + F(x + y + z) = 0。
- 3对1 S盒定义 :当m为偶数时,若S盒F : Vm → Vm满足F⁻¹(0) = {0},且对于a ∈ Vₘ* = Vm \ {0},|F⁻¹(a)| = 3或0,则称F为3对1 S盒。这是因为当m为奇数时,2ᵐ - 1不能被3整除。

APN性质在扩展仿射(Extended Affine,EA)变换和CCZ变换下保持不变。两个S盒F和F′是EA等价的,若存在两个仿射置换A1、A2和一个仿射函数A,使得F′ = A1 ∘ F ∘ A2 + A。CCZ等价对应于两个S盒图形的仿射等价,EA等价是CCZ等价的一种特殊情况。

2. S3对1 APN S盒

当m为偶数且k = (2ᵐ - 1) / 3时,我们可以构造一种特殊的3对1 APN S盒,即S3对1函数。
- S3对1函数构造 :将Vm划分为不相交的部分P0 = {0}, P1, P2, …, Pk,其中每个集合Pi(1 ≤ i ≤ k)包含3个不同的元素a, b, c,且a + b = c(即Pi ∪ P0,1 ≤ i ≤ k是二维平面)。再设U ⊂ Vm是一个有序集,且|U| = k + 1。则S盒F : Vm → Vm定义为:当x ∈ Pi时,F(x) = ui,其中ui是U中的第i个元素。
- 相关符号表示
- F(Pi) = y表示对于x ∈ Pi,有F(x) = y。
- 对于x ∈ Vm,P(x) = Pi表示x ∈ Pi。

命题1 :若S3对1函数F满足U中不存在四个不同的元素w, x, y, z使得w + x + y + z = 0,则F是APN的。
证明思路 :要证明对于任意不同的a, b, c, d ∈ Vm,当a + b + c + d = 0时,F(a) + F(b) + F(c) + F(d) ≠ 0。分两种情况讨论:若a, b, c, d来自四个不同的划分,根据假设可得F(a) + F(b) + F(c) + F(d) ≠ 0;若至少有两个元素(如a和b)来自同一划分,则F(a) + F(b) + F(c) + F(d) = F(c) + F(d)。要使F(c) + F(d) = 0,c和d需在同一划分,但由于每个划分包含3个或1个元素,且不同划分的元素相加不为0,所以F(a) + F(b) + F(c) + F(d) ≠ 0。

示例1 :当m = 4时,Vm的划分如下:P0 = {0},P1 = {1, 2, 3},P2 = {4, 8, 12},P3 = {5, 10, 15},P4 = {6, 11, 13},P5 = {7, 9, 14},集合U = {0, 1, 2, 4, 8, 15}。定义F为F(P0) = 0;F(P1) = 1;F(P2) = 2;F(P3) = 4;F(P4) = 8;F(P5) = 15,则F是APN的。

然而,当m ≥ 6时,不存在满足条件的集合U。
定理1 :对于m ≥ 6(m为偶数),不存在大小为k + 1的集合U ⊂ Vm,使得对于所有不同的w, x, y, z ∈ U,有w + x + y + z ≠ 0。
证明思路 :采用归纳法证明。
- 基础情况(m = 6) :构造一个最大的集合W ⊂ V6,使得W中不存在不同的w, x, y, z满足w + x + y + z = 0。由于W是最大的,它必须包含V6的一个基。不妨设W包含单位基e1 = (0, 0, 0, 0, 0, 1),e2 = (0, 0, 0, 0, 1, 0),…,e6 = (1, 0, 0, 0, 0, 0)和零元素0。从W = {0, e1, …, e6}开始添加元素,发现不能添加权值为2和3的向量,添加权值为6的向量后不能添加权值为4或5的向量,不能添加两个或更多权值为5的向量,最多添加2个权值为4的向量。所以W的最大大小为10,而我们需要大小为(2⁶ - 1) / 3 = 21的集合,因此定理对于m = 6成立。
- 归纳步骤 :假设定理对于m = t成立,证明对于m = t + 2成立。采用反证法,假设存在大小为(2ᵗ⁺² - 1) / 3的集合U。将U划分为4部分U00, U01, U10和U11,根据鸽巢原理,必有一个Uij满足|Uij| ≥ (2ᵗ - 1) / 3。去掉第t + 1和t + 2个坐标后,Uij可用于m = t的情况,这与假设矛盾。

定理2 :S3对1函数F是APN的充要条件是对于所有x, y ∈ Vm,当P(x) ≠ P(y)时,对于所有z ∈ Vm且z ∉ P(x) ∪ P(y) ∪ P(x + y),有F(x) + F(y) + F(z) + F(x + y + z) ≠ 0。
证明思路 :利用引理1,通过排除一些y和z的值,证明这些被排除的值不满足F(x) + F(y) + F(z) + F(x + y + z) = 0。例如,当y ∈ P(x)时,根据Pi的构造,有x + y ∈ P(x)。若F(x) + F(y) + F(z) + F(x + y + z) = 0,即F(z) + F(x + y + z) = 0,会导致x + y + z ∈ P(z),即x + y ∈ P(z),这意味着x, y, z, x + y + z ∈ P(x),与它们都不同矛盾。

注1 :在构造1中,每个集合Pi ∪ {0}(0 < i ≤ k)构成一个二维子空间。若使用维数大于2的子空间,F不能是APN的。因为当Pi ∪ {0}的维数大于2时,Pi将包含一个子集{x, y, x + y, z, x + z, y + z, x + y + z},其中最后4个元素相加为零。

定义4 :若S3对1函数F : Vm → Vm满足F(Pi) ∈ Pi(0 ≤ i ≤ k),则称其为恒等S3对1(Identity S3 - to - 1,IDS3对1)函数。IDS3对1函数类似于恒等函数,共有3ᵏ个IDS3对1函数。
定理3 :当m ≥ 6时,IDS3对1函数不是APN的。
证明思路 :设Pi = {ui, u′i, u′′i},其中F(Pi) = ui(1 ≤ i ≤ k)。令sij = ui + uj(1 ≤ i < j ≤ k)。若所有sij不都不同,则存在si1i2 = si3i4,即ui1 + ui2 + ui3 + ui4 = 0,这意味着F不是APN的。若所有sij都不同,由于sij的数量为k(k - 1) / 2,u′i和u′′i的数量为2k,当m ≥ 6时,k(k - 1) / 2 > 2k,所以存在si1i2 = ui3,即ui1 + ui2 + ui3 = 0,因此F不是APN的。

3. 已知的APN函数为S3对1函数的例子
  • 幂APN函数 :偶数变量的幂APN函数形式为F(X) = X³ᵈ,其中gcd(d, k) = 1且k = (2ᵐ - 1) / 3。设α是Vm的一个本原元,由于m为偶数,V2是Vm的一个子域,β = αᵏ是V₂ = {1, β, β²}的生成元。考虑Pi₊₁ = αⁱV₂ = {αⁱ, αⁱβ, αⁱβ²}(0 ≤ i < k)和P0 = {0},{Pi, 0 ≤ i ≤ k}构成Vm的一个不相交划分,且αⁱ + αⁱβ + αⁱβ² = 0。对于S盒F(X) = X³ᵈ,F(Pi₊₁) = {α³ᵈⁱ, α³ᵈⁱβ³ᵈ, α³ᵈⁱβ⁶ᵈ} = α³ᵈⁱ(0 ≤ i < k)。因为gcd(d, k) = 1,所以α³ᵈⁱ ≠ α³ᵈʲ(0 ≤ i < j < k),即|F⁻¹(α³ᵈⁱ)| = 3。这里U = {0} ∪ {α³ⁱ, 0 ≤ i ≤ k - 1},因此幂APN函数满足构造1,遵循定理2中对APN S盒的限制。
  • F(X) = X³ + tr(X⁹) :函数F(X) = X³ + tr(X⁹)(其中tr(X) = ∑⁽ᵐ⁻¹⁾₍ᵢ₌₀₎ X²ⁱ是从Vm到V1的迹函数)是APN函数。当m ≥ 7且m > 2p(p是满足m ≠ 1,m ≠ 3且gcd(m, p) = 1的最小正整数)时,X³ + tr(X⁹)与Vm上的所有幂函数CCZ不等价。类似于幂函数的情况,可以证明对于Vm中的本原元α,F(αⁱ) = F(αⁱ⁺ᵏ) = F(αⁱ⁺²ᵏ)(0 ≤ i < k = (2ᵐ - 1) / 3)且F(0) = 0。设x = αⁱ,y = αʲ(0 ≤ i < j < k),通过证明tr(x⁹ + y⁹) ≠ x³ + y³,可得F(x) ≠ F(y),因此X³ + tr(X⁹)是S3对1函数。

以下是一些相关的表格,展示了不同情况下幂函数不是APN的m值:
| p | d | Result: m such that Xᵈ is not APN |
|----|----|----|
| 1 | 1 | X can not be APN for any m |
| 2 | 3 | no information for X³ |
| 3 | 7 | X⁷ can not be APN if m is even |
| 4 | 15 | X¹⁵ can not be APN if 3 | m |
| 5 | 31 | X³¹ can not be APN if m is even |
| 6 | 63 | X⁶³ can not be APN if 5 | m |
| 7 | 127 | X¹²⁷ can not be APN if 2 | m or 3 | m |
| 8 | 255 | X²⁵⁵ can not be APN if 7 | m |
| 9 | 511 | X⁵¹¹ can not be APN if m is even |
| 10 | 1023 | X¹⁰²³ can not be APN if 3 | m |

d Result: m such that Xᵈ is not APN
5 X⁵ can not be APN if 3
9 X⁹ can not be APN if 7
11 X¹¹ can not be APN if 2
13 no information for X¹³
17 X¹⁷ can not be APN if gcd(15, 2ᵐ - 1) ≠ 1 i.e., m is even
19 X¹⁹ can not be APN if 2
21 X²¹ can not be APN if 19
23 X²³ can not be APN if 2
25 no information for X²⁵
27 no information for X²⁷
29 X²⁹ can not be APN if 2

mermaid格式流程图如下:

graph TD;
    A[开始] --> B[判断m是否为偶数];
    B -- 是 --> C[考虑3对1 S盒];
    B -- 否 --> D[不考虑3对1 S盒];
    C --> E[构造S3对1函数];
    E --> F[判断是否满足APN条件];
    F -- 是 --> G[得到APN S盒];
    F -- 否 --> H[不满足APN];
    D --> I[研究幂函数APN条件];
    I --> J[判断是否满足APN条件];
    J -- 是 --> G;
    J -- 否 --> H;
    G --> K[结束];
    H --> K;

这些表格和流程图有助于我们更清晰地理解不同情况下幂函数的APN性质以及S盒的构造和判断过程。通过对这些概念和例子的研究,我们可以更好地理解3对1和幂APN S盒的特性,为密码学中的相关应用提供理论支持。

3对1和幂APN S盒的研究

4. 幂函数成为APN的必要条件

在研究幂函数 $F: X \to X^d$($X \in V_m$)是否为APN时,我们需要考虑一般情况下的 $m$,除非特别说明是偶数或奇数。目前,并非所有幂APN函数都有完整的特征描述,但已有一些关于幂函数成为APN的必要条件的研究结果。

  • 若 $F$ 是APN的,则当 $m$ 为奇数时,$\gcd(d, 2^m - 1) = 1$;当 $m$ 为偶数时,$\gcd(d, 2^m - 1) = 3$。
  • 若存在 $h$ 整除 $m$,且 $d = l(2^h - 1) + 2^r$(其中 $l$ 和 $r$ 为某些值),则 $F$ 不是APN的。

为了进一步研究,我们对引理1进行简化,得到以下引理:
引理2 :幂S盒 $F: V_m \to V_m$ 是APN的充要条件是,不存在不同的 $x \neq 1$ 和 $y \neq 1$ 属于 $V_m$,使得 $1 + S(x) + S(y) + S(1 + x + y) = 0$。

证明过程较为简单,因为对于不同的 $x \neq 0$,$y$,$z$ 属于 $V_m$,有 $x^d + y^d + z^d + (x + y + z)^d = x^{-d}[1 + (\frac{y}{x})^d + (\frac{z}{x})^d + (1 + \frac{y}{x} + \frac{z}{x})^d]$。

将引理2用本原元表示,得到以下命题:
命题2 :对于本原元 $\alpha \in V_m$,幂S盒 $F: V_m \to V_m$ 是APN的充要条件是:
1. 不存在 $0 < i < 2^m - 1$,使得 $1 + F(\alpha^i) + F(1 + \alpha^i) = 0$(即当 $x$,$y$,$1 + x + y$ 中有一个为零时的情况)。
2. 不存在 $0 < i < j < 2^m - 1$,使得 $1 + F(\alpha^i) + F(\alpha^j) + F(1 + \alpha^i + \alpha^j) = 0$(即当 $x$,$y$,$1 + x + y$ 都不为零时的情况)。

因此,通过求解命题2中的条件1和条件2,就可以判断幂函数(如 $X^d$)的APN性质。若能将条件2简化为条件1,判断过程将更加简单。接下来,我们研究在什么情况下可以实现这种简化。

引理3 :假设 $wt(d) = 2$,则对于 $a$,$b$,$c \in V_m$ 且任意 $m > 0$,有 $a^d + b^d + c^d + (a + b + c)^d = (a + b)^d + (a + c)^d + (b + c)^d$。

由于 $d$ 的形式为 $2^p + 2^q$,该引理可根据Lucas定理直接得出。

定理4 :二次S盒 $F: V_m \to V_m$(其中 $F(X) = X^d$ 且 $wt(d) = 2$)是APN的充要条件是,不存在 $0 < i < 2^m - 1$,使得 $1 + \alpha^{id} + (1 + \alpha^i)^d = 0$,其中 $\alpha$ 是 $F_{2^m}$ 中的本原元。

证明 :我们将命题2中的条件2简化为条件1。对于 $0 < i < j < 2^m - 1$,有:
[
\begin{align }
1 + \alpha^{id} + \alpha^{jd} + (1 + \alpha^i + \alpha^j)^d &\neq 0\
\Rightarrow (1 + \alpha^i)^d + (1 + \alpha^j)^d + (\alpha^i + \alpha^j)^d &\neq 0 \text{ (根据引理3)}\
\Rightarrow 1 + [(1 + \alpha^i)^{-1}(1 + \alpha^j)]^d + (1 + (1 + \alpha^i)^{-1}(1 + \alpha^j))^d &\neq 0\
\Rightarrow 1 + \alpha^{ld} + (1 + \alpha^l)^d &\neq 0 \text{ (其中 } 0 < l < 2^m - 1 \text{)}
\end{align
}
]

因此,二次函数 $F(X) = X^d$ 是APN的充要条件是方程 $1 + x^d + (1 + x)^d = 0$ 在 $V_m \setminus {0, 1}$ 中无解。根据Lucas定理,$1 + x^d + (1 + x)^d = x^{2^p} + x^{2^q} = 0$ 当且仅当 $\gcd(2^p - 2^q, 2^m - 1) \neq 1$(其中 $d = 2^p + 2^q$)。所以,$X^d$ 是APN的当且仅当 $\gcd(2^p - 2^q, 2^m - 1) = 1$,即 $\gcd(p - q, m) = 1$。

接下来,我们利用条件1研究幂函数 $X^d$ 在哪些情况下不是APN的。由于 $X^d$ 是APN的当且仅当 $X^{2d}$ 是APN的,我们考虑 $d$ 为奇数的情况。

将奇数 $d$ 表示为:
[
d = (2^{a_0} - 1) + 2^{a_0 + b_0}(2^{a_1} - 1) + \cdots + 2^{\sum_{i = 0}^{q - 2}(a_i + b_i)}(2^{a_{q - 1}} - 1) + 2^{\sum_{i = 0}^{q - 1}(a_i + b_i)}(2^{a_q} - 1)
]

其中 $a_i$($0 \leq i \leq q$)和 $b_i$($0 \leq i < q$)分别是 $d$ 的二进制表示中第 $i$ 个连续1和0的长度。

定理5 :设 $d$ 具有上述形式,记 $l_0 = d$,
[
l_1 = 2^{a_0 + b_0}(2^{a_1} - 1) + 2^{a_0 + b_0 + a_1 + b_1}(2^{a_2} - 1) + \cdots + 2^{\sum_{i = 0}^{q - 1}(a_i + b_i)}(2^{a_q} - 1)
]

[
l_j = 2^{a_{j - 1} + b_{j - 1}}(2^{a_j} - 1) + 2^{a_{j - 1} + b_{j - 1} + a_j + b_j}(2^{a_{j + 1}} - 1) + \cdots + 2^{\sum_{i = j - 1}^{q - 1}(a_i + b_i)}(2^{a_q - 1})
]

(即 $l_j = l_{j - 1} >> (a_{j - 2} + b_{j - 2}) - (2^{a_{j - 1}} - 1)$,其中 “$t >> n$” 表示整数 $t$ 右移 $n$ 位)。若满足以下条件:
- $\gcd(l_{i + 1} - 1, 2^m - 1) \neq 1$ 或 $\gcd(a_i, m) \neq 1$($0 \leq i < q$)。
- $\gcd(a_q - 1, m) \neq 1$。

则 $F(X) = X^d$ 不是APN的。

根据定理5,我们可以针对给定的 $d > 0$,确定一些 $m$ 的值,使得 $X^d$ 不是APN的。以下是一些具体的表格:

m Result: d such that $X^{2^l d}$, $l \geq 0$, is not APN
2 1
3 1
4 1, 5, 7, 11
5 1
6 1, 5, 7, 9, 11, 15, 17, 19, 23, 29, 31, 35, 37, 39, 41, 43, 47, 59
7 1
8 1, 5, 7, 11, 17, 19, 23, 29, 31, 35, 41, 43, 47, 57, 59, 65, 67, 71, 77, 79, 83, 89, 91, 95, 113, 115, 117, 119, 125, 127, 131, 137, 139, 143, 155, 161, 163, 167, 173, 175, 177, 179, 183, 185, 187, 189, 191, 227, 233, 235, 237, 239, 251
9 1, 9, 11, 15, 23, 37, 39, 65, 67, 71, 79, 93, 95, 121, 123, 127, 135, 149, 151, 177, 179, 183, 191, 247, 261, 263, 289, 291, 295, 303, 317, 319, 359, 373, 375, 485, 487
m (#filtered $X^d$, $2^m - 2$), m (#filtered $X^d$, $2^m - 2$),
even (#filtered $X^e$, $t$) odd (#filtered $X^e$, $t$)
where $\gcd(e, 2^m - 1) = 3$, where $\gcd(e, 2^m - 1) = 1$,
$t = {d : \gcd(d, 2^m - 1) = 3} $ $t =
$1 \leq d \leq 2^m - 2$ and $1 \leq e \leq 2^m - 2$ $1 \leq d \leq 2^m - 2$ and $1 \leq e \leq 2^m - 2$
2 (2, 2), (0, 0) 3 (3, 6), (3, 6)
4 (10, 14), (0, 4) 5 (5, 30), (5, 30)
6 (51, 62), (6, 12) 7 (7, 126), (7, 126)
8 (200, 254), (32, 64) 9 (189, 510), (189, 432)
10 (820, 1022), (150, 300) 11 (11, 2046), (11, 1936)
12 (3842, 4094), (468, 576) 13 (13, 8190), (13, 8190)
14 (10885, 16382), (1036, 5292) 15 (10785, 32766), (9615, 27000)
16 (50424, 65534), (10384, 16384) 17 (17, 131070), (17, 131070)
18 (228573, 262142), (36540, 46656) 19 (19, 524286), (19, 524286)
20 (827884, 1048574), (178660, 240000) 21 (297612, 2097150), (290997, 1778112)
22 (2101099, 4194302), (199386, 1320352) 23 (23, 8388606), (23, 8210080)
24 (15070558, 16777214), 25 (223750, 33554430),
(1961688, 2211840) (223100, 32400000)
26 (24603358, 67108862), 27 (8321670, 134217726),
(53326, 22358700) (8160102, 113467392)

mermaid格式流程图如下:

graph TD;
    A[给定幂函数 $X^d$] --> B[判断 $d$ 的形式];
    B -- $d = 2^p - 1$ --> C[根据 $\gcd(p - 1, m) \neq 1$ 判断];
    B -- $d \neq 2^p - 1$ 且为奇数 --> D[根据定理5判断];
    C -- 不满足条件 --> E[$X^d$ 可能是APN];
    C -- 满足条件 --> F[$X^d$ 不是APN];
    D -- 不满足条件 --> E;
    D -- 满足条件 --> F;
    E --> G[进一步验证];
    F --> H[排除该函数];
    G -- 通过验证 --> I[$X^d$ 是APN];
    G -- 未通过验证 --> F;
    I --> J[结束];
    H --> J;
5. 总结与应用

通过上述研究,我们对3对1和幂APN S盒有了更深入的理解。在寻找优秀的APN S盒时,我们可以利用这些必要条件过滤掉一些明显不是APN的函数,从而节省搜索时间。具体操作步骤如下:
1. 对于给定的幂函数 $X^d$,首先判断 $m$ 的奇偶性。
2. 根据 $m$ 的奇偶性和 $d$ 的形式,参考相应的表格和定理进行初步判断。
3. 若满足不成为APN的条件,则直接排除该函数;若不满足条件,则进一步进行验证。

例如,当 $d = 2^p - 1$ 时,可根据 $\gcd(p - 1, m) \neq 1$ 快速判断;对于一般的奇数 $d$,可使用定理5进行判断。

在实际应用中,这些研究结果对于设计和分析密码系统具有重要意义。通过合理选择APN S盒,可以提高密码系统对差分攻击的抵抗能力,增强系统的安全性。同时,对于密码学研究者来说,这些理论和方法为进一步探索新的APN函数提供了方向和思路。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值