摘要
几乎完全非线性(almost perfect nonlinear, APN)函数因差分性质最优,成为密码函数领域研究重点。本文系统综述了APN函数研究进展:一是总结APN算例的一般生成方法;二是提炼已有APN无限类的构造技术,并明确其具体构造;三是介绍APN无限类与算例的等价分类结果;四是梳理APN函数在置换性质、代数次数、非线性度等方面的研究结论;五是回顾APN函数在编码理论和组合设计中的一些应用;六是对APN函数的研究前景进行展望。目前,APN函数的构造仍以二次函数为主,尚未发现高次多项式无限类;“大APN问题”等重要难题仍未解决。未来研究可着力于构造非经典Walsh谱APN多项式、发掘高次APN多项式等,并拓展其在编码与组合设计中的新应用。
Abstract
APN (almost perfect nonlinear) functions, renowned for their optimal differential properties, have become a research focus in the field of cryptographic functions. This paper systematically reviewed the research progress of APN functions: first, it summarized the general methods for generating APN function examples; second, it refined the construction techniques of existing infinite families of APN functions and clarifies their specific constructions; third, it introduced the equivalence classification results of APN function examples and infinite families; fourth, it combed through the research conclusions on the cryptographic properties of APN functions, such as permutation property, algebraic degree, and nonlinearity; fifth, it reviewed some applications of APN functions in coding theory and combinatorial design; finally, the research prospects of APN functions were prospected. Currently, the construction of APN functions is still dominated by quadratic ones, and no infinite families of polynomials with higher algebraic degree have been found. Major challenges, such as the "big APN problem", remain unsolved. Future research may focus on constructing APN polynomials with non-classical Walsh spectra, discovering APN polynomials with higher degree, among others, and exploring their applications in coding theory and combinatorial design.
在人工智能和量子信息科技飞速发展的时代背景下,密码学已经从一项前沿科技,全面演进为维护国家安全的战略基石与核心支柱。分组密码算法作为众多密码系统的关键组成部分,在保障信息机密性与完整性方面发挥着不可替代的作用。在分组密码中,S盒(substitution boxes)是最常见且至关重要的非线性组件,其本质是有限域上的函数[1],承担着算法所必需的混淆功能。S盒的设计质量好坏主要取决于其抵抗各类密码攻击的密码学指标的性能优劣。
分组密码S盒的主要密码学指标是根据已知的密码分析方法所设定的[2-3],差分攻击[4]是分组密码分析中最有效的密码攻击之一,其基本原理是通过分析具有特定输入差分的明文对经过加密后得到的密文对的差分特征来恢复部分密钥的信息。一个密码函数的抗差分攻击能力由其差分均匀度决定[5]。差分均匀度越低,函数抵抗差分攻击的能力就越强。低差分函数的相关研究可参见文献[6]。在偶特征有限域上,任意一个函数的差分均匀度至少为2,若其差分均匀度等于2,则称该函数为几乎完全非线性(almost perfect nonlinear,APN)函数。因此,APN函数具有最优的抗差分攻击能力。
APN函数自20世纪90年代初被提出以来,因其优良的密码学性质,受到了国内外学者的广泛关注和研究,并在编码理论、组合设计等领域也有重要应用。2006年之前,已知的APN函数主要是单项式。此后,学者陆续发现了非单项式的APN算例并构造了无限类。尽管如此,APN函数仍显得十分稀少,尤其是无限类构造类别至今有限。目前,已知的APN单项式无限类仅有6类,而多项式无限类也不过20类,且后者的代数次数全部为2次。
近年来,关于APN函数生成与构造的研究已取得显著进展,同时其各类密码性质的研究也成果丰富,一些进展可参见文献[7-15]。本文系统梳理了国内外学者针对APN函数的生成和构造提出的研究方法,归纳了目前已发现的APN函数无限类,总结了APN函数之间的等价性结果,汇总了APN函数其他密码性质方面的已有结果,回顾了APN函数在编码和组合设计中的应用。
1 预备知识
1.1 基本概念
设n是一个正整数。表示包含2n个元素的有限域。对m|n,用Trnm(·)表示从有限域到的迹函数,即。当m=1时,Trn1(·)也被称为绝对迹函数。任意一个函数G: →在有限域上存在唯一一个次数至多是2n-1的多项式表示:
(1)
定义1(代数次数) G的代数次数deg(G),定义为满足式(1)中ai≠0的指数i的最大二进制重量(也称为2-重),其中i的2-重是其二进制表示中“1”的个数。代数次数为1的函数称作仿射函数,代数次数为2的函数称作二次函数。一个仿射函数G满足G(0)=0称作线性函数。
为评估密码函数抵抗差分攻击的能力,Nyberg首次给出了差分均匀度的定义[2]:
定义2(差分均匀度[5]) 对任意一个函数G: →,ΔG(a,b)表示方程G(x+a)+ G(x)=b在中解的个数。称多重集{ΔG(a,b):a∈,b∈}为G的差分谱,G的差分均匀度ΔG定义为
(2)
如果ΔG=2,则称G是APN函数。
Walsh变换是分析密码函数性质的重要工具,其定义如下:
定义3(Walsh变换) 函数G: →在(a,b)点的Walsh变换WG(a,b): 定义为
(3)
多重集WG={WG(a,b):a,b∈,a≠0}称为G的Walsh谱,由G的Walsh变换值的绝对值构成的多重集{WG(a,b):a,b∈,a≠0}称为G的扩展Walsh谱。
非线性度[18]是衡量密码函数抵抗线性攻击能力的密码指标,其本质是分支函数与所有仿射函数之间的最小汉明距离中的最小值,可以通过汉明距离与Walsh变换的关系给出:
定义4(非线性度[18]) 函数G: →的非线性度N(G)定义为
(4)
当n是奇数时,N(G)的上界是2n-1-2(n-1)/2,取得这一上界的函数称为AB(almost bent)函数。显然,AB函数只可能在奇数次扩张的有限域上存在。当n是偶数时,N(G)的已知上界是2n-1-2n/2。
1.2 函数的等价性
构造“新”的APN函数是密码函数研究中的一个核心问题,其关键在于证明新函数与所有已知APN函数均不等价。扩展仿射[5](extended affine,EA)等价和CCZ(Carlet-Charpin-Zinoviev)等价[19]是保持函数差分均匀度最常见的两个等价关系,特别地,二者都保持函数的APN性质。因此,判别新构造的APN函数与已知函数的EA或CCZ等价关系,已成为该领域的一个关键问题。EA等价和CCZ等价的定义如下:
定义5(EA等价[5]) 设G、H: →,如果存在两个仿射置换A1、A2,以及一个仿射函数A3,使得式(5)成立,则称G、H是EA等价的。
(5)
如果G、H是EA等价的,并且式(5)中A1、A2、A3是线性的,那么称G、H是扩展线性(extended linear,EL)等价的。如果G、H是EA等价的,并且式(5)中A3=0,那么称G、H是仿射等价的,特别地,如果A1、A2是线性的,则称G、H是线性等价的。
定义6(CCZ等价[19]) 设G、H: →,ΓG={(x,G(x)):x∈}表示函数G的图。若存在上的一个仿射置换A,将G的图映射到H的图,即A(ΓG)=ΓH,则称G、H是CCZ等价的。
事实上,EA等价是CCZ等价的一个特殊情形[19]。Budaghyan等[20]证明了对于上的Gold函数,存在CCZ等价但EA不等价于G的函数。因此,CCZ等价严格广泛于 EA 等价。进一步地,文献[21]中提出了一个构造CCZ等价但EA不等价于一个特定函数的方法。
2 生成APN算例的一般方法
APN算例的生成方法可分为两类:一是直接生成法,即直接生成或产生APN算例;二是间接生成法,即从已知函数(APN函数、向量Bent函数等)出发生成或产生新的APN算例。
2.1 直接生成法
1999年,Canteaut通过计算机搜索给出了当n≤25时,有限域上所有的APN单项式算例;之后,Edel将搜索范围扩大到n≤34以及n=36,38,40,42[22]。2006年,Edel等[23]首次发现了两个分别定义在和上的与单项式CCZ不等价的二次APN二项式算例。
2014年前后,翁国标等[24]和余玉银等[25]提出了生成二次APN算例的矩阵构造法(matrix construction approach),并发现了在n≤8的情况下有限域上有大量APN算例。例如余玉银等在和上分别生成了487个和8 157个新的二次APN算例。2022年,余玉银等[26]提出正交差分法(ortho-derivative method),进一步发展矩阵构造法,找到了上5 412个新的二次APN算例。一种与矩阵构造法相似的方法是熊海等[27]和Suder[28]提出的反向差分法(antiderivative method)。利用反向差分法构造APN算例的关键在于寻找一个满足相容性条件的2到1映射族Ω,即Ω中的任意两个2到1映射的线性组合依旧是2到1的。特别地,当反向差分法中的2到1映射是线性的(此时生成的APN算例是二次的)时,该方法等价于矩阵构造法。此外,Suder指出找到满足相容性条件的非线性2到1映射族是困难的。
2022年,Beierle等[29]提出递归树搜索(recursive tree search)的方法,结合代数次数为2以及线性自等价(linear self-equivalence)这两个特殊性质,发现了上12 733个新的二次APN算例,其中包括4个首次被发现的具有最高线性度的算例,以及有限域上35个新的二次APN算例。
2.2 间接生成法
2009年,Edel等[30]提出了转换构造法(switching construction method),该方法的思想是通过改变已有APN算例的部分坐标函数来生成新的APN函数。利用该方法,Edel等发现了有限域(n≤8)上一些新的APN算例,其中包括上一个非二次的APN算例以及一个具有最高线性度的二次APN算例。
在已有APN算例的基础上,通过增加若干项,生成新的APN算例也是一种常用方法,本文将该方法概括为加项构造法。Edel等提出的转换构造法可以被看成是一种特殊的加项构造法,即在已有APN函数的基础上,增加一个布尔函数。加项构造法的另一种特殊应用是加“少项数”多项式。该应用的一个优点是得到的APN算例形式简洁。2020年,Budaghyan等[31]对Edel等发现的上的APN二项式算例进行加项,发现了上3个APN四项式算例。2021年,Aleksandersen[32]对已知APN函数无限类在有限域和上的代表元进行加项,找到了上一个新的APN四项式算例,并发现一些形式复杂(项数多)的APN算例等价于四项式和五项式。
同痕等价(isotopic equivalence)是有限半域中的概念。2021年前后,Budaghyan等[33-34]将同痕引入APN函数的研究中,提出了同痕移动(isotopic shift)的构造方法,生成了有限域上17个新的二次APN算例。
2022年,Beierle等[35]提出修剪扩张法(trims and extensions),其主要思想是通过将上的APN算例限制在维数为n-1的线性或仿射超平面上,或者增加两个n元布尔函数和一个上向量值函数,利用有限域上的APN算例构造或者上的二次APN算例。基于该方法,Beierle等发现了上6 368个新的二次APN算例。
2025年,Taniguchi等[36]提出了一个二次APN函数的间接构造方法,即对已有二次APN函数添加形如Trn1(x)L(x)的项,其中L(x)是一个线性函数。运用该方法,Taniguchi等在上利用APN函数x3构造了一个与之CCZ不等价的二次APN算例。
2025年,Beierle等[37]结合增加坐标函数和逐步扩大输入空间维数两种方法,生成了上3 775 599个不等价的二次APN算例。这一结果首次将上的APN函数个数提升到了百万级。
此外,基于已知的等价类,并利用均匀抽样的测验方法,Beierle等[37]估计上不等价的APN函数的总数大约为600万。所以,设计搜索低维有限域上新的APN算例的有效方法是一个有重要理论价值的研究课题。
3 APN函数无限类的构造
构造CCZ等价意义下新的APN函数无限类是极其困难的。到目前为止,APN函数无限类构造包括单项式、单变元表示的多项式、双变元表示的多项式以及三变元表示的多项式。
2006年之前,学者主要通过分析小域上的APN算例,然后进行归纳总结,在有限域上得到了6类APN单项式无限类(CCZ等价的意义下),其构造如表1所示。Dobbertin猜想已知的单项式形式的APN函数无限类是完全的,即除了已有的6类,偶特征有限域上不存在其他的APN单项式[38]。
表1上已知的APN单项式无限类
Tab.1Known infinite families of APN monomials over
近年来,人们在二次APN多项式无限类的构造上取得了较大进展。2008年,通过对Edel 等发现的上一个APN二项式算例进行归纳总结,Budaghyan等[45]首次得到了两个APN多项式无限类。2009年,Browning等[46]指出,从形如f(x)=x(Ax2+Bxq+Cx2q)+x2(Dxq+Ex2q)+Gx3q的多项式中能够得到大量APN函数,其中q=2m(Bartoli等[47]在理论研究基础上对该结论进行了一些计算验证)。受此启发,2008年,Budaghyan等[48]构造了一个APN六项式无限类。加项构造法在构造APN多项式无限类的研究中同样展现了不错的效果。2009年,Budaghyan等[49-50]通过在Gold函数的基础上,增加3个特殊的布尔函数,得到了3个新的APN多项式无限类。Bracken等对Budaghyan等构造的一类APN二项式进行“加项”,在2008年和2011年先后构造了一个新的APN三项式[51]和四项式无限类[52]。2020年,利用同痕移动的构造方法,Budaghyan等[33]给出了一个APN五项式无限类。同年,Budaghyan等[31]对他们通过加项构造法得到的3个上的APN四项式算例展开分析,发现其中一个算例可以推广至无限类,进而构造了一类新的APN四项式无限类。2022年,郑立景等[53]将Budaghyan等构造的一类APN四项式进行推广,给出了一种基于迹函数的构造方法,得到了一个新的APN四项式无限类。李康荃等[54]提出线性置换替换法,对Bracken等构造的APN四项式无限类进行推广,构造了一个新的APN多项式无限类。有限域上单变元二次APN多项式无限类的构造有11类(CCZ等价的意义下),如表2所示。
当n=2m时,有限域可以视作×,于是上的多项式函数可表示为双变元的形式。双变元构造法是一种十分有效的方法。2011年前后,周悦等[55]和Carlet[56]利用向量Bent函数构造了上形如(xy,G(x,y))的双变元表示的APN函数无限类。之后,多位学者通过选择不同的多项式G,得到了新的APN函数无限类。2022年,Göloğlu[57]利用射影多项式,提出双射影构造法,即考虑上形如(G1(x,y),G2(x,y))的APN函数,其中G1和G2都是射影多项式,并得到了两个新的APN函数无限类。2021年,李康荃等[54]对Göloğlu构造的双射影APN函数无限类应用加项构造法,构造了上一个新的APN函数无限类。2024年,孙欢等[58]利用该方法得到了一类CCZ等价于APN函数无限类C3的双变元表示的APN函数。之后,施晨苗等[59]继续利用该方法构造了上一个新的APN函数无限类。2025年,Göloğlu等[60]利用双射影构造法,得到了一个包含更多CCZ等价类的APN函数无限类。上双变元表示的二次APN多项式无限类的构造有8类(CCZ等价的意义下),如表3所示。
表2上已知的单变元表示的二次APN多项式无限类
Tab.2Known infinite families of quadratic APN polynomials over in univariate form
类似地,当n=3m时,有限域可以视作××,于是上的多项式函数可表示为三变元的形式。2024年,李康荃等[64]运用三射影构造法构造了一类新的APN函数无限类,如表4所示。
线性置换替换法本质上是先将已有的无限类表示为含线性置换的形式,再将其替换为其他的线性置换,从而得到新的无限类。通过选取不同的线性置换(或对一类线性置换取不同参数),这一方法可能生成较多不等价的算例,但从理论上完全确定符合条件的线性置换(或一类线性置换的具体参数)一般是困难的。
从已有的无限类构造结果可以看出,对于单变元及多变元表示的APN函数,利用加项构造法进行间接构造均具有一定的适用性。而双变元构造法中基于Bent函数构造APN无限类的结果仅局限于双变元表示的情形,对于更一般的多变元表示的情形,尚未有相关结果。
此外,基于双射影构造法的思想,通过三射影构造法构造无限类是自然的。学者可类似推广得到四(多)射影构造法,需要注意的是,即使仅考虑平凡系数情形,在此构造方法下搜索APN算例的空间大小也将达到264(超过264),这使得在上进行完全搜索极为困难。
表3上已知的双变元表示的二次APN多项式无限类
Tab.3Known infinite families of quadratic APN polynomials over in bivariate form
表4上已知的三变元表示的二次APN多项式无限类
Tab.4Known infinite families of quadratic APN polynomials over in trivariate form
4 APN函数的等价性
APN函数的等价分类问题是其研究中的一个基础性重要课题。本节介绍低维有限域上算例的等价分类、无限类之间以及无限类内部函数的等价分类。
4.1 APN算例的等价分类
2008年,Brinkmann等[65]对n≤5时,有限域上的所有APN算例(都CCZ等价于一个幂函数)进行了完整分类。2020年,余玉银等[66]利用矩阵构造法给出了当n≤9时,有限域上系数落在F2中的二次APN算例的完整分类。2009年,Browning等[46]给出了上所有二次APN算例。2012年,Langevin等[67]进一步对上所有代数次数不超过3的APN算例进行分类(CCZ等价意义下一共14个,包含13个二次APN算例、1个三次APN算例)。2023年,Kalgin等[68]利用二次函数的矩阵表示找到了上一个新的二次APN算例,并且证明他们的结果完成了有限域上所有二次APN算例的分类(CCZ等价意义下一共488个)。2022年,Beierle等[35]利用修剪扩张法以及上所有二次APN算例的分类结果,给出了上所有具有最高线性度的二次APN算例的分类。2022年,Beierle等[69]分析了上已知的二次APN置换算例的CCZ等价分类,得到了它们的EA等价类个数的下界。
4.2 CCZ等价不变量
一般而言,理论上证明两个函数之间的CCZ等价关系是非常困难的。常用的方法是利用计算机测试两个函数在低维有限域上是否CCZ等价。其中判定码等价是常用的方法之一:设α是的一个本原元, G、H是上任意两个函数,当且仅当CG与CH同构时, G与H CCZ等价[46,51],其中CG是G所对应的线性码,校验矩阵为

