当前位置: 首页 > news >正文

S盒的代数免疫度

1. 代数免疫度

1.1 代数攻击背景

代数攻击是一种针对对称密码体制的新型攻击方法,其核心思想是:

  • 将密码算法表示为多元多项式方程组
  • 通过求解方程组来恢复密钥
  • 特别适用于基于寄存器的流密码,但也对分组密码构成威胁

1.2 代数免疫度的定义

\(f: \mathbb{F}_2^n \rightarrow \mathbb{F}_2\) 是一个 \(n\) 元布尔函数。

零化子:布尔函数 \(g: \mathbb{F}_2^n \rightarrow \mathbb{F}_2\) 称为 \(f\) 的零化子,如果对于所有 \(x \in \mathbb{F}_2^n\),满足:

\[f(x) \cdot g(x) = 0 \]

代数免疫度:\(f\) 的代数免疫度 \(\text{AI}(f)\) 定义为使得 \(f\)\(f \oplus 1\) 存在非零 \(d\) 次零化子的最小正整数 \(d\)。即:

\[\text{AI}(f) = \min\{ \deg(g) \mid g \neq 0, \, g \in \text{An}(f) \cup \text{An}(f \oplus 1) \} \]

其中 \(\text{An}(f) = \{ g \mid f \cdot g = 0 \}\)\(f\) 的零化子集合。

2. 计算代数免疫度的方法

2.1 一般计算步骤

  1. 确定布尔函数:给定 \(f\) 的真值表或代数正规型(ANF)
  2. 建立方程组:对于次数 \(d\),设零化子 \(g\) 的通用ANF形式
  3. 施加约束:在 \(f(x)=1\) 的点上要求 \(g(x)=0\)(对 \(f\) 的零化子)
  4. 求解线性系统:解齐次线性方程组,检查非零解的存在性
  5. \(f \oplus 1\) 重复:在 \(f(x)=0\) 的点上要求 \(h(x)=0\)
  6. 找到最小次数:从 \(d=1\) 开始递增,直到找到非零零化子

2.2 线性系统的规模

对于 \(n\) 元布尔函数,\(d\) 次零化子 \(g\) 的 ANF 有 \(\sum_{i=0}^{d} \binom{n}{i}\) 个未知系数。约束条件为所有 \(f(x)=1\) 的点(假设有 \(w\) 个),产生 \(w\) 个线性方程。

3. 例题详解

3.1 例题1:线性函数

函数定义:\(f(x_1, x_2, x_3) = x_1 \oplus x_2 \oplus x_3\)

真值表:

\(x_1x_2x_3\) \(f(x)\)
000 0
001 1
010 1
011 0
100 1
101 0
110 0
111 1

步骤1:寻找 \(f\) 的1次零化子

\(g(x) = a_0 \oplus a_1 x_1 \oplus a_2 x_2 \oplus a_3 x_3\)

\(f(x)=1\) 的点上施加 \(g(x)=0\)

  • (0,0,1): \(a_0 \oplus a_3 = 0\)
  • (0,1,0): \(a_0 \oplus a_2 = 0\)
  • (1,0,0): \(a_0 \oplus a_1 = 0\)
  • (1,1,1): \(a_0 \oplus a_1 \oplus a_2 \oplus a_3 = 0\)

解得:\(a_1 = a_0, a_2 = a_0, a_3 = a_0\),取 \(a_0=1\) 得:

\[g(x) = 1 \oplus x_1 \oplus x_2 \oplus x_3 \]

验证:当 \(f(x)=1\) 时,\(x_1 \oplus x_2 \oplus x_3 = 1\),故 \(g(x)=1 \oplus 1=0\)

步骤2:寻找 \(f \oplus 1\) 的1次零化子

\(h(x) = b_0 \oplus b_1 x_1 \oplus b_2 x_2 \oplus b_3 x_3\)

\(f(x)=0\) 的点上施加 \(h(x)=0\)

  • (0,0,0): \(b_0 = 0\)
  • (0,1,1): \(b_0 \oplus b_2 \oplus b_3 = 0\)
  • (1,0,1): \(b_0 \oplus b_1 \oplus b_3 = 0\)
  • (1,1,0): \(b_0 \oplus b_1 \oplus b_2 = 0\)

解得:\(b_0=0, b_1=b_2=b_3\),取 \(b_1=1\) 得:

\[h(x) = x_1 \oplus x_2 \oplus x_3 \]

结论:\(\text{AI}(f) = 1\)(存在1次零化子)

3.2 例题2:非线性函数

(达到最大代数免疫度)
函数定义:\(f(x_1, x_2, x_3) = x_1 x_2 \oplus x_3\)

真值表:

\(x_1x_2x_3\) \(f(x)\)
000 0
001 1
010 0
011 1
100 0
101 1
110 1
111 0

步骤1:检查1次零化子

\(f\) 的零化子 \(g(x) = a_0 \oplus a_1 x_1 \oplus a_2 x_2 \oplus a_3 x_3\)

\(f(x)=1\) 的点上:

  • (0,0,1): \(a_0 \oplus a_3 = 0\)
  • (0,1,1): \(a_0 \oplus a_2 \oplus a_3 = 0\)
  • (1,0,1): \(a_0 \oplus a_1 \oplus a_3 = 0\)
  • (1,1,0): \(a_0 \oplus a_1 \oplus a_2 = 0\)

解得唯一解:\(a_0 = a_1 = a_2 = a_3 = 0\),无非零1次零化子。

\(f \oplus 1\) 的零化子同样无非零1次解。

步骤2:寻找2次零化子

\(g(x) = a_0 \oplus a_1 x_1 \oplus a_2 x_2 \oplus a_3 x_3 \oplus a_{12} x_1 x_2 \oplus a_{13} x_1 x_3 \oplus a_{23} x_2 x_3\)

