2000年10月2日,美国国家标准与技术研究所宣布采用Rijndael算法作为高级加密标准,并于2002年5月26日正式生效,AES算法将在今后很长一段时间内,在信息安全中扮演重要角色。因此,对AES算法实现的研究就成为了国内外的热点,会在信息安全领域得到广泛的应用。用FPGA实现AES算法具有快速、灵活、开发周期短等优点。 本论文就是针对AES加、解密算法在同一片FPGA中的优化实现问题,在深入分析了AES算法的整体结构、基本变换以及加、解密流程的基础上,对AES算法的加、解密系统的FPGA优化设计进行了研究。主要内容为: 1.确定了实现方案以及关键技术,在比较了常用的结构后,采用了适合高速并行实现AES加、解密算法的结构——内外混合的流水线结构,并给出了总体的设计框图。由于流水线结构不适用于反馈模式,为了达到较高的运算速度,该系统使用的是电码本模式(ECB)的工作方式; 2.对各个子模块的设计分别予以详细分析,结合算法本身和FPGA的特点,采用查表法优化处理了字节代换运算,列混合运算和密钥扩展运算。同时,考虑到应用环境的不同,本设计支持数据分组为128比特,密钥长度为128比特、192比特以及256比特三种模式下的AES算法加、解密过程。完成了AES加、解密算法在同一片FPGA中实现的这个系统的优化设计; 3.利用QLJARTUSII开发工具进行代码的编写工作和综合编译工作,在 MODELSIM中进行仿真并给出仿真结果,给出了各个模块和整个设计的仿真测试结果; 4.和其他类似的设计做了横向对比,得出结论:本设计在保证了速度的基础上实现了资源和速度的均衡,在性能上具有较大的优势。
上传时间: 2013-05-25
上传用户:wcl168881111111
利用混沌的对初值和参数敏感、伪随机以及遍历等特性设计的加密方案,相对传统加密方案而言,表现出许多优越性能,尤其在快速置乱和扩散数据方面.目前,大多数混沌密码倾向于软件实现,这些实现方案中数据串行处理且吞吐量有限,因而不适合硬件实现.该论文分别介绍了适合FPGA(现场可编程门阵列)并行实现的序列密码和分组密码方案.序列密码方案,对传统LFSR(线性反馈移位寄存器)进行改进,采用非线性的混沌方程代替LFSR中的线性反馈方程,进而构造出基于混沌伪随机数发生器的加密算法.分组密码方案,从图像置乱的快速性考虑,将两维混沌映射扩展到三维空间;同时,引入另一种混沌映射对图像数据进行扩散操作,以有效地抵抗统计和差分攻击.对于这两种方案,文中给出了VHDL(硬件描述语言)编程、FPGA片内功能模块设计、加密效果以及硬件性能分析等.其中,序列密码硬件实现方案,在不考虑通信延时的情况下,可以达到每秒61.622兆字节的加密速度.实验结果表明,这两种加密算法的FPGA实现方案是可行的,并且能够得到较高的安全性和较快的加密速度.
上传时间: 2013-04-24
上传用户:yx007699
5月1日凌晨发布第一测试版 功能介绍: 1.生成中英文数字混合的字符串的字模数据. 2.可选择字体,大小,并且可独立调整文字的长和宽,生成任意形状的字符。 3.各种旋转,翻转文字功能 4.任意调整输出点阵大小,并任意调整字符在点阵中的位置。 5.字模数据输出可自定义各种格式,系统预设了C语言和汇编语言两种格式,并且可自己 定义出新的数据输出格式;每行输出数据个数可调。 6.支持四种取模方式:逐行(就是横向逐行取点),逐列(纵向逐列取点),行列(先 横向取第一行的8个点作为第一个字节,然后纵向取第二行的8个点作为第二个字节……), 列行(先纵向取第一列的前8个点作为第一个字节,然后横向取第二列的前8个点作为第二个 字节……) 7.支持阴码(亮点为1),阳码(亮点为0)取模 8.支持纵向(第一位为低位)(,倒向第一位为高位)取模 9.输出数制可选16进制或10进制 10.可生成索引文件,用于在生成的大量字库中可快速检索到需要的汉字 11.动态液晶面板彷真,可调节彷真面板象素点大小和颜色 12.图形模式下可任意用鼠标作画,左键画图,右键擦图。 12.旋转,翻转,平移等字符模式下的功能也可用与对BMP图象的处理 版本为pctolcd1.94 5月1日晚上发布第二测试版 更新如下: 1.增加锁定点阵大小功能,例如可锁定24X24点阵大小,然后调节独立调节字点阵的大小 2.增加热键功能,可用光标配合Ctrl,Shift对文字大小和位置修改 3.增加精简输出格式选项 4.把文字输入框换成了文字输入组合框,这样就可以保存历史纪录。 5.输出数据会自动清除以前的数据 6.可隐藏自定义格式,简化操作 7.一些小的BUG修正。 版本为pctolcd2.03 5月3日凌晨发布第三测试版 更新如下: 1.增加了一些小东西,例如演示动画一类的,我懒的一一写了 2.改掉一些可恶的小BUG,例如点阵输入框的自动完成。 3.增加大量文字处理和导入TXT文本文件功能,并且可以去除文本中的空白和重复字符, 可以对文本进行排序,适合于生成小字库。我这里测试是3万多字的TXT文件在2分钟内转成16X16点阵的字库文件。 版本号为pctolcd2.53 由于本软件侧重于对字符的处理,所以在图象方面功能较弱,请见晾。 5月8日发布正式版 正式版已经开始朝着液晶字库生成软件的方向进化了,我在后来的更新中把主要精力也放 在这部分,由于我目前还没有发现有同类的软件具备这个功能,也无法得到任何的参考,只能 自己摸索前进,所以如果还有不方便的地方请大家多提意见. 具体更新如下: 1.重写大部分的内核代码以配合汉字库生成的功能,目前这个内核已经进行了反复的测试, 相信稳定性和速度较前一版本有了巨大的提高. 2.去掉那个比较愚蠢的热键区了,因为用处不大 3.增加汉字库生成功能,这是最重要的改进之处,下文将详细介绍. 4.修正许多小BUG,使软件更加成熟些. 5月12日发布完美版 这次发布的PCtoLCD2002完美版与前一版本相比没有增加太多的功能,因为我觉得现有的这些功能已经足够用于生成各种字模的需要了,所以完美版的主要工作是反复测试,精心去除各种BUG,以及调节一些细微之处,目的当然就是追求完美!不过世上不会有真正完美的东西,这个软件也不例外,而且这个软件从头至尾全部是我一个人编写完成,精力有限,难免会顾此失彼,如果大家发现了这个版本中存在的BUG,请及时告诉我。 更新说明: 1。界面采用新的字体,不会再有那种难看的黑色粗体字,比以前的要漂亮多了。 2。加入全面的提示帮助,尽量减少普通用户的各种疑惑。 3。修正生成文件的扩展名的一些BUG,不会总是加上FON的扩展名了。 4。修正生成字模数据的一些格式BUG,现在生成的C51格式字模数据基本上可以直接粘贴到源程序中使用而不需要修改了 5。加入新的字模数据格式调整项,允许用户更自由的定制自己需要的数据格式 6。最重要的更新:全面支持保存当前设置功能,用户设置的字模格式,主窗口状态和字库生成窗口选项信息均可保存,下一次打开窗口时不用重新设置。 7。修正了新建图象时会自动跳到图形模式的BUG 8。增加输出紧凑格式数据选项,可以生成不包含空白行的字模数据。 9。完善了每行数据显示个数的功能,可以任意设置每行显示的数据个数,并同时可以设置每行索引数据显示个数。 10。修正了取模说明的一些错误,并改动了格式。 11。现在当用户选择10进制输出时,会自动去掉生成字模数据前的“0x",或后面的“H”,选择16进制时则会自动加上。 12。对各个窗体重新设计以全面适应最大化的需要,如果您觉得当前窗口不够大,可以最大化使用。 13。增加生成英文点阵字库功能,可自动生成ASCII码从0-127的任意点阵字库,使用方法同生成国标点阵字库功能。 14。再次优化代码,去掉各种调试信息,使程序速度再快一些。 15。还有许多细微的调整我记不清了…… 需要注意的地方: 在测试的过程中我发现了一个问题:在WIN98或WINME下当用户直接生成特大点阵的字模时(例如320*320,1024*768的汉字字模),此时由于数据量非常庞大,而WIN98/WINME会有64K的数据容量限制,所以在主窗口中是无法得到全部的字模数据的,这时您需要使用字库生成功能,通过形成一个数据文件才能得到完整的字模数据。 我认为到现在这个软件功能已经很完善了,但可能使用上有点不方便,如果你有什么不明白 的地方,可以发帖子或发MAIL询问
上传时间: 2013-07-26
上传用户:sssnaxie
本文从AES的算法原理和基于ARM核嵌入式系统的开发着手,研究了AES算法的设计原则、数学知识、整体结构、算法描述以及AES存住的优点利局限性。 针对ARM核的体系结构及特点,对AES算法进行了优化设计,提出了从AES算法本身和其结构两个方面进行优化的方法,在算法本身优化方面是把加密模块中的字节替换运算、列混合运算和解密模块中的逆列混合运算中原来的复杂的运算分别转换为简单的循环移位、乘和异或运算。在算法结构优化方面是在输入输山接口上采用了4个32位的寄存器对128bits数据进行了并行输入并行输出的优化设计;在密钥扩展上的优化设计是采用内部扩展,即在进行每一轮的运算过程的同时算出下一轮的密钥,并把下一轮的密钥暂存在SRAM里,使得密钥扩展与加/解密运算并行执行;加密和解密优化设计是将轮函数查表操作中的四个操作表查询工作合并成一个操作表查询工作,同时为了使加密代码在解密代码中可重用,节省硬件资源,在解密过程中采用了与加密相一致的过程顺序。 根据上述的优化设计,基于ARM核嵌入式系统的ADS开发环境,提出了AES实现的软硬件方案、AES加密模块和解密模块的实现方案以及测试方案,总结了基于ARM下的高效编程技巧及混合接口规则,在集成开发环境下对算法进行了实现,分别得出了初始密钥为128bits、192bits和256bits下的加密与解密的结果,并得剑了正确验证。在性能测试的过程中应用编译器的优化选项和其它优化技巧优化了算法,使算法具有较高的加密速度。
上传时间: 2013-04-24
上传用户:liansi
本文以符号多项式理论为基础,从理论上论证了任意长度比特组合的CRC校验码的并行算法,提出了并行CRC计算的数学模型,并且以8位二进制序列(即一个字节)为例,介绍了利用此数学模型计算校验码的方法,最后给出了与此算法相对应的VHDL模型。经过对实验数据的对比分析,表明文中所提并行CRC算法的关键路径延迟和硬件面积都得到了优化,以Top-Down设计方法给出了一种HDLC协议控制器的设计方案,用VHDL语言进行了行为级描述,采用Xilinx公司的FPGA产品进行实现。
上传时间: 2013-06-09
上传用户:s363994250
8051处理器自诞生起近30年来,一直都是嵌入式应用的主流处理器,不同规模的805l处理器涵盖了从低成本到高性能、从低密度到高密度的产品。该处理器极具灵活性,可让开发者自行定义部分指令,量身订制所需的功能模块和外设接口,而且有标准版和经济版等多种版本可供选择,可让设计人员各取所需,实现更高性价比的结构。如此多的优越性使得8051处理器牢固地占据着庞大的应用市场,因此研究和发展8051及与其兼容的接口具有极大的应用前景。在众多8051的外设接口中,I2C总线接口扮演着重要的角色。通用的12C接口器件,如带12C总线的RAM,ROM,AD/DA,LCD驱动器等,越来越多地应用于计算机及自动控制系统中。因此,本论文的根本目的就是针对如何在8051内核上扩展I2C外设接口进行较深入的研究。 本课题项目采用可编程技术来开发805l核以及12C接口。由于8051内核指令集相容,我们能借助在现有架构方面的经验,发挥现有的大量代码和工具的优势,较快地完成设计。在8051核模块里,我们主要实现中央处理器、程序存储器、数据存储器、定时/计数器、并行接口、串行接口和中断系统等七大单元及数据总线、地址总线和控制总线等三大总线,这些都是标准8051核所具有的模块。在其之上我们再嵌入12C的串行通信模块,采用自下而上的方法,逐次实现一位的收发、一个字节的收发、一个命令的收发,直至实现I2C的整个通信协议。 8051核及I2C总线的研究通过可编程逻辑器件和一块外围I2C从设备TMPl01来验证。本课题的最终目的是可编程逻辑器件实现的8051核成功并高效地控制扩展的12C接口与从设备TMPl01通信。 用EP2C35F672C6芯片开发的12C接口,数据的传输速率由该芯片嵌入8051微处理的时钟频率决定。经测试其传输速率可达普通速率和快速速率。 目前集成了该12C接口的8051核已经在工作中投入使用,主要用于POS设备的用户数据加密及对设备温度的实时控制。虽然该设备尚未大批量投产,但它已成功通过PCI(PaymentCardIndustry)协会认证。
上传时间: 2013-06-18
上传用户:731140412
bios里面的校验和的计算方法,各字节的和与0xff取模,然后取补码作为最后一个字节,以保证文件总和与oxff取模为0
上传时间: 2013-07-25
上传用户:fff4444
使用Java语言有非常多的好处,如安全的对象引用、语言级支持多线程和跨平台等特性。但是嵌入式系统中Java语言的应用却很少见,这是由于Java如下两方面的不足: (1)Java虚拟机实现需要大量的硬件资源;(2)Java语言的运行时间不可预测。 为此,本论文将实现一个能够应用在低端FPGA器件的实时Java虚拟机。论文的主要创新点如下: 1.使用基于堆栈的RISC模型处理器实现CISC模型的JVM; 2.处理器微指令无任何相关性; 3.所设计的JVM能使Java程序拥有足够的底层访问能力。 论文的主要内容和工作如下: 1.制定基于堆栈的RISC结构处理器各级结构。 2.设计简洁高效的处理器微指令,并且微指令能够满足字节码的需要。 3.制定Java字节码到处理器代码的转换关系和快速转换结构。 4.设计中使用高速缓存,提高运行速度。 5.优化堆栈的硬件结构,使得出栈入栈操作更加简洁快速。 6.设计一系列的本地方法,使得Java程序能够直接访问底层资源。 7.将Java类库使用本地方法实现。 8.自定义程序在内存中的结构,并使用装载工具实现。 9.制定处理外围数据处理机制,如IO和内存接口10.制定中断处理方式,并且实现软中断的机制。
上传时间: 2013-06-11
上传用户:417313137
在数字电视系统中,MPEG-2编码复用器是系统传输的核心环节,所有的节目、数据以及各种增值服务都是通过复用打包成传输流传输出去。目前,只有少数公司掌握复用器的核心算法技术,能够采用MPEG-2可变码率统计复用方法提高带宽利用率,保证高质量图像传输。由于目前正处广播电视全面向数字化过渡期间,市场潜力巨大,因此对复用器的研究开发非常重要。本文针对复用器及其接口技术进行研究并设计出成形产品。 文中首先对MPEG-2标准及NIOS Ⅱ软核进行分析。重点研究了复用器中的部分关键技术:PSI信息提取及重构算法、PID映射方法、PCR校正及CRC校验算法,给出了实现方法,并通过了硬件验证。然后对复用器中主要用到的AsI接口和DS3接口进行了分析与研究,给出了设计方法,并通过了硬件验证。 本文的主要工作如下: ●首先对复用器整体功能进行详细分析,并划分软硬件各自需要完成的功能。给出复用器的整体方案以及ASI接口和DS3接口设计方案。 ●在FPGA上采用c语言实现了PSI信息提取与重构算法。 ●给出了实现快速的PID映射方法,并根据FPGA特点给出一种新的PID映射方法,减少了逻辑资源的使用,提高了稳定性。 ●采用Verilog设计了SI信息提取与重构的硬件平台,并用c语言实现了SDT表的提取与重构算法,在FPGA中成功实现了动态分配内存空间。 ●在FPGA上实现了.ASI接口,主要分析了位同步的实现过程,实现了一种新的快速实现字节同步的设计。 ●在FPGA上实现了DS3接口,提出并实现了一种兼容式DS3接口设计。并对帧同步设计进行改进。 ●完成部分PCB版图设计,并进行调试监测。 本复用器设计最大特点是将软件设计和硬件设计进行合理划分,硬件平台及接口采用Verilog语言实现,PSI信息算法主要采用c语言实现。这种软硬件的划分使系统设计更加灵活,且软件设计与硬件设计可同时进行,极大的提高了工作效率。 整个项目设计采用verilog和c两种语言完成,采用Altera公司的FPGA芯片EP1C20,在Quartus和NIOS IDE两种设计平台下设计实现。根据此方案已经开发出两台带有ASI和DS3接口的数字电视TS流复用器,经测试达到了预期的性能和技术指标。
上传时间: 2013-06-10
上传用户:01010101
纹理映射在计算机图形计算中属于光栅化阶段,处理的是像素,主要的特点是数据的吞吐量大,对实时系统来说转换的速度是一个关键的因素,人们寻求各种加速算法来提高运算速度。传统的方法是用更快的处理器,并行算法或专用硬件。随着数字技术的发展,尤其是可编程逻辑门阵列(FPGAs)的发展,提供了一种新的加速方法。FPGAs在密度和性能上都有突破性的发展,当前的FPGA芯片已经能够运算各种图形算法,而在速度上与专用的图形卡硬件相同。因此,FPGA芯片非常适合这项工作。 本文主要工作包括以下几个方面: 1、本文提出了一种MIPmapping纹理映射优化方法,改进了MIPmapping映射细化层次算法及纹理图像的存储方式,减少纹理寻址的计算量,提高纹理存储的相关性。详细内容请阅读第三章。 2、提出了一种MIPmapping纹理映射优化方法的硬件实现方案,该方案针对移动设备对功耗和面积的要求,以及分辨率不高的特点,在参数空间到纹理地址的计算中用定点数来实现。详细内容请阅读第四章。 3、实现了纹理映射流水线单元纹理地址产生电路,及纹理滤波电路的FPGA设计,并给出设计的综合和仿真结果。详细内容请阅读第五章4、实现了符合IEEE 754单精度标准的乘法、乘累加及除法运算器电路。乘法器采用改进型Booth编码电路以减少部分积数量,用Wallace对部分积进行压缩;乘累加器采用multiply-add fused算法,对关键路径进行了优化;除法器为基于改进型泰勒级数展开的查找表结构实现,查找表尺寸只有208字节,电路为固定时延,在电路尺寸、延时及复杂度方面进行了较好的平衡。
上传时间: 2013-04-24
上传用户:yxvideo