1. 引言
近些年来,随着安全多方计算(Secure Multi-Party Computation, MPC)、全同态加密(Fully Homomorphic Encryption, FHE)以及零知识证明(Zero-Knowledge proofs, ZK)等广泛的应用,对称密码的基本构件的设计有了新的要求,其设计重心从传统的运算友好转向在大素数域上减少乘法的次数,即减小乘法复杂度。这一趋势在面向算术化的密码方案中表现得尤为明显(参见文献[1]-[7])。由此,构造一个具有低乘法复杂度且可逆的非线性层成为了值得关注的问题:一方面需要非线性层具有可逆性以支撑迭代轮函数的置换性质,另一方面非线性层需保持足够的代数复杂性质以抵抗代数攻击。
众所周知,迭代型对称密码算法通常是对轮函数进行多轮迭代实现加解密的,而轮函数往往可分解为“非线性层 + 线性层”,可写作
其中
为非线性层,
为可逆的线性层,
为轮常数。在面向算术化的对称密码算法中仍使用这种迭代结构,只是底层运算从二元域上的比特运算拓展为素数阶有限域上的运算。Lorenzo Grassi等在文献[8]中针对非线性层的构造,定义了一类移位不变(shift-invariant)函数
:从一个局部映射
出发,在
上定义映射
其中指标按
取模。该函数
具有移位不变性,即对
上的任意平移置换
都有
,我们把由局部映射
所定义的移位不变函数
称为由
诱导的移位不变
-提升函数。上述定义的移位不变函数在二元域上的例子是Wolfram在文献[9]中定义的
函数,随后Daemen在文献[10]对其进行了系统的分析并证明了
所诱导的移位不变函数在奇数长度上可逆。
函数的应用参见文献[11],[12]等。
然而,将上述可逆构造直接迁移到大素域
并不顺利。我们期望构造的是以低次数(尤其是二次)局部映射
作为基本单元,在较大
上得到可逆的
,从而在每轮仅用
甚至更少的乘法实现非线性层。文献[8]给出了如下结果:当局部映射
为二次多项式时,使
成为可逆映射的
存在上界,即对于
,若
则不存在二次多项式
使
成为可逆映射;对于
,
同样不存在可逆映射
,并进一步猜想,当局部映射
为二次多项式时,对于固定的
,使
成为可逆映射的
的上界为
。
尽管存在上述结论,但是在某些具备特殊结构且满足一定条件的局部映射族中,可逆是必然存在的。文献[13]给出了一个例子即Lai-Massey构造:由
的局部映射
诱导的移位不变函数
,
可验证
是可逆的。文献[8]给出了对Lai-Massey构造的如下两种推广。
命题1 ([8]) 设
为素数。令
,并满足
是
的倍数(即
)或
是偶数。令局部映射为
其中
满足其构成的循环矩阵
可逆,并且
与
满足:
1) 若
,则对每个
有
;
2) 若
,则对每个
有
,并且
为偶函数,即对于任意
有
。
则由
在
上诱导的移位不变函数
是可逆的。
命题2 ([8]) 设
为素数,令
。设
,使得循环矩阵
可逆,取
。令
为任意函数,并定义
为
其中下标均按
取模。则由
在
上诱导的移位不变函数
是可逆的。
上述的命题1和命题2给出了两类可逆的移位不变函数
的构造。本文进一步推广了上述结果。首先,对于命题1,我们考虑了在
更一般的情况下,
与
所满足的限制条件,从而给出了更一般的可逆的移位不变函数
;其次对于命题2,我们将局部映射函数做进一步推广,并证明其诱导的移位不变函数依然可逆。通过对命题1和命题2的推广,可为密码算法提供更为丰富的可逆移位不变函数的构造。
2. 预备知识
设
为素数,令
表示模
的整数域,并令
表示当
时相应的向量空间。给定
,对每个
,用
表示它的第
个分量,即
或
定义1 令
为素数。取整数
,令
为一个非线性映射。定义
上的移位不变函数
为
其中
,并且下标按
取模。
记
为如下的循环矩阵:
3. 主要结果
在本节中,我们给出命题1和命题2的进一步推广。
定理1 设
为素数。令
,并满足
是
的倍数(即
)或
。令局部映射为
其中
满足其构成的循环矩阵
可逆,并且
与
满足:
1) 若
,则对每个
有
;
2) 若
,则对每个
有
,其中
为
上的
次单位根(即
),且
满足对于任意
有
。
则由
在
上诱导的移位不变函数
是可逆的。
证明 令
,
。并记循环矩阵
。对每个
,
的第
个坐标满足

