翻译自:sharetechnote: LFSR

LFSR

Linear Feedback Shift Register - 线性反馈移位寄存器
LFSR 是一种移位寄存器电路,其中两个或多个中间步骤的输出线性组合并反馈到输入值,这就是为什么它被称为线性反馈移位寄存器的原因。

该电路具有以下特点:

  • 如果初始状态相同,则最终会得到相同的输出序列(即输出序列是确定的);
  • 输出序列趋向于随机序列(伪随机);
  • 经过一定次数的迭代后,你将得到与初始状态相同的状态值;(最大重复间隔可由(2n2^n2n - 1)计算,其中n为移位寄存器的数目)
    由于上述特性,LFSR主要用于生成PN序列(伪噪声序列)。

    本电路中每次迭代的状态转换如下表所示,在这个表中,你会发现到上面列出的所有属性。

    在许多出版物中,你会看到这个电路被表示为一个多项式,但是你会发现很难把真实的电路和生成的多项式联系起来,下面的插图将帮助你理解生成的多项式的含义。

    //上图中,原作者可能存在一个错误,应该是1X1X^1X1, 而不是0X1X^1X1.

<LFSR与Matlab通信工具箱>
可以使用Matlab通信工具箱实现LFSR,如下所示,这个例子是针对上述电路的。

g = [1 0 0 1 1];
init = [1 1 1 1];
curr = [1 1 1 1];
mask = [0 0 0 1];
NoOfOutBits = 15;
h = commsrc.pn('GenPoly',       g, ...'InitialStates', init,   ...'CurrentStates', curr,   ...'Mask',          mask,   ...'NumBitsOut',    NoOfOutBits)

如果使用下列函数生成输出序列:

h.generate ()

您将得到以下输出:
1 1 1 1 0 0 0 1 0 0 1 1 0 1 0
将此结果与上表中的x(i-4)列进行比较。

m 序列

m Sequence (MLS : Maximum Length Sequence)
m序列是一类特殊的LFSR序列,为了更好的理解m序列,首先你需要理解LFSR序列的概念。

与典型的LFSR相比,m序列有什么特别之处?
如果使用LFSR生成一个序列,输出最终会重复它自己,但是在大多数应用程序中,其目的是使用给定数目的移位寄存器(后续用taps表示这些寄存器)生成尽可能长的非重复序列。m-Squence 是一种特殊类型的LFSR,它为每个给定的taps提供了最长的非重复序列。
下表显示了各种taps的已知m序列:

LFSR 和 m序列相关推荐

  1. n级lfsr输出m序列c语言,第2章流密码(LFSR)

    第2章流密码(序列密码),一.流密码的基本概念二.线性反馈移位寄存器序列三.线性移位寄存器的一元多项式表示四.m序列的伪随机性五.m序列密码的破译,,流密码的基本概念,流密码是将明文划分成字符(如单个 ...

  2. 详解线性反馈移位寄存器(LFSR)

    转载于(九)详解线性反馈移位寄存器(LFSR) 文章目录 LFSR的由来 LFSR具体内容 对LFSR的密钥流攻击 延伸 书籍推荐 LFSR的由来 1. 移位寄存器: 移位寄存器(ShiftRegis ...

  3. CTF中的LFSR考点(一)

    CTF中的LFSR考点(一) 前提概要: 这是我在理解了作者:道路结冰的博客深入分析CTF中的LFSR类题目(一)下写的一次回顾和分析,只是在其中加上自己的见识和理解来加深印象. 博客地址:https ...

  4. 线性反馈移位寄存器LFSR(斐波那契LFSR(多到一型)和伽罗瓦LFSR(一到多型)|verilog代码|Testbench|仿真结果)

    线性反馈移位寄存器LFSR 一.前言 二.LFSR简介 三.斐波那契LFSR和伽罗瓦LFSR 3.1 斐波那契LFSR 3.1.1 斐波那契LFSR 3.1.2 verilog代码 3.1.3 Tes ...

  5. Verilog数字系统基础设计-LFSR

    Verilog数字系统基础设计-LFSR 引言 LFSR(线性反馈移位寄存器)用于产生可重复的伪随机序列PRBS,该电路由n级触发器和一些异或门组成.在每个时钟周期内,新的输入值会被反馈到LFSR内部 ...

  6. CTF竞赛密码学之 LFSR

    概述: 线性反馈移位寄存器(LFSR)归属于移位寄存器(FSR),除此之外还有非线性移位寄存器(NFSR).移位寄存器是流密码产生密钥流的一个主要组成部分. GF(2)GF(2)GF(2)上一个n级反 ...

  7. LFSR python实现

    一.LFSR部分(线性反馈移位寄存器) LFSR的优点: a.非常适合硬件实现 b.能产生大的周期序列 c.能产生好的统计特性的序列 d.能应用代数方法进行分析 实现思路: a是n个寄存器(状态) c ...

  8. CTF竞赛密码学 之 LFSR

    目录 概述: 解决LFSR问题 Part(1)  2018 强网杯 Streamgame1 第一种方法 第二种方法 第三种方法 Part(1)  2018 强网杯 Streamgame2 Part(3 ...

  9. 流密码(一)同步流密码、自同步流密码以及线性反馈移位寄存器

    正式进入密码学领域,发现密码学更像是一门数学,主要是对数论.近世代数的简单应用以及运用在算法中,常常结合模运算以及数字逻辑运算. 流密码的第一部分主要是比较了同步流密码和自同步流密码,其中自同步流密码 ...

最新文章

  1. Hive 03_DML、SerDe、Beeline、JDBC
  2. unity3d 简单动画
  3. layui前端时间戳转化
  4. c++ 字典_再来瞄一眼字典与集合?
  5. [Swift]LeetCode978. 最长湍流子数组 | Longest Turbulent Subarray
  6. Python基础:16面向对象概述
  7. RAID原理分析总结-运维工作记录
  8. 机器人带陀螺仪走钢丝_走直线很难吗?陀螺仪表示,少了它机器人连直线都走不了...
  9. Codeforces Round #629 (Div. 3) A~C
  10. JavaScript专题之跟着 underscore 学节流
  11. 详细版【循环神经网络RNN】(邱锡鹏)
  12. 系统中 用户操作日志管理
  13. 爱分享 IE地址栏显示空白?360电脑救援巧修复
  14. 高校青年教师应该怎么提高收入
  15. RAID5磁盘阵列搭建——新手上路
  16. Android手机QQ的UI自动化实践,音视频服务器开发难点
  17. noip c语言,noip常用库函数(C语言)
  18. 10款移动app安全测试工具推荐
  19. 【web系列十四】Jsplumb画布使用方法
  20. QGIS如何绘制地图,WMS为例

热门文章

  1. sass文件编译的三种方式【舒】
  2. ATL的GUI程序设计(3)
  3. Linux 文件系统及 ext2 文件系统
  4. 命令行编译运行CSharp文件
  5. Codeforces Beta Round #95 (Div. 2) 部分解题报告 (dp,组合数,)
  6. 如何 SQL Server 2005 实例之间传输登录和密码
  7. 《OpenCV3编程入门》学习笔记6 图像处理(三)形态学滤波(1):腐蚀与膨胀
  8. java nio设计模式_Java NIO:浅析I/O模型
  9. JAVA hbase groupby_window操作和groupBy操作
  10. 运行php能运行asp么,配置使web server即能运行asp又能运行PHP(不装Apache)