今天给大家分享一个关于移位寄存器原理的问题(移位寄存器的原理是什么)。以下是这个问题的总结。让我们来看看。
寄存器的原理如下。
1.寄存器原理:寄存器的基本单元是D触发器,根据用途分为基本寄存器和移位寄存器。基本寄存器由d触发器组成。在CP脉冲的作用下,每个D触发器可以寄存一个二进制码。当D=0时,寄存器存储为0,当D=1时,寄存器存储为1。
2.当低电平为0,高电平为1时,需要在信号源和D之间连接一个反相器来存储数据。
三个移位寄存器产生几个代码。
移位寄存器:有N个寄存器(称为N级移位寄存器),每个寄存器可以存储1位二进制数。
各种寄存器的个数可以一起右/左移一位,称为岁差拍。
反馈移位寄存器(FSR):它由一个N位寄存器和一个反馈功能组成。N位寄存器中的初始值称为移位寄存器的初始状态。
工作原理:移位寄存器中所有位的值向右移位,从最右边寄存器移出的值为输出位,最左边寄存器的值由反馈函数的输出值填充。这个过程叫做岁差。反馈函数f是n个变量(b1,b2,...,bn)。如果移位寄存器根据需要处理m个节拍,它将输出m比特序列a1,a2,...,am。这个a1-am(m可以远大于n)是一个伪随机序列。
LFSR(线性反馈移位寄存器)的反馈函数是线性的。
作为密钥流,序列{ai}的周期一定要大,因为如果密钥流的周期太小,就会不安全,攻击者很容易得到整个密钥流。
N电平LFSR输出序列的周期r不取决于寄存器的初始值,而是取决于特征多项式p(x)。
设n阶LFSR的输出序列{ai}满足递归关系an+k = cnan+k-1⊕cn-1an+k-2⊕c1ak(k = 1)。这个递推关系可以用一元多项式f (x) = CNXN+CN-1XN-来表示。
设f(x)是GF(2)上的多项式,f(x)|(xn-1)的最小值n称为f(x)的周期或阶。
比如f(x)=x4+x3+x2+x+1是GF(2)上的多项式,GF(2)是LFSR作为特征多项式的输出序列周期。
(X5-1)=(x4+x3+x2+x+1)(x-1)= f(x)(x-1)
F (x) | xn-1,n5的周期为5。
设置初始状态:0001
状态输出位
0001 1
1000 0
...
N电平LFSR输出序列的最大周期为2n-1。
LFSR的寄存器状态遍历2n-1个非零状态。
当初始状态全为0时,输出序列是0的循环。
当LFSR的寄存器状态遍历2n-1个非零状态时,序列的最大周期为2n-1,称为m序列。
如果n次不可约多项式f(x)的阶为2n-1,则称f(x)是n次本原多项式。
{ai}是周期为2n-1的M序列当且仅当其特征多项式f(x)是n阶本原多项式。..
示例:具有反馈功能f(x)=b3⊕b1和初始状态100的3级反馈移位寄存器。
那么f(x)=x3+x+1。
(x7-1)=(x4+x2+x+1)(x3+x+1)=(x4+x2+x+1)| f(x)
F(x)|xn-1 n7所以F(x)的周期是7。
状态输出位
100 0
110 0
111 1
...
输出序列的周期是7,并且是m序列。
流密码攻击
攻击目的:学习整个密钥流{ki}
攻击手段:只选择密文已知的明文;密文是自适应选择的。
1)如果已知LFSR的反馈函数,并且解码器知道连续的n比特密文对{m1,m2…mn}和{c1,c2…,cn},那么可以推导出n比特密钥流ki=mi⊕ci,{k1,k2,…kn},然后从反馈函数中可以得到整个密钥流{ki}。
2)在已知明文攻击下,假设解密器知道2n比特明文对m = {m1,m2...m2n}和c = {c1,c2...c2n},密钥序列K={k1,k2,...,k2n},从而可以完全确定n级反馈多项式的系数。
为了提高密钥流序列的线性复杂度,需要使用非线性函数。密钥流生成器分为驱动部分和非线性组合部分。
驱动部分可以由M序列或其他长周期LFR序列组成,用于控制密钥流生成器的状态序列,为非线性合并部分提供具有良好伪随机特性的序列。非线性组合部分利用驱动部分产生的状态序列产生满足要求的具有良好密码特性的密钥流序列。
要求:符合香农的“扩散”和“混淆”两大原理。驱动器使用LFSR将密钥K扩散到具有长周期的状态序列中。而状态序列和密钥K之间的关系,被非线性组合混淆后就隐藏起来了。
滤波器发生器(前馈发生器)
它由LFSR和滤波器前馈功能组成。可以有多个LFSR,它们的输出序列一起用作滤波函数的输入。