(6)
另一种主要的方法是利用计算机计算低维有限域上算例的CCZ等价不变量并进行比较。如果两个函数的CCZ等价不变量不相同,那么它们CCZ不等价;反之如果它们的CCZ等价不变量相同,则不能说明这两个函数之间的CCZ等价关系。
当前,已有不少CCZ等价不变量被提出,但不是所有不变量都有效,例如,差分谱显然无法用于判断两个APN函数之间的等价性。扩展Walsh谱也是一个常见的CCZ等价不变量,但它通常也不是一个高效的不变量。
2009年,Edel等[30]在研究有限域上APN幂函数无限类中的算例是否都不等价这一问题时,提出了两个CCZ等价不变量:Γ-秩,Δ-秩。其定义如下:
定义7(Γ-秩 [30]) 设G是上任意一个APN函数。对a、b∈,定义
(7)
dev(ΓG)是一个设计,其中点集是,区块集是{ΓG·(a,b): a,b∈},称设计dev(ΓG)关联矩阵的秩为Γ-秩。
定义8(Δ-秩[30]) 设G是上任意一个APN函数。定义
(8)
dev(DG)是一个设计,其中点集是,区块集是{DG·(a,b): a,b∈},称设计dev(DG)关联矩阵的秩为Δ-秩。
不幸的是,计算Γ-秩和Δ-秩所需要消耗的内存非常高。当维数达到10时,计算Γ-秩需要大约500 GB的可用内存。需要注意的是,如果使用MAGMA编程实现这个方法,其计算结果在高维有限域上不一定准确。
2020年,Budaghyan 等[70]给出了APN函数的另一个CCZ等价不变量,并且当函数是二次时,这一不变量的计算特别高效。其定义如下:
定义9(ΠG [70]) 设G是上任意一个APN函数。对任意b、c∈,定义
(9)
其中,DcaG(x)=G(x)+G(x+a)+G(a+c)。多重集ΠG={|ΠG(b,c)|:b,c∈}是一个CCZ等价不变量。
对于n最大到11,ΠG的计算是非常迅速的。然而,对于奇数n,该不变量在区分不等价的函数时的效果较差:n取5、7、9、11时,ΠG只取两个不同的可能值[70]。
2025年,周子健等[71]通过运用拓扑数据分析中的持续同调和图论工具,提出了APN函数的若干新CCZ等价不变量。其中部分不变量能够有效区分多个已知的APN函数,包括上的x3和x9以及上的x3和x33(在此之前已有的CCZ等价不变量均无法区分这些函数),例如等价不变量Σ4,C。
定义10(Σ4,C[71]) 设G是上任意一个APN函数,CG是G所对应的线性码,d1是CG的极小重量。VC,m表示CG中由极小重量的码字构成的子集,即
(10)
KC,m表示子集VC,m的关联单纯复形,Σ4,C表示KC,m中所有长度为4的环的(顶点个数为4的完全子图)个数。
实际上,在区分不等价的二次APN函数时,将差分谱和扩展Walsh谱应用于对应的正交导数[74]变得有效。
定义11(正交导数[74]) 设G: →,G的正交导数定义为一个唯一的函数πG: →,πG(0)=0,满足对任意的a∈ \{0},都有πG(a)≠0成立,并且对任意的x∈,都满足
(11)
其中,Da(x)=G(x)+G(x+a)+G(a)+G(0)。
对于两个二次APN函数g、h,如果它们是CCZ等价的,那么它们的正交导数πg和πh是仿射等价的[74]。实际上,仿射等价(或者更一般的,CCZ等价)能保持函数的差分谱。因此,如果上的两个函数对应正交导数的差分谱不同,或者对应正交导数的扩展Walsh谱不同,那么这两个函数CCZ不等价。
计算正交导数的经典方法是试错(trial and error)法,该计算方法在sboxU的最新版本中已被实现[75](在Linux系统中使用sage-math运行)。但该算法的计算效率较低,其计算量随着维数的增加快速增大,因此如何提升正交导数的计算效率是研究高维数APN函数等价性的关键问题。
表5列出了上所有来自已知二次APN函数无限类中的算例对应正交导数的差分谱。
表5上已知二次APN函数无限类中所有算例对应正交导数的差分谱
Tab.5Differential spectra of the corresponding ortho-derivatives of all instances from known infinite families of quadratic APN functions over
注意到C9中的两个APN算例与C15中两个APN算例对应正交导数的差分谱相同,C10中的两个APN算例与C16中两个APN算例对应正交导数的差分谱相同,表6进一步给出这几个APN算例对应的正交导数的扩展Walsh谱。
显然,从表5~6中给出的实验数据可以看出,Gold函数,APN函数无限类C3、C4、C9、C10、C13、C15、C16、C17、C19属于不同的CCZ等价类。进一步,表7列出了上所有来自已知二次APN函数无限类中的算例对应的正交导数的差分谱。
表6上已知二次APN函数无限类中对应正交导数差分谱相同的算例的对应正交导数扩展Walsh谱
Tab.6Extended Walsh spectra of the corresponding ortho-derivatives of those instances from known infinite families of quadratic APN functions over whose corresponding ortho-derivatives share the same differential spectra
从表7的实验数据可以看出,Gold函数,APN函数无限类C4、C5、C6、C8、C11、C20属于不同的CCZ等价类。
表7上已知二次APN函数无限类中所有算例对应正交导数的差分谱
Tab.7Differential spectra of the corresponding ortho-derivatives of all instances from known infinite families of quadratic APN functions over
4.3 APN函数无限类的等价性理论证明
在2008年以前,学者对APN函数之间的CCZ等价性的理论研究主要集中在幂函数上。2016年,Yoshiara[76]利用APN幂函数的自同构群中的某些循环子群的共轭性质刻画了偶特征有限域上任意两个APN幂函数之间CCZ等价的充要条件。2008年,Budaghyan等[45]首先证明了若APN函数无限类C1、C2与Gold函数(Kasami函数)CCZ等价,则它们与Gold函数(Kasami函数)EA等价;然后基于此结论,在理论上证明了C1、C2 CCZ不等价于已知的APN幂函数无限类。2009年,Budaghyan等[49]通过证明当n≥7时,上的APN多项式f(x)=x3+Trn1(x9)与Gold函数EA不等价,理论上证明了其与Gold函数CCZ不等价,同时证明了f(x)在上与任意幂函数CCZ不等价,他们猜想当n≥7时,f(x)仍然具有这一性质。之后,Budaghyan等将f(x)进行推广得到了C4。2016年,Yoshiara[76]利用自同构群在图像上的双传递性质证明了如果一个二次APN函数与一个APN幂函数CCZ等价,那么它EA等价于某个Gold函数。此外,Yoshiara[77]利用群理论证明了对于两个二次APN函数,CCZ等价当且仅当EA等价。观察到Yoshiara的这两个结果可以将一个二次APN多项式函数与APN幂函数间的CCZ等价性问题转化为这个二次APN多项式函数与一个Gold函数之间的EA等价性问题。万前红等[78-79]给出了C1~C7、C9与任意APN幂函数CCZ不等价的理论证明,值得注意的是这证明了Budaghyan等提出的猜想。之后,施晨苗等[80-81]继续利用这一观察给出了C10、C19与任意幂函数之间CCZ不等价的理论结果。
2022年,Kaspers等[82]刻画了双变元表示的APN函数无限类C12内部函数CCZ等价的充要条件,首次给出了有限域(m是偶数)上CCZ不等价的APN函数总数的下界。此外,Kaspers等[83]刻画了上的双变元表示的APN函数无限类C13内部函数CCZ等价的充要条件,首次从理论上证明了上CCZ不等价的APN函数个数的下界随着维数的增加呈指数增长,这是一个非常有趣且重要的结果。2025年,Göloğlu等[60]进一步发展双变元表示的APN函数之间的CCZ等价理论,借助群论框架刻画了在一定条件下,两个双射影APN函数CCZ等价的充要条件。Göloğlu等进一步对双变元表示的APN函数无限类C12、C13、C15、C16、C18以及Gold函数完成了等价分类。此外,Göloğlu[84]给出了在由自然群作用定义的一类等价关系意义下,(q,q)双射影函数的分类理论结果。2024年,Kölsch[85]证明了当3不整除m时,上的双变元表示的APN函数无限类C15中非平凡系数的函数与平凡系数的函数 CCZ等价,进一步利用双变元表示的APN函数等价性框架给出了3整除m的情况下,无限类C15内部函数的CCZ等价分类结果。2025年,施晨苗等[86]理论证明了李康荃等[64]构造的两类三变元表示的APN函数无限类CCZ等价,并将判断双射影APN函数之间CCZ等价性的理论框架推广到三射影APN函数,进一步完成了无限类C20内部函数的CCZ等价分类。
尽管APN函数的等价性理论已经取得了丰硕成果,但目前仍缺乏针对单变元表示的APN多项式函数之间等价性判断的通用框架。此外,在多变元表示形式下,现有的等价性理论仅适用于双射影与三射影函数,因此进一步发展与完善现有的等价性理论,具有重要研究意义。
5 APN函数的密码学性质
为保证加解密可行性并避免熵漏,密码函数通常须具备置换性质。代数次数和非线性度是衡量密码函数安全性的两个重要指标:代数次数反映函数抵抗高阶差分攻击的能力,在实际应用中应避免取值过低;而非线性度则用于评估函数抵抗线性攻击的能力,其值越高越好。因此,对APN函数的置换性质、代数次数和非线性度的研究,一直是密码函数研究中的重要课题,学者也已在此方向上取得了丰富的成果。
5.1 置换性质
在CCZ等价意义下构造新的APN置换无限类尤其困难。容易验证,当n是奇数时,上6类已知的APN单项式无限类皆为置换。而在非单项式APN置换的无限类构造方面,迄今仅有两类被提出。2008年,Budaghyan等[45]首次构造出一类二项式APN置换无限类,即C1。2022年,Beierle等[35]运用修剪扩张法找到了上两个二次APN置换算例。随后,Beierle等[69]在后续研究中将这两个算例统一表示为单一的三变元形式,即f(x,y,z)=(x3+uy2z,y3+uxz2,z3+ux2y)。然而,Bartoli等[87]利用有限域上代数几何的工具证明了当n>9时,该函数在有限域上不包含APN置换。2024年,李康荃等[64]利用三射影构造法提出了另一类非单项式APN置换无限类的构造,即C20(当m是奇数时)。值得注意的是,C20在上的二次APN置换算例与Beierle等发现的两个二次APN置换算例在CCZ等价意义下是一致的。
当n是偶数时,上6类已知的APN单项式无限类都不是置换[88];此外,已知的APN多项式无限类在上也都不是置换。
实际上,当有限域扩张次数为偶数时,APN置换的存在性问题即为著名的“大APN问题”——当n为偶数时,是否存在上的APN置换?该问题自1993年被提出以来,就受到了学者的关注和研究,至今已公开30余年。
20 06年,侯向东[89]利用群论知识证明了以下结果:
引理[89] 设n是偶数,给定上一个置换G,如果以下条件之一成立,则G不是APN。
1) n≤4;
2)G是二次置换;
3)G的系数在子域上。
定义12(组件函数[90]) 设函数G: →。函数Gb(x)=Trn1(bG(x))称为G的组件函数,其中b∈。
2006年,Berger等[90]证明了不存在组件函数都是高原函数的APN置换。2011年前后,Pasalic等[93]、李永强等[94-95]证明了某些幂函数加上线性函数形式的函数一定不是APN置换。2017年,Calderini等[96]发现只要函数的组件函数中包含二次函数,则该函数一定不是APN置换。因此,这样的APN置换的代数次数最低只可能是3次。当然,也可能不存在3次APN置换。2018年,Carlet[97]证明了偶扩张上的幂函数一定不是APN置换。2024年,Musukwa等[98]利用二阶导给出了上3次APN置换存在的必要条件。
关于“大APN问题”唯一一个正面结果是2010年,Dillon等[99]找到了一个上的APN置换,这引起学者的广泛关注,其一元多项式表示为: u45x60+u41x58+u43x57+u4x56+u50x54+u20x53+ u45x52+u20x51+u23x50+u36x49+u56x48+u21x46+ u5x45+u21x44+u28x43+u3x42+u59x41+u58x40+ u57x39+u53x38+u37x37+u40x36+u18x35+u41x34+ u54x33+u3x32+u49x30+u41x29+u42x28+u50x27+ u53x26+u58x25+u9x24+x23+u28x22+u3x21+ u21x20+u52x19+u60x17+u59x16+u10x15+u42x13+ u8x12+u35x11+u44x10+u45x8+u8x7+u61x6+ u59x5+u20x4+u12x3+u37x2+u2x。其中u是本原多项式x6+x4+x3+x+1在上的根。该APN置换现在被称为“Dillon置换”。Dillon置换CCZ等价于一个被称为“Kim函数”的APN三项式,即x3+x10+ux24。到目前为止,n>6情况下的“大APN问题”仍然没有解决。2012年,Langevin等[67]结合计算机程序指出,上的所有二次APN置换一定CCZ等价于Dillon置换。2016年,Perrin等[100]通过逆向工程对Dillon置换进行分析,提出了“蝴蝶结构”的概念。之后,Canteaut等[101]将其推广至“广义蝴蝶结构”:
定义14(广义蝴蝶结构[101]) 设R是上双变元表示的多项式,满足对中所有y,Ry: 都是上的置换,的闭蝴蝶结构VR定义为
(12)
的开蝴蝶结构HR定义为
(13)
其中,Ry(x)=R(x,y),R-1y(Ry(x))=x。
2019年,Canteaut等[102]证明了从广义蝴蝶结构中无法得到新的APN置换。2021年,李康荃等[103]利用Hasse-Weil界给出了Kim函数一个推广形式(广义Kim函数)APN性质的完全刻画。在此基础上,Chase等[104]证明了从广义Kim函数中无法得到新的APN置换。2021年,Beierle等[105]发现所有已知的APN置换均满足“线性自等价”这一特殊性质(即对于APN置换F,存在非平凡线性置换A和B使得)。结合递归树搜索方法,他们利用计算机程序说明了有限域上满足线性自等价性质的APN置换均等价于Dillon置换。
因为Dillon置换是从一个已知APN函数通过CCZ等价得到的,所以研究“大APN问题”的一种途径是在已有APN函数的CCZ等价类中寻找APN置换。2020年前后,Göloğlu等[106-107]利用指数和等理论,证明了当扩张次数是偶数时,Gold函数和Kasami函数无法CCZ等价于置换。2023年,Budaghyan等[88]证明了3到1的二次APN函数在双偶维数的有限域上无法CCZ等价于置换。2025年,Bénéteau等[108]基于APN函数的Bent分支数给出了其CCZ等价于置换的一个必要条件。
5.2 代数次数
在6类已知的APN单项式无限类中,Gold函数的代数次数是2;Kasami函数的代数次数是i+1;Welch函数的代数次数是3;t是偶数时,Niho函数的代数次数是(t+2)/2, t是奇数时,其代数次数是t+1;Inverse函数的代数次数是n-1;Dobbertin函数的代数次数是i+3。所有已知的APN多项式无限类的代数次数都是2。对于小域上的APN函数算例,非二次的APN函数仅仅只有2009年Edel等[30]利用转换构造法找到的上1个三次APN函数算例。
2018年,Budaghyan等[109]猜想上不存在代数次数为n的APN函数,并利用转换构造法的思想,证明了特殊情况下该猜想的正确性。
有限域上已知APN函数的代数次数最大值为

