In recent years a new class of symmetric-key primitives over GF(p) that are essential to Multi-party computation and Zero-knowledge proofs based protocols have emerged. A number of these constructions show, that following alternative design strategies to the classical SPN and Feistel networks, leads to more efficient cipher and hash function designs. In view of these efforts, in this work we build an \emph{algebraic framework} that allows the systematic exploration of viable and efficient design strategies for constructing symmetric-key (iterative) permutations over GF(p). We propose a generalized triangular polynomial dynamical system (GTDS), and based on the GTDS we provide a generic definition of an iterative (keyed) permutation Our GTDS-based generic definition is able to describe the three most well-known design strategies, namely SPNs, Feistel networks and Lai--Massey, and instantiations of them. Most notably, this definition allows for instantiations of novel and efficient (keyed) permutations. As example, we show that the partial SPN-based permutations and the recently proposed Griffin design, which does not explicitly follow Feistel or SPN, can be described using the generic GTDS-based definition. We show that GTDS-based permutations are able to achieve exponential degree growth - a property desirable for constructing efficient cryptographic permutations. In addition, we prove a general upper bound on the differential uniformity of the GTDS. Given that the upper bound on differential uniformity is small enough, we also prove that a GTDS-based two round block cipher is $\epsilon$-close to being pairwise independent. Finally, we provide the discrepancy analysis, a technique used to measure the (pseudo-)randomness of a sequence, for analyzing the randomness of the sequence generated by the generic permutation described by GTDS.
翻译:近些年来,出现了一种新型的对称性原始元素,相对于GF(p),这是多党计算和零知识证据协议所必不可少的。其中的一些构造显示,根据古典 SPN 和 Feistel 网络的替代设计战略,可以使GPN 和 Feistel 网络更高效地配置密码和大麻功能设计。有鉴于这些努力,我们在这项工作中建立了一个基于 emph{algebraic 框架}, 以便系统地探索构建对立性( 表示) 的对立性( 表示) 对GF( 表示) 的对立性( 表示) 。 我们提出一个通用的三维性( 表示) 基调( 表示) 基调( 表示) 基调( 表示) 基调( 表示) 基调( 表示) 基调( 表示) 基调( 表示) 基调( 显示 基调( 表示) 基调( ) 基调( 表示) 基调) 基调( 基调( 表示) 基调) 基调( 基调) 基调( 基调) ( ) 基调) 基调( ) 对底) 底) ( 底) ( 底) 底) ( 基调( 基调( 表示) ( 表示) ( 表示) ( ) ( 基调( ) ( ) ( ) ) ( 基调( 表示) ( ) ) ( 基调( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( 表示, 表示, 表示, 表示, 表示, ) ( ) ( ) ( 表示 ) ( ) ( ) ( ) ( 表示 ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) (