\(f(x)=1\) 的点上:

  • (0,0,1): \(a_0 \oplus a_3 = 0\)
  • (0,1,1): \(a_0 \oplus a_2 \oplus a_3 \oplus a_{23} = 0\)
  • (1,0,1): \(a_0 \oplus a_1 \oplus a_3 \oplus a_{13} = 0\)
  • (1,1,0): \(a_0 \oplus a_1 \oplus a_2 \oplus a_{12} = 0\)

解得:
\(a_3 = a_0, \quad a_{23} = a_2, \quad a_{13} = a_1, \quad a_{12} = a_0 \oplus a_1 \oplus a_2\)

\(a_0=1, a_1=0, a_2=0\)

\[g(x) = 1 \oplus x_3 \oplus x_1 x_2 \]

验证:在 \(f(x)=1\) 的点上:

  • (0,0,1): \(1 \oplus 1 \oplus 0 = 0\)
  • (0,1,1): \(1 \oplus 1 \oplus 0 = 0\)
  • (1,0,1): \(1 \oplus 1 \oplus 0 = 0\)
  • (1,1,0): \(1 \oplus 0 \oplus 1 = 0\)

结论:\(\text{AI}(f) = 2\),达到 \(n=3\) 时的最大可能值 \(\lceil n/2 \rceil = 2\)

4. 重要性质

4.1 代数免疫度的上界

对于 \(n\) 元布尔函数 \(f\),其代数免疫度满足:

\[1 \leq \text{AI}(f) \leq \lceil n/2 \rceil \]

达到上界的函数称为具有最优代数免疫度。

4.2 与其他指标的关系

  1. 与非线性度的关系:

    • 高代数免疫度不一定意味着高非线性度
    • 但具有最优代数免疫度的函数通常具有较高的非线性度
  2. 与代数次数的关系:

    • \(\text{AI}(f) = d\),则 \(f\) 的代数次数至少为 \(d\)
    • \(\deg(f) \geq \text{AI}(f)\)
  3. 与平衡性的关系:

    • 平衡函数的代数免疫度至少为 1
    • 最优代数免疫函数可以是平衡的

4.3 构造具有高代数免疫度的函数

常见构造方法:

  1. 对称函数:某些对称函数能达到最优代数免疫度
  2. 随机函数:随机布尔函数以高概率具有接近最优的代数免疫度
  3. 特定构造:如使用有限域上的逆函数(AES的S盒)

代数免疫度是衡量布尔函数抵抗代数攻击能力的关键指标:

  • 定义:\(f\)\(f \oplus 1\) 的非零零化子的最小次数
  • 计算:通过求解线性方程组实现
  • 界限:\(1 \leq \text{AI}(f) \leq \lceil n/2 \rceil\)
  • 设计目标:在S盒设计中,应追求接近最优的代数免疫度
http://www.jsqmd.com/news/150116/

相关文章:

  • 使用TensorRT优化微软Phi-2模型推理表现
  • 2026年GEO优化源码搭建推荐排行榜哪家好 - 源码云科技
  • 对称密码复习要点
  • 哪吒监控 V1的搭建与美化
  • LabVIEW与西门子PLC的S7通信源码揭秘:稳定通信的利器
  • 2025年商业美陈设计公司推荐:东莞市共创广告有限公司,创意美陈与IP场景定制专家,商场节日美陈实力品牌深度解析 - 品牌企业推荐师(官方)
  • 2025年净化门厂家推荐:江苏言信环境科技领衔,手术室/实验室/无尘室等十大高等级净化门品牌实力深度解析与选购指南 - 品牌企业推荐师(官方)
  • HarmonyOS 全局取色功能(Pen Image Feature Picker C)开发指南
  • 2026年GEO优化源码搭建口碑推荐哪家好 - 源码云科技
  • 【顶级EI复现】不完全信息下计及环境成本的多能源集线器博弈优化调度附Matlab代码
  • HarmonyOS 手写笔报点预测 C API 开发指南
  • 《程序员修炼之道》阅读笔记9
  • 2025年洁净窗行业深度解析:江苏言信环境科技领衔,揭秘高等级气密洁净窗与模块化洁净窗的十大技术标杆与选购权威指南 - 品牌企业推荐师(官方)
  • AI coding Agent日常记录
  • 2025年喷丸加工厂家推荐:南通汉科新能源等六家技术领航企业的核心工艺与竞争优势深度解析 - 品牌企业推荐师(官方)
  • 2025年东莞腊味品牌实力解析:肥仔秋食品领衔,六家本土实力厂家深度剖析与选购指南 - 品牌企业推荐师(官方)
  • 使用TensorRT优化通义千问推理性能实测报告
  • 2025套丝机厂家推荐榜/套丝机品牌前十 - 栗子测评
  • CodeCombat 容器部署笔记
  • 2025最新!专科生必看8个AI论文工具测评,开题报告轻松搞定
  • 使用 Ansible 自动化部署 OpenStack 私有云平台
  • 推理吞吐量提升4倍的秘密武器:TensorRT层融合技术
  • 2026年GEO优化源码搭建推荐榜单哪家好 - 源码云科技
  • TensorRT与ONNX协同工作流程最佳实践
  • TensorRT Builder优化策略选择指南
  • 2025年金属热处理厂家实力推荐:南通汉科新能源领衔,渗碳、真空等十大工艺顶尖企业深度解析与权威排名 - 品牌企业推荐师(官方)
  • Myvatis 动态查询及关联查询
  • HBase在物联网(IoT)中的应用:海量设备数据处理方案
  • 日拱一卒之quartus芯片移植查看
  • 非常好用的主力主图指标公式