(14)
特别地,所有已知的APN函数无限类(非单项式)都是2次的。一个自然的问题是:对于非单项式的APN函数,其代数次数最大能达到多少。另外,能否构造出代数次数大于2的APN函数无限类也是一个值得研究的困难问题。
5.3 非线性度
学者普遍认为APN函数的非线性度不会太差,但无法从理论上证明或者解释该现象。也就是说,给出APN函数非线性度的一个下界应该是一件困难的事情。2021年,Carlet[110]利用Walsh变换得到了上包括单项式APN函数无限类在内的满足特定条件的APN函数G的非线性度下界的一个结果:
(15)
对于有限域到自身的映射,AB函数是非线性度最优的函数。不过AB函数仅仅存在于n是奇数的情形。可以证明[111]AB函数一定是APN函数,反之未必。但当n是奇数时,所有的二次APN函数都是AB函数,也就是说,此时所有二次APN函数是同时抵抗差分攻击和线性攻击最优的密码函数。
计算已有APN函数无限类的非线性度,尤其是Walsh谱分布一般是一件困难的事情。目前已知的APN函数无限类的Walsh谱分布大多与Gold函数的Walsh谱分布一致。因此称Walsh谱分布与Gold函数一致的APN函数为经典的。在APN单项式中,偶扩张有限域上只有3类,即Gold函数、Kasami函数和Dobbertin函数,其中Gold函数和Kasami函数都是经典的。2022年,Budaghyan等[112]根据实验数据猜测了Dobbertin函数的Walsh谱分布,显示Dobbertin函数不是经典的。对于APN多项式,2007年至2019年,Bracken等[113-115]、屈龙江等[116-117]、Anbar等[118]陆续计算出一些已有APN函数无限类的Walsh谱分布,发现已有APN函数无限类(非单项式)都是经典的。2023年,Kölsch等[119]证明所有3到1的APN函数都是经典的,这为计算APN函数无限类的非线性度提供了便利。2020年之后构造的非3到1的APN函数无限类的非线性度取值问题到目前为止还没有被解决。不过从实验数据上来看,这些APN函数无限类都是经典的。也就是说,在偶扩张有限域上所有的APN函数无限类(非单项式)都是经典的。对于小域上的APN算例,非经典的结果也很少。2009年,Edel等[30]利用转换构造法找到了上1个非经典的APN算例。2022年,Beierle等[29]利用递归树搜索找到了上4个非经典的算例。一个值得探究的问题是能否构造非经典谱的APN多项式无限类。
6 APN函数的应用
本节简单介绍APN函数在编码理论和组合设计中的一些应用,包括由APN函数构造参数良好的线性码和t-设计。
6.1 由APN函数构造线性码
在编码理论中,APN函数可以用来构造性质优良的线性码。1998年,Carlet等[19]首次介绍了APN性质在纠错码构造上的应用:设G是上的一个APN函数,满足G(0)=0,利用G的图作为校验矩阵的组成部分,即:

(16)
其中,n=2m-1。由PG定义的线性码CG的参数为[2n-1,2n-2n-1,5]。该线性码可以检测最多4个错误,纠正最多2个错误。
利用APN幂函数,并选择合适的定义集可以构造线性码。2016年,丁存生[120]利用上的Gold APN函数,其中gcd(i,n)=1,通过定义集D={G(x)+G(x+1)+1:x∈}给出了一个1-重二进制线性码,其参数为[2n-1,n-1,2n-2]。
此外,利用APN幂函数,可以通过迹函数定义以下形式的长为2n的线性码:。
2020年,丁存生等[121]利用(n为奇数)上的Gold APN函数和Kasami APN函数等定义了如下线性码:。该线性码的参数是[2n,2n+1,2n-1-2(n-1)/2],其对偶码参数是[2n,2n-n-1,6]。2022年,项灿等[122]对由Gold APN函数生成的线性码 ,运用缩短技术的方法,得到了一些参数是已知最优的二进制线性码,例如[28,7,12]线性码、[13,6,4] 线性码以及[13,7,4]线性码等。
近年来,APN函数构造研究取得了较大进展,在此基础之上,利用新的APN函数构造具有更优参数的线性码已成为一个有价值的研究方向。
6.2 由APN函数构造t-设计
在组合设计中,可通过相对差分集将APN函数用于构造一类重要的组合设计——半对称设计:设G是上的一个APN函数,由点集×和区块集{{(x+a,G(x)+b): x∈}: a,b∈}可定义一个2-(22n,2n,λ)设计,该设计具有对称性和可计算性。
以有限域为点集,利用APN幂函数构造合适的区块集,其关联结构可给出一些t-设计。2020年,唐春明[128]利用APN函数给出了3-设计的两种构造。第一类由Kasami APN函数得到:设是(n为奇数)上的Kasami函数,其中gcd(i,n)=1。定义
(17)
其中,s=22i-2i+1,则关联结构(,GA1(B))是一个3-(2n,2n-1,22n-3-2n-1)设计,其中GA1是上的一次一般仿射群。第二类3-设计由Gold APN函数导出:设是(n是大于等于4的奇数)上的Gold函数,其中gcd(i,n)=1。定义
(18)
其中,s=2i+1,则关联结构(,GA1(Bs))是3-(2n,2n-1,2n-2-1)设计。
实际上,一些t-设计可由线性码导出。2020年,丁存生等[121]通过由APN函数构造的参数为(n为奇数)的线性码及参数为[2n,2n-n-1,6]的对偶码,运用Assmus-Mattson定理给出了3-(2n,k,λ)设计的构造。2020年,唐春明等[129]推广了Assmus-Mattson定理,在此基础上证明了以下结果:设G是上2-值差分的且振幅是s的Plateaued函数,则线性码及其对偶码C⊥G支持2-设计。这一结果表明当G是AB函数时(n为奇数),即当G是具有经典Walsh谱的APN函数时,CG和C⊥G支持2-设计。2023年,Meidl等[130]证明了对于(n为偶数)上具有经典Walsh谱的APN函数G,若G CCZ等价于一个二次函数,则由式(6)生成的线性码CG和C⊥G支持2-设计。
基于APN函数构造的丰富成果,如何进一步构造更多结构复杂、类型丰富的组合设计(例如t-设计,t>2)是一个值得深入探究的重要课题。
7 总结与展望
总体而言,国内外学者在APN函数研究领域取得了显著进展,通过多种不同的生成和构造方法得到了许多新的APN函数(无限类),并解决了APN函数的一系列相关问题,包括APN函数的等价性以及密码性质等。然而,该领域仍有许多关键问题未被解决,例如“大APN问题”,即当偶数n≥8时,是否存在上的APN置换?Dobbertin关于偶特征有限域上不存在其他APN单项式的猜想是否正确?能否从理论上给出APN函数个数的渐进界?如何构造高次(如三次、四次)APN多项式无限类?此外,如何构造非经典谱的APN多项式无限类也是亟待解决的问题。进一步解决这些问题仍然具有重要的理论价值与实际意义。




