一类可逆移位不变函数的构造
A Construction of a Class of Invertible Shift-Invariant Functions
摘要: 在面向安全多方计算、全同态加密与零知识证明等的对称密码构件的设计中,人们需在大素数有限域上构造乘法复杂度低且可逆的非线性层。移位不变函数因其良好的非线性结构与实现优势而被广泛采用,Lai-Massey构造是其中具有代表性的一类。本文基于广义的Lai-Massey构造,提出了更一般的可逆移位不变函数的构造方法,为面向算术的非线性层设计提供了更丰富的可逆向量值函数。
Abstract: In the design of symmetric cryptographic components for secure multi-party computation, fully homomorphic encryption, and zero-knowledge proofs, one needs to construct nonlinear layers over large prime finite fields that are both invertible and of low multiplicative complexity. Shift invariant functions are widely adopted due to their favorable nonlinear structure and implementation advantages, with the Lai-Massey construction being a representative example. Building on generalized Lai-Massey constructions, this paper proposes a more general method for constructing invertible shift-invariant functions, providing a richer collection of invertible vector valued functions for arithmetization-oriented nonlinear layer design.
文章引用:丁肇鹏, 石景琦. 一类可逆移位不变函数的构造[J]. 理论数学, 2026, 16(2): 241-247. https://doi.org/10.12677/pm.2026.162054

1. 引言

近些年来,随着安全多方计算(Secure Multi-Party Computation, MPC)、全同态加密(Fully Homomorphic Encryption, FHE)以及零知识证明(Zero-Knowledge proofs, ZK)等广泛的应用,对称密码的基本构件的设计有了新的要求,其设计重心从传统的运算友好转向在大素数域上减少乘法的次数,即减小乘法复杂度。这一趋势在面向算术化的密码方案中表现得尤为明显(参见文献[1]-[7])。由此,构造一个具有低乘法复杂度且可逆的非线性层成为了值得关注的问题:一方面需要非线性层具有可逆性以支撑迭代轮函数的置换性质,另一方面非线性层需保持足够的代数复杂性质以抵抗代数攻击。

众所周知,迭代型对称密码算法通常是对轮函数进行多轮迭代实现加解密的,而轮函数往往可分解为“非线性层 + 线性层”,可写作

xc+MS-Box( x ),

其中 S-Box 为非线性层, M 为可逆的线性层, c 为轮常数。在面向算术化的对称密码算法中仍使用这种迭代结构,只是底层运算从二元域上的比特运算拓展为素数阶有限域上的运算。Lorenzo Grassi等在文献[8]中针对非线性层的构造,定义了一类移位不变(shift-invariant)函数 S F :从一个局部映射出发,在上定义映射

S F ( x 0 ,, x n1 )=( y 0 ,, y n1 ), y i =F( x i , x i+1 ,, x i+m1 ),

其中指标按 n 取模。该函数 S F 具有移位不变性,即对上的任意平移置换 Π 都有 S F Π=Π S F ,我们把由局部映射所定义的移位不变函数 S F 称为由 F 诱导的移位不变 ( m,n ) -提升函数。上述定义的移位不变函数在二元域上的例子是Wolfram在文献[9]中定义的 χ 函数,随后Daemen在文献[10]对其进行了系统的分析并证明了 χ 所诱导的移位不变函数在奇数长度上可逆。 χ 函数的应用参见文献[11][12]等。

然而,将上述可逆构造直接迁移到大素域 F p 并不顺利。我们期望构造的是以低次数(尤其是二次)局部映射 F 作为基本单元,在较大 n 上得到可逆的 S F ,从而在每轮仅用 O( n ) 甚至更少的乘法实现非线性层。文献[8]给出了如下结果:当局部映射 F 为二次多项式时,使 S F 成为可逆映射的 n 存在上界,即对于 m=2 ,若 n3 则不存在二次多项式 F 使 S F 成为可逆映射;对于 m=3 n5 同样不存在可逆映射 S F ,并进一步猜想,当局部映射 F 为二次多项式时,对于固定的 m ,使 S F 成为可逆映射的 n 的上界为 2m1

