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函数提供了方向和思路。
超级会员免费看
53

被折叠的 条评论
为什么被折叠?



