尝试设计LFSR加密器,并用CAP4验证随机性
在CPA4软件中有提供设计LFSR加密器的功能:
输入LFSR的大小,初始密钥,还有反馈密钥。
点击Set Key后点击Show LFSR
观察LFSR,发现初始密钥是1101,转成十六进制是D,反馈密钥是1001,转成十六进制是9,正确。
接下来输入循环的次数20000,点击run就自动生成20000个二进制位。
结果仅截取前面一部分来验证是否达到最大周期:
1111
0101
1001
0001
1110
1011
0010
0011
1101
0110
0100
0111
1010
1100
1000
1111
发现周期是15,已经达到最大周期。特征多项式为x4+x+1
CAP4也提供随机性测试:
无法通过单个位测试
无法通过扑克牌测试
所以虽然这个LFSR达到最大周期,但是随机性测试没有通过,是无法作为一个合格的密钥流生成器的。
本文章不旨在设置合格的密钥流生成器,仅说明如何去设计LFSR及测试随机性的方法。
尝试设计LFSR加密器,并用CAP4验证随机性的更多相关文章
- 翻译:使用 ASP.NET MVC 4, EF, Knockoutjs and Bootstrap 设计和开发站点 - 4 - 验证
验证: 快要完成我们程序的界面部分了.剩下的事情就是在用户点击 "保存" 的时候管理验证问题了.验证是主要需求,今天就是最无知的应用也不会忽视它.通过正确的验证,用户可以知道应该输 ...
- STL源码剖析——iterators与trait编程#1 尝试设计一个迭代器
STL的中心思想在于:将数据容器与算法分开,独立设计,再用一帖粘着剂将它们撮合在一起.而扮演粘着剂这个角色的就是迭代器.容器和算法泛型化,从技术角度来看并不困难,C++的模板类和模板函数可分别达成目标 ...
- Oracle TDE的数据加密示例并用logminer验证加密效果
1.确认数据库版本 2创建密钥钱包 3创建加密列的表并初始值 4演示TDE的数据加密示例 5 logminer验证加密效果
- 获取客户端ip并用正则表达式验证
代理HTTP_VIA /// <summary> /// 获得请求的ip /// </summary> /// <returns></returns> ...
- MATLAB设计模糊控制器并用simulink仿真
一.设计模糊控制器1.1 创建项目文件夹在此路径如图 1.2 打开MATLAB打开MATLAB R2012a切换当前目录为上一步路径,如图 1.3 设计模糊控制器打开模糊控制器设计对话框 根据模糊控制 ...
- 斯坦福第十一课:机器学习系统的设计(Machine Learning System Design)
11.1 首先要做什么 11.2 误差分析 11.3 类偏斜的误差度量 11.4 查全率和查准率之间的权衡 11.5 机器学习的数据 11.1 首先要做什么 在接下来的视频中,我将谈到机器 ...
- Ng第十一课:机器学习系统的设计(Machine Learning System Design)
11.1 首先要做什么 11.2 误差分析 11.3 类偏斜的误差度量 11.4 查全率和查准率之间的权衡 11.5 机器学习的数据 11.1 首先要做什么 在接下来的视频将谈到机器学习系 ...
- 浅谈Hybrid技术的设计与实现
前言 浅谈Hybrid技术的设计与实现 浅谈Hybrid技术的设计与实现第二弹 浅谈Hybrid技术的设计与实现第三弹——落地篇 随着移动浪潮的兴起,各种APP层出不穷,极速的业务扩展提升了团队对开发 ...
- Hybrid技术的设计与实现(转)
浅谈Hybrid技术的设计与实现 前言 随着移动浪潮的兴起,各种APP层出不穷,极速的业务扩展提升了团队对开发效率的要求,这个时候使用IOS&Andriod开发一个APP似乎成本有点过高了,而 ...
随机推荐
- python —print
今天开始学python了,“装X”安装了最新版本python 3.4.1 然后,print “hello world!" 就出错了... 一搜原来... python v3.0以后的版本pr ...
- jquery实现公告上下滚动显示
js: // JavaScript Documentfunction b(){ t = parseInt(x.css('top')); y.css('top','19px'); x.animate({ ...
- mysql-no-install 手动安装
D:\mysql-5.5.28-win32 1.下载mysql-5.5.15-win32.zip,解压到本地D:\mysql. 2.将my-small.ini另存为my.ini .(根据情况可以选择别 ...
- http://www.cnblogs.com/xdp-gacl/p/3622275.html
http://www.cnblogs.com/xdp-gacl/p/3622275.html
- 理解C++中函数的返回
连续几年的C++程序设计课教学中,学生中总有人要求为他们单独解释函数的返回(return)究竟是什么意思.各种书中都会详讲返回值的问题,而学生们掌握的难点却是在返回至何处执行.本文试图通过对一般函数及 ...
- 如何通过进程名获取进程ID
博客搬到了fresky.github.io - Dawei XU,请各位看官挪步.最新的一篇是:如何通过进程名获取进程ID.
- 如何减少不能重现的Bug
博客搬到了fresky.github.io - Dawei XU,请各位看官挪步.最新的一篇是:如何减少不能重现的Bug.
- java反射与代理模式
流程age: 饭前洗手----> 吃饭 --->饭后洗碗 //吃饭 public interface Dinner { //吃饭方法 public void haveDinner(); } ...
- CopyU!SW新版发布!
CopyU!SW新版发布,版本号为:2.1.412.213 主要更新内容如下: 此版本(2.1.412.213)主要作了如下更新: 1.修复了CopyU!SW版本中的运行模式规则的设定错 ...
- 【转】Spring websocket 使用
http://docs.spring.io/spring/docs/current/spring-framework-reference/html/websocket.html https://spr ...