尽管存在上述结论,但是在某些具备特殊结构且满足一定条件的局部映射族中,可逆是必然存在的。文献[13]给出了一个例子即Lai-Massey构造:由的局部映射 F( x 0 , x 1 )= x 0 + ( x 0 x 1 ) 2 诱导的移位不变函数

S F ( x 0 , x 1 )= x 0 + ( x 0 x 1 ) 2 || x 1 + ( x 1 x 0 ) 2 ,

可验证 S F ( x 0 , x 1 ) 是可逆的。文献[8]给出了对Lai-Massey构造的如下两种推广。

命题1 ([8]) 设 p2 为素数。令 n=m2 ,并满足 n p 的倍数(即 n0( modp ) )或 n 是偶数。令局部映射为

F( x 0 ,, x n1 )= i=0 n1 μ i x i +H( i=0 n1 ω i x i ),

其中满足其构成的循环矩阵可逆,并且 ω i H 满足:

1) 若 n0( modp ) ,则对每个 i{ 0,1,,n1 } ω i =1

2) 若 n0( mod2 ) ,则对每个 i{ 0,1,,n1 } ω i = ( 1 ) i ,并且 H: F p F p 为偶函数,即对于任意 t F p H( t )=H( t )

则由 F 上诱导的移位不变函数 S F 是可逆的。

命题2 ([8]) 设 p2 为素数,令 n=m2 。设,使得循环矩阵

可逆,取 γ F p \{ 0 } 。令 H: F p F p 为任意函数,并定义

F( x 0 ,, x n1 )= i=0 n1 μ i x i +γ i=0 n1 H ( x i x i+1 ),

其中下标均按 n 取模。则由 F 上诱导的移位不变函数 S F 是可逆的。

上述的命题1和命题2给出了两类可逆的移位不变函数 S F 的构造。本文进一步推广了上述结果。首先,对于命题1,我们考虑了在 n 更一般的情况下, ω i H 所满足的限制条件,从而给出了更一般的可逆的移位不变函数 S F ;其次对于命题2,我们将局部映射函数做进一步推广,并证明其诱导的移位不变函数依然可逆。通过对命题1和命题2的推广,可为密码算法提供更为丰富的可逆移位不变函数的构造。

2. 预备知识

p2 为素数,令表示模 p 的整数域,并令表示当 n1 时相应的向量空间。给定,对每个 i{ 0,1,,n1 } ,用 x i 表示它的第 i 个分量,即

x=( x 0 , x 1 ,, x n1 ) x= x 0 || x 1 |||| x n1 .

定义1 p2 为素数。取整数 1mn ,令为一个非线性映射。定义上的移位不变函数 S F

S F ( x 0 ,, x n1 )= y 0 || y 1 |||| y n1 ,

其中 y i =F( x i , x i+1 ,, x i+m1 ) ,并且下标按 n 取模。

为如下的循环矩阵:

circ( μ 0 , μ 1 ,, μ n1 ):=[ μ 0 μ 1 μ n2 μ n1 μ n1 μ 0 μ n3 μ n2 μ 1 μ 2 μ n1 μ 0 ].

3. 主要结果

在本节中,我们给出命题1和命题2的进一步推广。

定理1 p2 为素数。令 n=m2 ,并满足 n p 的倍数(即 n0( modp ) )或 gcd( n,p1 )>1 。令局部映射为

F( x 0 , x 1 ,, x n1 )= i=0 n1 μ i x i +H( ω 0 x 0 + ω 1 x 1 ++ ω n1 x n1 ),

其中满足其构成的循环矩阵可逆,并且 ω i H 满足:

1) 若 n0( modp ) ,则对每个 i{ 0,1,,n1 } ω i =1

2) 若 gcd( n,p1 )>1 ,则对每个 i{ 0,1,,n1 } ω i = λ i ,其中 λ1 F p 上的 n 次单位根(即 λ n =1 ),且 H: F p F p 满足对于任意 t F p H( λt )=H( t )

