Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Berlekamp-Massey输入序列长度

Berlekamp-Massey输入序列长度
EN

Cryptography用户
提问于 2021-11-06 11:29:48
回答 2查看 493关注 0票数 1

对于构造最小多项式的给定周期序列的长度为N。Berlekamp-Massey算法是接受2N的输入,即重复输入序列还是仅接受输入序列本身?产生疑问的原因是,通过取长度为N的原序列S \| S和长度2N的序列D4(级联),我发现最小多项式值会发生变化,但我无法理解为什么最小多项式应该改变。

SageMath

Example 1

如果我认为这个序列是s=0101110,那么它会重复。然后利用SageMath中的Berlekamp-Massey函数给出了最小多项式x^3+x+1

代码:

代码语言:javascript
运行
AI代码解释
复制
berlekamp_massey([GF(2)(0), 1, 0, 1, 1, 1, 0, 0, 1, 0, 1, 1, 1, 0])

(这里我必须重复这个序列,因为长度必须是偶数)

Example 2:

如果我认为序列是s=011101,然后它重复,然后在SageMath中使用Berlekamp-Massey函数给出最小多项式x^3+x^2+1

代码:

代码语言:javascript
运行
AI代码解释
复制
berlekamp_massey([GF(2)(0), 1, 1, 1, 0, 1])

(因为长度甚至是berlekamp massey函数都接受这一点)

Example 3:

如果我认为序列是s=011101,那么它就重复;然后在SageMath中使用Berlekamp-Massey函数给出最小多项式x^5+x^4+x^3+x^2+1

代码:

代码语言:javascript
运行
AI代码解释
复制
berlekamp_massey([GF(2)(0), 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1])

(在这里,我故意重复了一遍)

那么,我的问题是如何使用Berlekamp函数实际计算SageMath中序列的线性复杂度?以上哪些例子是正确的,哪些是不正确的?

EN

回答 2

Cryptography用户

发布于 2021-11-06 14:57:50

其中的一个方面是,如果到目前为止,序列(s_t)_{t \geq 0}的计算递归是长度L,则确实需要等到观察2L符号才能验证迄今生成的D2符号是否有效。这是因为系数必须满足矩阵方程\left[\begin{array}{ccccc} s_0 & s_1 & s_2 & \cdots & s_{L-1} \\ s_1 & s_2 & s_3 & \cdots & s_{L} \\ & \vdots & & \vdots & \\ s_{L-1} & s_{L} & s_{L+1} & \cdots & s_{2L-2} \\ \end{array} \right] \left[ \begin{array}{c} c_L \\ c_{L-1} \\ \vdots \\ c_1\end{array} \right] = \left[ \begin{array}{c} s_L \\ s_{L+1} \\ \vdots \\ s_{2L-1}\end{array} \right]

其中c_1,\ldots,c_L是特征方程的系数,为了有效。

这是由于重复的性质,它必须继续保持,直到最后一个符号(s_L)的基础上,它的计算不再是矩阵方程的一部分。

票数 2
EN

Cryptography用户

发布于 2021-11-07 01:18:01

给出一个长度为S2N序列,Berlekamp-Massey算法找到一个产生相同序列S (特别是最短序列)的线性调频随机序列。但是,您不知道序列是否有周期N。您只知道,如果初始状态正确,所产生的序列将等于输入中的序列。所有计算都将在GF(2)中进行。

示例2:具有最小多项式x^3+x^2+1的LFSR是s_{n+3}=s_{n+2}+s_n,我们需要3个初始值来生成sequnce (因为它依赖于s_ns_{n+2})。在示例中,初始状态为S=011,即s_0=0s_1=1s_2=1。您可以看到,下一个值与序列s_3=s_2+s_0=1s_4=0s_5=1中的值相同。无论如何,这个序列的周期不是6,所以这个LFSR对于序列S || S不太好(也就是说,如果您继续使用这个LFSR产生位,您将得到一个与S||S不同的序列)。

示例3:这个序列的初始位是相同的,但是这次最短的序列是更复杂的s_{n+5}=s_{n+4}+s_{n+3}+s_{n+2}+s_{n+1}+s_{n},状态是5位长。当然,如果您在初始状态01110中使用此序列,则第六个位等于示例2中的序列(即位0+1+1+1+0=1),但是给定初始状态01110,您可以生成序列011101011101

票数 1
EN
页面原文内容由Cryptography提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://crypto.stackexchange.com/questions/95977

