




免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
线性反馈与对偶移位寄存器的功能实现091234 谢锦仪一、实验目的:该实验为验证性实验。通过本实验,使学生切实理解线性反馈移位寄存器与对偶移位寄存器的工作原理,学会编写和运用两种移位寄存器“进动一拍”的程序,培养和锻炼学生对于密码学中各种基本“构造”的编程实现能力。 二、实验内容及完成情况:1. 分别写出实现n-LFSR与 n-DSR(n为正整数)进动一拍的程序(旨在能“由寄存器的一个状态算出紧接着的下一个状态”),要求:寄存器状态的各分量自然地与相应数据存储区的各比特位一一对应,不允许仅1个状态分量就占据1个存储单元(字节、字或双字等)。2. 基于上述程序完成以下工作:选定一个8次联接多项式,这时检验状态存储区自然形成的1字节二进制数是否与前出现者相同就可判定状态是否开始成圈(即进入周期性重复),据此编制i) 分别计算LFSR与DSR在一个给定初态(由外部响应给出)下输出序列ii) 求出LFSR或DSR之一状态图的程序。三、实验要求:1对较低次数的联接多项式,程序计算结果须与手工推算一致; 2抓图显示“输出序列”与“状态图”(附页),不能出现明显错误。 四、结果:1、LFSR2、DSR五、实验体会:这次实验有很大的难度,尤其是对其中移位的操作难倒了不少人。并且看了老师给的程序后理解不是很深,看了很长时间后才有所了解,后来经过复习以前的课程对LFSR和DSR有了更深层次的理解之后终于明白了程序改如何编写了。总的来说,这次实验不但是我对LFSR和DSR两种古典密码有了很好的理解,而且也是我对C语言编程中的位运算也熟悉了不少,相信在以后的工作中会给我带来很大的便利。六、思考题:为什么“检验状态存储区自然形成的二进制数是否与前出现者相同就可判定状态是否开始成圈(即进入周期性重复)”? 答:因为每个状态都有唯一的前一拍状态,对应的所有的状态应该是一一连接的(不一定都在一条线上)。所以如果出现了2个一样的状态,那么后续的对应状态一定相同。 附录#include#include#includeunsigned char *DSR_go(unsigned char *pzt,unsigned char *pjg,unsigned char count)unsigned char t;int a=128,b;t=pzt0;pzt0=pzt01;t=(8-count);b=t&a;if(b=128)pzt0=pjg0;return(pzt);unsigned char *LFSR_go(unsigned char *pzt,unsigned char *pjg) unsigned char t=0; int c=0,i,m=0;t=pzt01; for(i=0;i8;i+) if(pjg0i)&128)=128)if(pzt0i)&128)=128)m+; if(m%2=0) t=t; else t|=1; pzt0=t; return (pzt);void d_to_b(unsigned char n ,unsigned char count)int a=128,b,i;n=(8-count);for(i=0;icount;i+)b=n&a;if (b=128) printf(1);else printf(0);n=n1;b_to_d(int n)int a=0,i;char c; for (i=0;in+1;i+)c=getchar(); if(c=1) a=a1;a+; else a=a1; return a;void main()int count,choose_c=0,a=1,i,k;int b;unsigned char *p,pzt32,pjg32,xchg1,tihuan100;printf(请输入n值:n);scanf(%d,&count);for(i=1;icount+1;i+) choose_c=choose_c+a; a*=2; printf(请输入初始状态:n);pzt0=b_to_d(count);xchg1=pzt0;printf(请输入计算反馈函数(为反馈函数倒序):例f=x1+x2+x5,输入10011n);pjg0=b_to_d(count);printf(请选择LFSR或者DSR,LFSR为1,DSR为2:n);scanf(%d,&b);if(b=1) printf(各状态如下:n);d_to_b(xchg1 , count);tihuan0=xchg1;i=0; do i+;printf(-);p=LFSR_go(pzt,pjg); pzt0=*p&(unsigned char)choose_c;tihuani=pzt0; d_to_b(pzt0 , count); while(pzt0!=xchg1); printf(nLFSR周期为:%dn,i); printf(LFSR的0,1序列为:n); choose_c=1; for(k=1;kcount;k+) choose_c=choose_c1; for(k=0;k=choose_c) printf(1); else printf(0); else if(b=2) printf(各状态如下:n); d_to_b(xchg1 , count); tihuan0=xchg1; i=0; do i+; printf(-); p=DSR_go(pzt,pjg,count); pzt0=*p&(unsigned char)choose_c; tihuani=pzt0; d_to_b(pzt0 , count);while(pzt0!=xchg1); printf(nDSR周期为:%
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年江西烟草招聘考试真题及答案
- 考点解析人教版八年级上册物理光现象《平面镜成像》定向攻克试题(解析版)
- 2025年道路运输企业主要负责人和安全生产管理人员考试(安全生产管理人员)练习题及答案
- 2025年建筑结构设计与技术施工综合测评试题及答案
- 难点解析人教版八年级物理上册第5章透镜及其应用-5.5显微镜和望远镜专题训练试题(含详解)
- 2025年煤矿企业主要负责人安管能力考试考前模拟试题及答案
- 综合解析人教版八年级上册物理机械运动《运动的描述》综合练习练习题(含答案解析)
- 2025高中从句试题及答案解析
- 考点解析人教版八年级物理上册第5章透镜及其应用-凸透镜成像的规律专项训练练习题
- 综合解析人教版八年级物理《压强》单元测试练习题(含答案详解)
- 新闻记者职业资格《新闻采编实务》考试题库(含答案)
- 图解自然资源部《自然资源领域数据安全管理办法》
- 2024年四川省绵阳市中考英语试题卷(标准含答案)
- 股东之间股权转让合同协议书(2篇)
- PLC入门课程课件
- 港口液体危化品装卸管理人员理论考试题库(浓缩500题)
- 2024年深圳市龙华建设发展集团有限公司招聘笔试冲刺题(带答案解析)
- 药师竞聘正高述职报告
- 昇兴(安徽)包装有限公司年产 18 亿只铝制两片罐项目环境影响评价报告书
- 企业电气安全事故案例分析
- 2023学年完整公开课版液压方枕器
评论
0/150
提交评论