本文从AES的算法原理和基于ARM核嵌入式系统的开发着手,研究了AES算法的设计原则、数学知识、整体结构、算法描述以及AES存住的优点利局限性。 针对ARM核的体系结构及特点,对AES算法进行了优化设计,提出了从AES算法本身和其结构两个方面进行优化的方法,在算法本身优化方面是把加密模块中的字节替换运算、列混合运算和解密模块中的逆列混合运算中原来的复杂的运算分别转换为简单的循环移位、乘和异或运算。在算法结构优化方面是在输入输山接口上采用了4个32位的寄存器对128bits数据进行了并行输入并行输出的优化设计;在密钥扩展上的优化设计是采用内部扩展,即在进行每一轮的运算过程的同时算出下一轮的密钥,并把下一轮的密钥暂存在SRAM里,使得密钥扩展与加/解密运算并行执行;加密和解密优化设计是将轮函数查表操作中的四个操作表查询工作合并成一个操作表查询工作,同时为了使加密代码在解密代码中可重用,节省硬件资源,在解密过程中采用了与加密相一致的过程顺序。 根据上述的优化设计,基于ARM核嵌入式系统的ADS开发环境,提出了AES实现的软硬件方案、AES加密模块和解密模块的实现方案以及测试方案,总结了基于ARM下的高效编程技巧及混合接口规则,在集成开发环境下对算法进行了实现,分别得出了初始密钥为128bits、192bits和256bits下的加密与解密的结果,并得剑了正确验证。在性能测试的过程中应用编译器的优化选项和其它优化技巧优化了算法,使算法具有较高的加密速度。
上传时间: 2013-04-24
上传用户:liansi
图像增强技术是数字图像处理领域中的一项重要内容,随着数字图像处理应用领域的不断扩大,快速、实时图像处理技术成为研究的热点。超大规模集成电路技术的飞速发展为数字图像实时处理技术提供了硬件基础,尤其是FPGA(Field Programmable Gate Array,现场可编程门阵列)凭借其高速并行、可重配置的架构和基于查找表的独特结构等优点使得在数字信号处理领域的应用持续上升。国内外,越来越多的实时图像处理应用逐渐转向FPGA平台。 本文基于FPGA的图像增强技术研究主要是针对空间域方法,这种方法是指在空间域内直接对像素灰度值进行运算处理,算法简单并且存在并行性,非常适合于用硬件实现。FPGA可以灵活地实现并行、实时处理图像数据,正是利用这一特点,本文提出了一种基于FPGA的图像增强处理系统设计。该系统采用SOPC技术,完成图像增强处理。文中给出了系统设计思路,并分析了该系统的结构及功能实现,说明了系统实现过程。其硬件平台的核心部分是Altera公司Stratix系列的.FPGA EPlS40芯片,采用自顶向下的设计方法构造图像增强处理功能模块,利用硬件描述语言vHDL对图像增强模块进行电路描述,并进行设计优化、仿真,在生成系统配置文件后加载到FPGA上进行板级调试。完成了基于FPGA的图像增强算法模块的设计,重点设计实现了点运算增强处理模块、中值滤波器模块,并对中值滤波器进行了改进设计实现,采用FPGA完成了对图像增强算法的硬件加速。
上传时间: 2013-06-16
上传用户:songrui
随着我国信息化发展进程加快,信息化覆盖面扩大,信息安全问题也就随之增多,其影响和后果也更加广泛和严重。同时,信息安全及其对经济发展、国家安全和社会稳定的重大影响,正日益突出地显现出来,受到越来越多的关注。在和平年代,通过对信息载体进行大规模的物理破坏,从而达到危害信息安全的目的,在一定程度上是行不通的。然而,在信息安全的角力上,破坏者从来都没有放弃过,他们把目标对准了信息载体中的数据,由于数据的易失性,计算机数据成为信息安全中的最大隐患,同时也是破坏信息安全的一个突破口。 本文提出研制硬盘加密卡的主要目的是为了防止对计算机数据的窃取,保护硬盘中的数据。破坏者在得到硬盘后,也不能够得到硬盘中的数据,从而达到保护信息安全的目的。加密卡提供两个符合ATA-6标准的接口,串接在主板IDE接口和硬盘之间。存储在硬盘上的数据,是经过加密以后的加密数据;从硬盘上读出的数据,必须经过该卡的解密才可被正常使用,否则只是一堆乱码。加密卡采用FPGA技术实现IDE接口和加密算法,以减小加解密带来的速度上的影响。 论文的工作重点主要有以下几个方面的内容:FPGA及VHDL语言的研究,ATA协议标准研究及IDE接口的FPGA实现。论文对ATA协议做了细致的研究,分析了硬盘接口的工作机制以及主机与硬盘之间的通信协议,并在此基础上,重点研究了用FPGA的编程功能来实现一个计算机硬件底层接口协议的方法,详细介绍了芯片的内部框图及FPGA的软件流程图,提出了在实现过程中应注意的要点,最终用FPGA构建了一个双向IDE硬盘通道,实现了两套符合ATA-6规范的IDE接口。
上传时间: 2013-08-02
上传用户:Ants
随着计算机和信息技术的飞速发展,信息的安全性越来越受到人们的重视。敏感信息的电子化在使用户得到便利的同时,数据、资源免泄漏也成为了人们必须注意的一个大隐患。在这个信息全球化的时代,病毒、黑客、电子窃听欺骗、网络攻击都是人们所必须面对的重大问题。出于这种需要,加密自然吸引了人们的注意力,而传统的软件加密技术已经越来越不能满足信息安全对运算速度和系统安全性的需求,硬件设施的开发显示出其重要性,硬件加密模块的地位也越来越重要。但其安全性仍存在着一定的问题,对安全性研究仍是不可放松的一个重要问题。 本文介绍了目前几种流行加密算法及标准,并对典型的公钥密码标准RSA进一步说明。RSA算法可以进行数字签名、数据加/解密,将其应用于数据安全领域具有很大的意义。针对于目前硬件加解密相对于软件加解密的种种优势,论文重点研究RSA算法的基于硬件FPGA的设计实现方案。FPGA是近几年的超大规模集成电路设计的焦点,其速度及成本等都占有一定的优势。对RSA算法的FPGA设计,论文主要研究两方面的内容:密钥生成部分中的素数检测问题和加/解密算法中关键瓶颈--大数模乘及模幂运算。并进行了软硬件的仿真、验证与测试。论文对RSA设计模块的可应用领域之一--智能卡及其安全性做了简单的介绍,并对论文所研究实现的模块在其中的应用进行了说明,从而体现了其实际应用价值。
上传时间: 2013-07-06
上传用户:juyuantwo
随着信息量的急剧增长,信息安全日益受到人们重视。移动硬盘的出现使得数据的转移和携带更加方便,但也不可避免的带来了数据安全隐患。只要窃走了移动硬盘,任何想窃取硬盘信息的人便可以轻松得逞,即使设置了类似访问口令这样的逻辑密钥,要想破解也不是件难事。 一个完整的数据加解密系统应该具备安全可靠的密码认证机制和数据加解密算法。本文基于MEMS强链、USB控制器和FPGA设计了一种USB接口的高效数据加解密系统,采用物理认证并用硬件实现AES加密算法。普通IDE硬盘挂接该系统后成为安全性极高的加密USB移动硬盘,其平均数据吞吐率接近普通U盘,达到10MB/s。
上传时间: 2013-06-16
上传用户:1159797854
特点: 精确度0.1%满刻度 可作各式數學演算式功能如:A+B/A-B/AxB/A/B/A&B(Hi or Lo)/|A|/ 16 BIT类比输出功能 输入与输出绝缘耐压2仟伏特/1分钟(input/output/power) 宽范围交直流兩用電源設計 尺寸小,穩定性高
上传时间: 2014-12-23
上传用户:ydd3625
特点(FEATURES) 精确度0.1%满刻度 (Accuracy 0.1%F.S.) 可作各式数学演算式功能如:A+B/A-B/AxB/A/B/A&B(Hi or Lo)/|A| (Math functioA+B/A-B/AxB/A/B/A&B(Hi&Lo)/|A|/etc.....) 16 BIT 类比输出功能(16 bit DAC isolating analog output function) 输入/输出1/输出2绝缘耐压2仟伏特/1分钟(Dielectric strength 2KVac/1min. (input/output1/output2/power)) 宽范围交直流两用电源设计(Wide input range for auxiliary power) 尺寸小,稳定性高(Dimension small and High stability)
上传时间: 2013-11-24
上传用户:541657925
a_bit equ 20h ;个位数存放处 b_bit equ 21h ;十位数存放处 temp equ 22h ;计数器寄存器 star: mov temp,#0 ;初始化计数器 stlop: acall display inc temp mov a,temp cjne a,#100,next ;=100重来 mov temp,#0 next: ljmp stlop ;显示子程序 display: mov a,temp ;将temp中的十六进制数转换成10进制 mov b,#10 ;10进制/10=10进制 div ab mov b_bit,a ;十位在a mov a_bit,b ;个位在b mov dptr,#numtab ;指定查表启始地址 mov r0,#4 dpl1: mov r1,#250 ;显示1000次 dplop: mov a,a_bit ;取个位数 MOVC A,@A+DPTR ;查个位数的7段代码 mov p0,a ;送出个位的7段代码
上传时间: 2013-11-06
上传用户:lx9076
第八章 labview的编程技巧 本章介绍局部变量、全局变量、属性节点和其他一些有助于提高编程技巧的问题,恰当地运用这些技巧可以提高程序的质量。 8.1 局部变量 严格的语法尽管可以保证程序语言的严密性,但有时它也会带来一些使用上的不便。在labview这样的数据流式的语言中,将变量严格地分为控制器(Control)和指示器(Indicator),前者只能向外流出数据,后者只能接受流入的数据,反过来不行。在一般的代码式语言中,情况不是这样的。例如我们有变量a、b和c,只要需要我们可以将a的值赋给b,将b的值赋给c等等。前面所介绍的labview内容中,只有移位积存器即可输入又可输出。另外,一个变量在程序中可能要在多处用到,在图形语言中势必带来过多连线,这也是一件烦人的事。还有其他需要,因此labview引入了局部变量。
上传时间: 2013-10-27
上传用户:xieguodong1234
前些天在网上看到了一些关于OPENSSL的介绍,觉得很有意思,于是做了一个程序,基本实现了数字证书的制作、SSL安全通讯、加解密操作等功能,秉承OPENSSL开放的原则,拿出来共享,主要实现写在了两个DLL中
标签: OPENSSL
上传时间: 2014-11-22
上传用户:aix008