则由 F 上诱导的移位不变函数 S F 是可逆的。

证明 y= S F ( x )= ( y 0 ,, y n1 ) T 。并记循环矩阵 C:=circ( μ 0 ,, μ n1 ) 。对每个 k{ 0,1,,n1 } S F 的第 k 个坐标满足

T:= i=0 n1 ω i x i F p ,我们先说明对任意 k 都有

H( i=0 n1 ω i x k+i )=H( T ),

n0( modp ) ω i =1 ,此时

i=0 n1 ω i x k+i = i=0 n1 x k+i = i=0 n1 x i =T,

gcd( n,p1 )>1 ω i = λ i λ1 λ n =1 。则对任意 k 都有,

i=0 n1 ω i x k+i = i=0 n1 λ i x k+i = λ k j=0 n1 λ j x j = λ k T,

又因 H( λt )=H( t ) 对所有 t 成立,从而 H( λ k T )=H( T )

因此对所有 k 都有

y k = i=0 n1 μ i x k+i +H( T ),

即向量形式

μ := i=0 n1 μ i F p ,注意到 C1= μ 1 ,因此若 μ =0 C 有非零核向量 1 C 可逆矛盾,故 μ 0 。于是 C( 1 μ 1 )=1 ,从而

y=C( x+ H( T ) μ 1 ).

z:= C 1 y ,则 z=x+ H( T ) μ 1 。接下来取 ω 的加权和:

i=0 n1 ω i z i = i=0 n1 ω i x i + H( T ) μ i=0 n1 ω i =T+ H( T ) μ i=0 n1 ω i .

下面我们说明 i=0 n1 ω i =0 在两种情形下都成立:

ω i =1 ,则 i=0 n1 ω i =n0( modp )

ω i = λ i λ1 λ n =1 ,则 i=0 n1 ω i = i=0 n1 λ i =0

因此总有 i=0 n1 ω i z i =T 。于是 H( T )=H( i=0 n1 ω i z i ) 可由 z 唯一确定,并且

x=z 1 μ H( i=0 n1 ω i z i )1.

这给出了从 y 唯一恢复 x 的显式逆映射,从而 S F 是可逆的。证毕。

注释1 注意到,由定理1的条件2,我们可以取 n 为偶数, λ=1 F p 上的 n 次单位根,此时 H: F p F p 为偶函数,由此可见文献[8]中的命题1为定理1的一个特殊情况。

推论1 p 为素数, λ F p \{ 0 } H: F p F p 为二次多项式函数 H( t )=a t 2 +bt+c ,且 a0

若对任意 t F p 都有 H( λt )=H( t ) ,则必有 λ 2 =1 。并且若 λ=1 ,则必有 b=0 (即 H( t )=a t 2 +c )。

证明 H( λt )=a ( λt ) 2 +b( λt )+c=a λ 2 t 2 +bλt+c H( t )=a t 2 +bt+c 对所有 t 恒等,得

a( λ 2 1 ) t 2 +b( λ1 )t=0( t F p ).

作为多项式恒等式,其系数必须为零,故 a( λ 2 1 )=0 b( λ1 )=0 。由 a0 λ 2 =1 。此外若 λ=11 ,则由 b( λ1 )=0 推出 b=0 。证毕。

由推论1可知,当局部映射为二次函数时,非平凡的单位根的取值只能是 λ=1

类似推论1的证明,可得如下结论。

推论2 p 为素数且 p>3 λ F p ,并令 H( t )= a s t s + a s1 t s1 ++ a 0 为任意 s 次多项式且 a s 0 。若对任意 t F p 都有 H( λt )=H( t ) ,则必有

λ s =1, a s1 ( λ s1 1 )=0,, a 1 ( λ1 )=0.

特别地,当 λ 为本原 s 次单位根时,必有 a s1 == a 1 =0 ,从而 H( t )= a s t s + a 0

定理2 p2 为素数,令 n=m2 。设,使得循环矩阵

可逆。取 γ F p \{ 0 } ,整数 r 满足 2rn ,并取满足 j=0 r1 a j =0 。令 H: F p F p 为任意函数,并定义局部映射

