细胞自动机在密码学中的应用与特性分析
1. 引言
在密码学领域,伪随机数生成器(PRNG)的设计至关重要,而细胞自动机(CA)在过去被广泛用于此。早期,Wolfram提出使用配备规则30的CA,通过采样其中心单元的轨迹来生成伪随机序列。然而,尽管规则30具有非线性和平衡性,且符合Devaney定义的拓扑混沌,但它不具备一阶相关性免疫性。实际上,Martin指出所有半径为1的非线性平衡规则都不具备一阶相关性免疫性,这使得基于这些规则的CA - PRNG虽能通过经典统计随机性测试,但易受相关性攻击。
2. 细胞自动机与布尔函数的密码学特性
2.1 细胞自动机
细胞自动机是一种离散动态系统,由规则排列的单元格组成。在每个离散时间步,所有单元格通过应用局部规则同步更新状态。对于有限一维细胞自动机,可定义为一个四元组⟨n, A, r, f⟩,其中n是单元格数量,A是局部状态集,r是半径,f : A^(2r + 1) → A是局部规则。通常假设A = F₂,即布尔细胞自动机。单元格状态更新时,有零边界条件和周期边界条件两种处理边界的方法。每个局部规则可通过Wolfram代码索引,Wolfram曾广泛研究半径r = 1的256个基本规则,并提议使用规则30的CA作为密码学中的伪随机数生成器。
2.2 密码学布尔函数
布尔函数在密码学中用于流密码和分组密码的设计。一个m变量的布尔函数f : Fₘ₂ → F₂可由其真值表的2ᵐ位字符串表示。重要概念包括:
- 平衡性 :若|f⁻¹(0)| = |f⁻¹(1)| = 2ᵐ⁻¹,则函数f是平衡的。不平衡函数因存在统计偏差,不适合密码学
超级会员免费看
订阅专栏 解锁全文
44

被折叠的 条评论
为什么被折叠?



