LFSR 和 m序列
翻译自: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序列相关推荐
- n级lfsr输出m序列c语言,第2章流密码(LFSR)
第2章流密码(序列密码),一.流密码的基本概念二.线性反馈移位寄存器序列三.线性移位寄存器的一元多项式表示四.m序列的伪随机性五.m序列密码的破译,,流密码的基本概念,流密码是将明文划分成字符(如单个 ...
- 详解线性反馈移位寄存器(LFSR)
转载于(九)详解线性反馈移位寄存器(LFSR) 文章目录 LFSR的由来 LFSR具体内容 对LFSR的密钥流攻击 延伸 书籍推荐 LFSR的由来 1. 移位寄存器: 移位寄存器(ShiftRegis ...
- CTF中的LFSR考点(一)
CTF中的LFSR考点(一) 前提概要: 这是我在理解了作者:道路结冰的博客深入分析CTF中的LFSR类题目(一)下写的一次回顾和分析,只是在其中加上自己的见识和理解来加深印象. 博客地址:https ...
- 线性反馈移位寄存器LFSR(斐波那契LFSR(多到一型)和伽罗瓦LFSR(一到多型)|verilog代码|Testbench|仿真结果)
线性反馈移位寄存器LFSR 一.前言 二.LFSR简介 三.斐波那契LFSR和伽罗瓦LFSR 3.1 斐波那契LFSR 3.1.1 斐波那契LFSR 3.1.2 verilog代码 3.1.3 Tes ...
- Verilog数字系统基础设计-LFSR
Verilog数字系统基础设计-LFSR 引言 LFSR(线性反馈移位寄存器)用于产生可重复的伪随机序列PRBS,该电路由n级触发器和一些异或门组成.在每个时钟周期内,新的输入值会被反馈到LFSR内部 ...
- CTF竞赛密码学之 LFSR
概述: 线性反馈移位寄存器(LFSR)归属于移位寄存器(FSR),除此之外还有非线性移位寄存器(NFSR).移位寄存器是流密码产生密钥流的一个主要组成部分. GF(2)GF(2)GF(2)上一个n级反 ...
- LFSR python实现
一.LFSR部分(线性反馈移位寄存器) LFSR的优点: a.非常适合硬件实现 b.能产生大的周期序列 c.能产生好的统计特性的序列 d.能应用代数方法进行分析 实现思路: a是n个寄存器(状态) c ...
- CTF竞赛密码学 之 LFSR
目录 概述: 解决LFSR问题 Part(1) 2018 强网杯 Streamgame1 第一种方法 第二种方法 第三种方法 Part(1) 2018 强网杯 Streamgame2 Part(3 ...
- 流密码(一)同步流密码、自同步流密码以及线性反馈移位寄存器
正式进入密码学领域,发现密码学更像是一门数学,主要是对数论.近世代数的简单应用以及运用在算法中,常常结合模运算以及数字逻辑运算. 流密码的第一部分主要是比较了同步流密码和自同步流密码,其中自同步流密码 ...
最新文章
- Hive 03_DML、SerDe、Beeline、JDBC
- unity3d 简单动画
- layui前端时间戳转化
- c++ 字典_再来瞄一眼字典与集合?
- [Swift]LeetCode978. 最长湍流子数组 | Longest Turbulent Subarray
- Python基础:16面向对象概述
- RAID原理分析总结-运维工作记录
- 机器人带陀螺仪走钢丝_走直线很难吗?陀螺仪表示,少了它机器人连直线都走不了...
- Codeforces Round #629 (Div. 3) A~C
- JavaScript专题之跟着 underscore 学节流
- 详细版【循环神经网络RNN】(邱锡鹏)
- 系统中 用户操作日志管理
- 爱分享 IE地址栏显示空白?360电脑救援巧修复
- 高校青年教师应该怎么提高收入
- RAID5磁盘阵列搭建——新手上路
- Android手机QQ的UI自动化实践,音视频服务器开发难点
- noip c语言,noip常用库函数(C语言)
- 10款移动app安全测试工具推荐
- 【web系列十四】Jsplumb画布使用方法
- QGIS如何绘制地图,WMS为例
热门文章
- sass文件编译的三种方式【舒】
- ATL的GUI程序设计(3)
- Linux 文件系统及 ext2 文件系统
- 命令行编译运行CSharp文件
- Codeforces Beta Round #95 (Div. 2) 部分解题报告 (dp,组合数,)
- 如何 SQL Server 2005 实例之间传输登录和密码
- 《OpenCV3编程入门》学习笔记6 图像处理(三)形态学滤波(1):腐蚀与膨胀
- java nio设计模式_Java NIO:浅析I/O模型
- JAVA hbase groupby_window操作和groupBy操作
- 运行php能运行asp么,配置使web server即能运行asp又能运行PHP(不装Apache)