令
,我们先说明对任意
都有
若
且
,此时
若
且
、
、
。则对任意
都有,
又因
对所有
成立,从而
。
因此对所有
都有
即向量形式

令
,注意到
,因此若
则
有非零核向量
与
可逆矛盾,故
。于是
,从而
令
,则
。接下来取
的加权和:
下面我们说明
在两种情形下都成立:
若
,则
。
若
且
、
,则
。
因此总有
。于是
可由
唯一确定,并且
这给出了从
唯一恢复
的显式逆映射,从而
是可逆的。证毕。
注释1 注意到,由定理1的条件2,我们可以取
为偶数,
为
上的
次单位根,此时
为偶函数,由此可见文献[8]中的命题1为定理1的一个特殊情况。
推论1 设
为素数,
,
为二次多项式函数
,且
。
若对任意
都有
,则必有
。并且若
,则必有
(即
)。
证明 由
与
对所有
恒等,得
作为多项式恒等式,其系数必须为零,故
,
。由
得
。此外若
,则由
推出
。证毕。
由推论1可知,当局部映射
为二次函数时,非平凡的单位根的取值只能是
。
类似推论1的证明,可得如下结论。
推论2 设
为素数且
,
,并令
为任意
次多项式且
。若对任意
都有
,则必有
特别地,当
为本原
次单位根时,必有
,从而
。
定理2 设
为素数,令
。设
,使得循环矩阵
可逆。取
,整数
满足
,并取
满足
。令
为任意函数,并定义局部映射
为
其中下标均按
取模。则由
在
上诱导的移位不变函数
是可逆的。
证明令
,并令
。记
则有
。令
表示循环移位算子,即
(下标按
取模)。则对任意
,
令
,由于外层对
的求和是循环的,可得
因此由定义1,第
个输出坐标为

令
,则可写成

记
。注意到
。由
是可逆矩阵,所以
。于是
。令
,则

记
,则
。由
,对任意
有
因此
从而
可由
唯一确定,并且
。这给出了从任意
唯一恢复
的逆映射,因此
可逆。证毕。
注释2 注意到当
,
,可得到
即文献[8]中命题2给出的局部映射。我们可以取更一般的形式,当
,
,可得到
需要强调的是,本文关注的对象是单轮非线性层,其设计目标侧重于在大素数有限域上实现低乘法复杂度与可逆性。因为在MPC/FHE/Zk这类算数化场景中,系统开销几乎由乘法门数主导的,因此乘法复杂度决定了非线性层在证明规模、约束数、运行时间上的成本上限。下面我们给出定理1和定理2两种移位不变函数的乘法复杂度(只统计非线性乘法门数目
)。对于定理1中的可逆移位不变函数,由其构造可知正向计算仅需要对
做一次求值。于是
,
其中
为在
上计算一次
所需的乘法门数。特别地,若取
,则
;若取
,则可按
与
计算,得到
。并且如果
且
为2次多项式计算
仅需1次
乘法。对于定理2,同理可以得到
,
乘法复杂度与状态长度
线性相关。
因此定理1的乘法复杂度与
无关,而定理2的乘法复杂度随
线性增长。最后我们需要声明的是低乘法复杂度是以更强的代数结构为代价获取的,因此这些构造更适合作为多轮结构中低成本模块,而非单独使用的安全置换。
4. 结论
基于文献[8]中对Lai-Massey构造的推广,本文进一步给出了一类更一般的移位不变函数的构造,从而为密码算法提供更为丰富的移位不变函数。
NOTES
*第一作者。
#通讯作者。