m阶相关免疫函数
定义:
设 \(f(x_1, x_2, …, x_n)\) 是一个布尔函数,\(X_1, X_2, …, X_n\) 是相互独立的二元随机变量,各 \(X_i\) 在 ${0,1}$ 上服从均匀分布。
如果对任意 m 个不同的随机变量 \(X_i, X_j, …, X_k (2 ≤ i < j < k ≤ n)\),随机变量 \(f(X_1, X_2, …, X_n)\) 与随机向量 \((X_i, X_j, …, X_k)\) 独立,即 \(P(f(X) = 0 | X_i, X_j, …, X_k) = P(f(X) = 0)\),则称 \(f(x_1, x_2, …, x_n)\) 是 m 阶相关免疫函数。
m阶相关免疫函数意味着无法通过观察输出序列来获取任何 m 个输入变量组的信息
性质:
- 平衡性: m阶相关免疫函数一定是平衡函数,即输出 0 和 1 的概率相等
- 次数限制: m阶相关免疫函数的次数最多为 n-m
- 平衡函数次数限制: 如果 m阶相关免疫函数是平衡函数,则其次数最多为 n-m-1
例子:
n元布尔函数: f(x1, x2, …, xn) = x1 + x2 + … + xn 是 n-1 阶相关免疫函数
n元布尔函数 f(x) 是 m 阶相关免疫函数的充要条件是对重量 ≤ m 的二元非零向量 a,都有 f(a) = 0
证明思路:
- 充分性:如果对任意重量 ≤ m 的二元非零向量 a,都有 f(a) = 0,则说明 f(X) 与 a·X 独立,进而说明 f(X) 与任意 m 个不同的随机变量组独立,因此 f(x) 是 m 阶相关免疫函数。\
- 必要性:如果 f(x) 是 m 阶相关免疫函数,则 f(X) 与任意 m 个不同的随机变量组独立,进而说明 f(X) 与 a·X 独立,因此对任意重量 ≤ m 的二元非零向量 a,都有 f(a) = 0
应用: - 非线性组合模型: 使用 m 阶相关免疫函数作为非线性组合函数,可以抵御相关攻击和分割攻击
- 滤波器设计: 使用 m 阶相关免疫函数作为滤波器函数,可以提高输出序列的随机性和安全性

浙公网安备 33010602011771号