F( x 0 ,, x n1 )= i=0 n1 μ i x i +γ i=0 n1 H ( j=0 r1 a j x i+j ),

其中下标均按 n 取模。则由 F 上诱导的移位不变函数 S F 是可逆的。

证明,并令 y= S F ( x )= ( y 0 ,, y n1 ) T 。记

g( x ):= i=0 n1 H ( j=0 r1 a j x i+j ) F p ,

则有。令 σ 表示循环移位算子,即 ( σ k x ) t = x t+k (下标按 n 取模)。则对任意 k

g( σ k x )= i=0 n1 H ( j=0 r1 a j ( σ k x ) i+j )= i=0 n1 H ( j=0 r1 a j x i+j+k ).

i =i+k ,由于外层对 i 的求和是循环的,可得

g( σ k x )= i =0 n1 H ( j=0 r1 a j x i +j )=g( x ).

因此由定义1,第 k 个输出坐标为

,则可写成

μ := i=0 n1 μ i F p 。注意到 C1= μ 1 。由 C 是可逆矩阵,所以 μ 0 。于是 C 1 1= 1 μ 1 。令 z:= C 1 y ,则

α:= γ μ g( x ) ,则 z=x+α1 。由 j=0 r1 a j =0 ,对任意 i

j=0 r1 a j z i+j = j=0 r1 a j ( x i+j +α )= j=0 r1 a j x i+j +α j=0 r1 a j = j=0 r1 a j x i+j .

因此

g( z )= i=0 n1 H ( j=0 r1 a j z i+j )= i=0 n1 H ( j=0 r1 a j x i+j )=g( x ).

从而 α= γ μ g( x )= γ μ g( z ) 可由 z 唯一确定,并且 x=z γ μ g( z )1 。这给出了从任意 y 唯一恢复 x 的逆映射,因此 S F 可逆。证毕。

注释2 注意到当 r=2 a=( 1,1 ) ,可得到

F( x )= i=0 n1 μ i x i +γ i=0 n1 H ( x i x i+1 ),

即文献[8]中命题2给出的局部映射。我们可以取更一般的形式,当 r=4 a=( 1,1,1,1 ) ,可得到

F( x )= i=0 n1 μ i x i +γ i=0 n1 H ( x i x i+1 + x i+2 x i+3 ).

需要强调的是,本文关注的对象是单轮非线性层,其设计目标侧重于在大素数有限域上实现低乘法复杂度与可逆性。因为在MPC/FHE/Zk这类算数化场景中,系统开销几乎由乘法门数主导的,因此乘法复杂度决定了非线性层在证明规模、约束数、运行时间上的成本上限。下面我们给出定理1和定理2两种移位不变函数的乘法复杂度(只统计非线性乘法门数目 M( ) )。对于定理1中的可逆移位不变函数,由其构造可知正向计算仅需要对 H 做一次求值。于是

M( S F )=M( H ) M( S F 1 )=M( H )

其中 M( H ) 为在 F p 上计算一次 H 所需的乘法门数。特别地,若取 H( t )=a t 2 +b ,则 M( H )=1 ;若取 H( t )=a t 3 +b ,则可按 t 2 t 3 = t 2 t 计算,得到 M( H )=2 。并且如果 C:=circ( 1,0,,0 ) H 为2次多项式计算 S F 仅需1次 F p 乘法。对于定理2,同理可以得到

M( S F )=nM( H ) M( S F 1 )=nM( H )

乘法复杂度与状态长度 n 线性相关。

因此定理1的乘法复杂度与 n 无关,而定理2的乘法复杂度随 n 线性增长。最后我们需要声明的是低乘法复杂度是以更强的代数结构为代价获取的,因此这些构造更适合作为多轮结构中低成本模块,而非单独使用的安全置换。

4. 结论

基于文献[8]中对Lai-Massey构造的推广,本文进一步给出了一类更一般的移位不变函数的构造,从而为密码算法提供更为丰富的移位不变函数。

