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

非线性序列密码结构

关于LFSR线性反馈移位寄存器和攻击方法B-M算法参考:序列密码概述部分:https://www.cnblogs.com/luminescence/p/18938331
下面内容主要围绕对LFSR进行非线性改造的四种经典方法展开,以克服LFSR序列线性复杂度低、易被B-M算法破解的缺陷


非线性序列密码结构

一、 非线性过滤生成器(Non-linear Filter Generator, NFG)

  1. 基本结构:
    由一个LFSR和一个非线性过滤函数 \(f\) 构成。
    LFSR负责生成线性序列,其内部状态(多个寄存器的值)作为非线性函数 \(f\) 的输入。
    函数 \(f\) 对这些状态进行非线性运算,其输出才是最终的密钥流。

  2. 工作原理图:

    LFSR状态 (a_{t}, a_{t+1}, ..., a_{t+n-1}) --> 非线性函数 f --> 密钥流比特 z_t
    
  3. 安全性:
    过滤函数 \(f\) 必须是非线性的。
    如果 \(f\) 是线性的,那么输出序列的线性复杂度不会超过LFSR的级数,无法抵抗B-M算法攻击。
    设计目标是使输出序列的线性复杂度远高于LFSR本身的级数,同时具有良好的随机性。

二、 非线性组合生成器(Non-linear Combining Generator, NCG)

  1. 基本结构:
    使用多个LFSR(如LFSR 1, LFSR 2, ..., LFSR M) 并行运行。
    每个LFSR的输出(而不是内部状态)作为一个组合函数 \(g\) 的输入。
    函数 \(g\) 对这些多个线性序列进行组合,其输出是最终的密钥流。

  2. 工作原理图:

    LFSR 1 输出 x1_t ->
    LFSR 2 输出 x2_t --> 非线性组合函数 g --> 密钥流比特 z_t
    ...                
    LFSR M 输出 xM_t ->
    
  3. 安全性:
    组合函数 \(g\) 必须是非线性的。
    如果 \(g\) 是线性的,输出序列的线性复杂度至多是所有LFSR级数之和,仍然不够安全。
    NFG可以被视为NCG的一个特例(只有一个LFSR,但函数作用于其多个状态)。
    这种结构容易遭受相关攻击,即如果攻击者能通过输出序列推测出某个LFSR的序列,就可能逐个击破。

三、 有记忆非线性组合生成器(Non-linear Combining Generator with Carry, NCGC)

  1. 基本结构:
    这是对NCG的增强,引入了记忆单元(通常为1比特或多比特)。
    它使用两个组合函数 \(f_1\)\(f_2\)
    输入包括多个LFSR的输出和当前记忆单元的值。

  2. 工作原理:
    函数 \(f_1\) 的输出用于生成当前的密钥流比特。
    函数 \(f_2\) 的输出用于更新记忆单元的值,为下一时刻的计算做准备。
    记忆的引入使得生成器的输出不仅依赖于当前的输入,还依赖于过去的历史,从而大大增加了序列的复杂度和安全性。

  3. 核心特点:
    通过记忆单元将状态概念引入组合生成器,使其成为一个有限状态机。
    能有效提高序列的线性复杂度和抵抗相关攻击的能力。

四、 钟控生成器(Clock Controlled Generator, CCG)

  1. 基本思想:
    摒弃所有LFSR同步步进的传统方式,用一个(或一组)LFSR的输出来控制另一个(或另一组)LFSR的时钟脉冲。
    被控的LFSR在某些时钟周期可能不步进(“停”),或在某些周期步进多次(“走”),从而产生不规则的输出。

  2. 常见控制方式:
    一个LFSR控制另一个LFSR:最典型的模式。
    自控制:一个LFSR参与控制它自己的时钟。
    相互控制:两个LFSR互相控制对方的时钟(如MICKEY算法)。

  3. 工作原理图:

    LFSR A (控制寄存器) --输出--> 控制逻辑 --时钟信号--> LFSR B (被控寄存器)---> 密钥流输出
    

    控制逻辑根据LFSR A的当前输出值,决定LFSR B在本时钟周期内步进多少次。

  4. 核心特点与安全性:
    通过制造不规则的运动,极大地增加了输出序列的线性复杂度和不可预测性。
    能有效破坏LFSR序列的线性结构,使其难以用标准的代数方法分析。

设计思想

所有这些结构都旨在通过非线性和增加复杂度来掩盖LFSR的线性本质,但其安全性高度依赖于非线性函数/时钟控制机制的具体设计。后期研究表明,这些经典结构若单独使用,在面对代数攻击等现代分析方法时仍显薄弱,因此现代序列密码(如Grain, Trivium)往往采用更复杂的混合结构

http://www.jsqmd.com/news/41263/

相关文章:

  • 2025/11/15
  • LoongOS 上传文件
  • 基础设施即服务(IaaS)全面解析:云计算的基石
  • CentOS 7 通过 Packstack 安装 OpenStack Train 完整步骤
  • 【STM32工程开源】基于STM32的人体健康监测环境
  • 实用指南:【C# OOP 入门到精通】从基础概念到 MVC 实战(含 SOLID 原则与完整代码)
  • tailwind自定义class问题小记
  • 2025年主流开源AI智能体框架平台概览 - 实践
  • threading.local()的实例化机制
  • Tarjan复建
  • 采用git进行项目管理
  • Golang游戏开发笔记:地图索引系统实现
  • 20251115
  • 网络爬虫:简单静/动态网页
  • 20232307 2024-2025-1 《网络与系统攻防技术》实验五实验报告
  • EXECUTE IMMEDIATE语句分析
  • 产品更新与重构策略:创新与稳定的平衡之道 - 详解
  • MySQL MVCC实现原理
  • 算法第三次作业
  • 算法第三次作业
  • 完整教程:《简易制作 Linux Shell:详细分析原理、设计与实践》
  • 计算机网络5 - 指南
  • 2025年境外商务出差保险哪里有卖:TOP10平台专业解析
  • 2025年开除申诉靠谱机构推荐:专业学术申诉机构评测指南!
  • Day39(9)F:\硕士阶段\Java\课程代码\后端\web-ai-code\web-ai-project01\jdbc-demo+springboot-web-quickstart
  • # Android Compose 实现 左滑删除
  • win10pro sn
  • 完整教程:PMBT2222A,215 开关晶体管功率二极管 NXP安世半导体 音频放大电路 LED驱动 应用
  • EFCore中巧妙利用ToQueryString()实现批插(不借助第三方包)
  • 2025 年 11 月门窗十大品牌综合实力权威推荐榜单,产能、专利、环保三维数据透视