复制
相关文章
Vue的 侦听器 watch
watch主要用于监控vue实例的变化,它监控的变量当然必须在data里面声明才可以,
wust小吴
2019/12/27
6670
程序化的事件侦听器
也就是说,在其中一个页面中我们使用uni.on或者uni.once,在另一个页面中就可以使用uni.emit进行调用,前提是uni,on或者uni.
阿超
2022/08/17
1.4K0
程序化的事件侦听器
Vue2 侦听器 watch【初识】
1. 侦听器 watch ---- Vue 提供了一种更通用的方式来观察和响应 Vue 实例上的数据变动:侦听属性 当属性发生改变时,自动触发属性对应的侦听器。 当需要在数据变化时执行异步或开销较大的操作时,这个方式是最有用的。 2. 基础用法 ---- 当 msg 属性的值发生改变时,就会触发侦听器的执行 <div id="app"> <input type="text" v-model="msg"> </div> <script> let vm = new Vue({ el: '#app', d
很酷的站长
2023/02/17
5580
Vue2 侦听器 watch【初识】
Vue计算属性和侦听器
模板内的表达式非常便利,但放入太多的逻辑会让模板过重且难以维护,所以,对于复杂的逻辑,可以使用计算属性 computed。
Leophen
2019/08/23
6920
jQuery事件
1. 常用事件 click() 鼠标单击 blur() 元素失去焦点 focus() 元素获得焦点 mouseover() 鼠标进入(进入子元素也触发) mouseout() 鼠标离开(离开子元素也触发) ready() DOM加载完成 示例代码: <script> $(function(){ var $li = $('.list li'); var $button = $('#button1') var $text = $("#text1");
落雨
2022/03/01
32K0
jquery事件
parent > child在给定的父元素下匹配所有的子元素 参数 parentSelectorV1.0 任何有效选择器 childSelectorV1.0 用以匹配元素的选择器,并且它是第一个选择器的子元素 示例 描述: 匹配表单中所有的子级input元素。 HTML 代码: <form> <label>Name:</label> <input name="name" /> <fieldset> <label>Newsletter:</label> <input nam
wangxl
2018/03/07
2K0
JQuery事件
       focus()                 ------获得焦点事件
用户3159471
2018/09/13
2.3K0
jQuery 事件
什么是事件 页面对不同访问者的响应叫做事件。 事件处理程序指的是当 HTML 中发生某些事件时所调用的方法。 常见 DOM 事件: 鼠标事件 键盘事件 表单事件 文档/窗口事件 click keypr
静默虚空
2018/01/05
3K0
jQuery 事件
在事件中经常使用术语"触发"(或"激发")例如: "当您按下按键时触发 keypress 事件"。
陈不成i
2021/07/22
2.4K0
九.Vue.js的侦听器
九.Vue.js的侦听器
Java架构师必看
2021/05/14
5590
jQuery 事件注册、事件处理
其他事件和原生基本一致。 比如mouseover、mouseout、blur、focus、change、keydown、keyup、resize、scroll 等
梨涡浅笑
2020/10/27
4K0
jquery鼠标事件
click()   为点击事件绑定一个事件处理函数,或者触发元素点击事件。   .click( handler(eventObject) )     handler(eventObject)       每次事件触发时候执行的函数。   .click([eventData],handler(eventObject))     eventData       一个对象,它包含的数据键值对应映射将被传递给事件处理程序。   handler(e
用户1197315
2018/01/19
4.9K0
Jquery 事件冒泡
什么是JS事件冒泡?: 在一个对象上触发某类事件(比如单击onclick事件),如果此对象定义了此事件的处理程序,那么此事件就会调用这个处理程序,如果没有定义此事件处理程序或者事件返回true,那么这个事件会向这个对象的父级对象传播,从里到外,直至它被处理(父级对象所有同类事件都将被激活),或者它到达了对象层次的最顶层,即document对象(有些浏览器是window)。 (摘自网络) 如何来阻止Jquery事件冒泡? 通过一个小例子来解释 <%@ Page Language="C#" AutoEventW
Porschev
2018/01/16
3K0
jQuery事件(20171031)
1.交换内容 $("#btn").on("click",function(){ //方法一 var srcOne = $("img").eq(0).attr("src"); var srcTwo = $("img").eq(1).attr("src"); $("img").eq(0).attr("src",srcTwo); $("img").eq(1).attr("src",
天天_哥
2018/09/29
1.2K0
jQuery事件委托
在jQuery中,事件委托是一种优化事件处理的技术,它利用事件冒泡的机制,将事件处理程序绑定到一个父级元素上,从而减少事件处理函数的数量,并实现对动态添加的子元素的事件处理。
堕落飞鸟
2023/05/18
1.2K0
jquery事件绑定
.bind()   为一个元素绑定一个元素处理程序。   .bind(eventType[,eventData],handler(eventObject))     eventType       一个包含一个或多个DOM事件类型的字符串,或自定义事件的名称。     eventData       一个对象,它包含的数据键值对映射将被传递给事件处理程序。     handler(eventObject)       每当事件
用户1197315
2018/01/19
3.8K0
jquery基础事件
一.常用的事件有:click、dblclick、 mousedown、mouseup、mousemove、mouseover、mouseout、change、select、submit、keydown、 keypress、keyup、blur、focus、load、resize、scroll、error。。。。。
wfaceboss
2019/04/08
1.3K0
jQuery事件机制
JavaScript中已经学习过了事件,但是jQuery对JavaScript事件进行了封装,增加并扩展了事件处理机制。jQuery不仅提供了更加优雅的事件处理语法,而且极大的增强了事件的处理能力。
Qwe7
2022/04/16
1.9K0
jQuery事件代理
事件代理就是利用事件冒泡的原理(事件冒泡就是事件会向它的父级一级一级传递),把事件加到父级上,通过判断事件来源,执行相应的子元素的操作,事件代理首先可以极大减少事件绑定次数,提高性能;其次可以让新加入的子元素也可以拥有相同的操作。
落雨
2022/03/01
30K0
jQuery事件处理
在jQuery中,事件处理是一项重要的功能,它使我们能够对元素的各种交互行为做出响应。jQuery提供了一系列方法来绑定、解绑和触发事件,以及操作事件对象。
堕落飞鸟
2023/05/18
9190

相似问题

jQuery会覆盖事件侦听器吗?

30

如何覆盖(?)jQuery事件?

10

Fosuserbundle覆盖事件侦听器

14

Vue无法附加事件侦听器

13

Jquery事件覆盖

20
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档