滤波函数要求良好的非线性特性,以增强发生器的抗攻击能力。
语域原则
注册原则:
寄存器应具有接收数据、存储数据和输出数据的功能,它由触发器和门电路组成。只有获得“存储脉冲”(也称“存储指令”和“写指令”),寄存器才能接收数据;当获得“读取”指令时,寄存器输出数据。
在寄存器中存储数字有两种方式:并行和串行。并行模式是将数字码从每个对应的位输入端同时输入到寄存器中;串行模式是数字代码从一个输入端逐位输入寄存器。
从寄存器中读取数字有两种方法:并行和串行。在并行模式下,读取的数字同时出现在每一位的输出端;在串行模式下,读取的数字逐位出现在输出端。
扩展数据:
寄存器至少有以下四种功能。
①清除号码:清除寄存器中的原始号码。
②接收数字码:在接收脉冲的作用下,外部输入的数字码存储在寄存器中。
③数字存储:在新的写脉冲到来之前,寄存器可以保持原来的数字不变。
④数字输出:在输出脉冲的作用下,通过电路实现数字输出。
仅具有上述功能的寄存器称为数字寄存器;有些寄存器还具有移位功能,称为移位寄存器。
寄存器有两种数字访问模式:串行和并行。一次将n位二进制数存入或读出寄存器的方式称为并行模式。将N位二进制数一次一位地存储到寄存器中,并从寄存器中读出,这称为串行模式。并行模式只需要一个时钟脉冲就可以完成数据操作,速度非常快,但是需要n条输入输出数据线。串行模式使用多个时钟脉冲完成输入或输出操作,速度较慢,但只需要一条输入或输出数据线,传输线少,适合长距离传输。
百度百科-注册
语域原则
语域的基本单位是
d触发器按用途分为基本寄存器和移位寄存器。
基本寄存器(见图)包括
d触发器,输入
大脑性麻痹
在脉冲的作用下,每一次
d触发器可以寄存一个二进制代码。存在
D=0
,寄存器存储为
0,在
D=1
,寄存器存储为
1。在低水平上,它是
0,高电平是
一个
当你需要一个信号源。
D
它们之间连接一个反相器来存储数据。
需要强调的是,目前大规模数字系统都是基于时钟操作的,其中寄存器一般在时钟边沿触发,基于电平触发的很少使用。(CPU的频率通常指数字集成电路的时钟频率)
移位寄存器按移位方向可分为单向移位寄存器和双向移位寄存器。
单向移位寄存器由多个
D
触发器在串行端口中串联连接(见图)。
数据输入(英国)国防Inteligence)ˌ密度指示器(密度指示器)
输入要存储的数据,触发
FF0
可以存储当前需要存储的数据。
大脑性麻痹
当时钟控制脉冲发出时,串行端口
数据输入(英国)国防Inteligence)ˌ密度指示器(密度指示器)
同时,输入要存储的第二个数据,第一个数据存储在触发器中。
FF1
中等。
双向移位寄存器的排列如图所示。通过改变连接端子的顺序,可以控制寄存器向左移位,通过增加控制电路,可以使寄存器向右移位,从而形成双向移位寄存器。
以上是移位寄存器原理的介绍,什么是移位寄存器的原理。不知道你有没有从中找到你需要的信息?如果你想了解更多这方面的内容,记得关注这个网站。