NOTES

*第一作者。

#通讯作者。

参考文献

[1] Albrecht, M., Grassi, L., Rechberger, C., Roy, A. and Tiessen, T. (2016) MiMC: Efficient Encryption and Cryptographic Hashing with Minimal Multiplicative Complexity. In: Cheon, J. and Takagi, T., Eds., Advances in CryptologyASIACRYPT 2016, Springer, 191-219. [Google Scholar] [CrossRef
[2] Albrecht, M.R., Grassi, L., Perrin, L., Ramacher, S., Rechberger, C., Rotaru, D., et al. (2019) Feistel Structures for MPC, and More. In: Sako, K., Schneider, S. and Ryan, P., Eds., Computer SecurityESORICS 2019, Springer, 151-171. [Google Scholar] [CrossRef
[3] Grassi, L., Lüftenegger, R., Rechberger, C., Rotaru, D. and Schofnegger, M. (2020) On a Generalization of Substitution-Permutation Networks: The HADES Design Strategy. In: Canteaut, A. and Ishai, Y., Eds., Advances in CryptologyEUROCRYPT 2020, Springer, 674-704. [Google Scholar] [CrossRef
[4] Aly, A., Ashur, T., Ben-Sasson, E., Dhooghe, S. and Szepieniec, A. (2020) Design of Symmetric-Key Primitives for Advanced Cryptographic Protocols. IACR Transactions on Symmetric Cryptology, 2020, 1-45. [Google Scholar] [CrossRef
[5] Grassi, L., Khovratovich, D., Rechberger, C., Roy, A. and Schofnegger, M. (2021) Poseidon: A New Hash Function for Zero-Knowledge Proof Systems. Proceedings of the 30th USENIX Security Symposium (USENIX Security 21), 11-13 August 2021, 519-535.
https://www.usenix.org/conference/usenixsecurity21/presentation/grassi
[6] Ha, J., Kim, S., Choi, W., Lee, J., Moon, D., Yoon, H., et al. (2020) Masta: An He-Friendly Cipher Using Modular Arithmetic. IEEE Access, 8, 194741-194751. [Google Scholar] [CrossRef
[7] Dobraunig, C., Grassi, L., Guinet, A. and Kuijsters, D. (2021) Ciminion: Symmetric Encryption Based on Toffoli-Gates over Large Finite Fields. In: Canteaut, A. and Standaert, F.X., Eds., Advances in CryptologyEUROCRYPT 2021, Springer, 3-34. [Google Scholar] [CrossRef
[8] Grassi, L., Onofri, S., Pedicini, M. and Sozzi, L. (2022) Invertible Quadratic Non-Linear Layers for MPC-/FHE-/ZK-Friendly Schemes over Fnp. IACR Transactions on Symmetric Cryptology, 2022, 20-72. [Google Scholar] [CrossRef
[9] Wolfram, S. (1986) Cryptography with Cellular Automata. In: Williams, H.C., Ed., Advances in CryptologyCRYPTO’85 Proceedings, Springer, 429-432. [Google Scholar] [CrossRef
[10] Daemen, J. (1995) Cipher and Hash Function Design: Strategies Based on Linear and Differential Cryptanalysis. Ph.D. Thesis, Katholieke Universiteit Leuven.
https://cs.ru.nl/~joan/
[11] Bertoni, G., Daemen, J., Peeters, M. and Van Assche, G. (2011) The Keccak Reference, Version 3.0.
https://keccak.team/files/Keccak-reference-3.0.pdf
[12] Bertoni, G., Daemen, J., Peeters, M. and Van Assche, G. (2013) Keccak. In: Johansson, T. and Nguyen, P.Q., Eds., Advances in CryptologyEUROCRYPT 2013, Springer, 313-314. [Google Scholar] [CrossRef
[13] Lai, X. and Massey, J.L. (1991) A Proposal for a New Block Encryption Standard. In: Damgård, I.B., Ed., Advances in CryptologyEUROCRYPT’90, Springer, 389-404. [Google Scholar] [CrossRef