本文从AES的算法原理和基于ARM核嵌入式系统的开发着手,研究了AES算法的设计原则、数学知识、整体结构、算法描述以及AES存住的优点利局限性。 针对ARM核的体系结构及特点,对AES算法进行了优化设计,提出了从AES算法本身和其结构两个方面进行优化的方法,在算法本身优化方面是把加密模块中的字节替换运算、列混合运算和解密模块中的逆列混合运算中原来的复杂的运算分别转换为简单的循环移位、乘和异或运算。在算法结构优化方面是在输入输山接口上采用了4个32位的寄存器对128bits数据进行了并行输入并行输出的优化设计;在密钥扩展上的优化设计是采用内部扩展,即在进行每一轮的运算过程的同时算出下一轮的密钥,并把下一轮的密钥暂存在SRAM里,使得密钥扩展与加/解密运算并行执行;加密和解密优化设计是将轮函数查表操作中的四个操作表查询工作合并成一个操作表查询工作,同时为了使加密代码在解密代码中可重用,节省硬件资源,在解密过程中采用了与加密相一致的过程顺序。 根据上述的优化设计,基于ARM核嵌入式系统的ADS开发环境,提出了AES实现的软硬件方案、AES加密模块和解密模块的实现方案以及测试方案,总结了基于ARM下的高效编程技巧及混合接口规则,在集成开发环境下对算法进行了实现,分别得出了初始密钥为128bits、192bits和256bits下的加密与解密的结果,并得剑了正确验证。在性能测试的过程中应用编译器的优化选项和其它优化技巧优化了算法,使算法具有较高的加密速度。
上传时间: 2013-04-24
上传用户:liansi
随着计算机运算速度的提高和计算机网络的发展,基于离散对数问题和大整数因子分解问题的数字签名算法越来越不能满足信息安全的需要。为了满足信息安全的要求,安全性依赖于椭圆曲线离散对数困难问题(ECDLP)的椭圆曲线密码体制是当前密码学界研究的热点之一。现有的求解ECDLP的算法都是全指数时间复杂度的算法。由于专用集成电路具有速度快、性能好、安全性高等优势,使得采用专用集成电路来实现椭圆曲线密码体制己成为主要趋势。因此,本课题着眼于应用,针对基于椭圆曲线数字签名算法的FPGA实现进行了较为深入的探讨与研究。 本课题从实际应用的需要出发,以初等数论、有限域理论、数字签名技术和椭圆曲线理论为依据,确定了如下基于椭圆曲线数字签名算法的硬件实现方案:首先,对实现基于椭圆曲线数字签名算法所需的算法和技术进行了剖析和系统设计。然后,按照层次化、模块化的设计思想,在Xinlinx公司的ISE 7.1工具中,采用硬件描述语言VHDL作为设计输入,对各运算器和控制模块进行电路设计;采用Menter公司的ModelSim SE 6.2b工具对之进行功能仿真,以保证底层设计的正确性。最后,在确保每个模块的设计正确的前提下,完成电路的总体设计,再进行总体设计的仿真与测试。 本课题对Schnorr数字签名算法的改进,实现了比未改进前的Schnorr数字签名算法平均节省三分之一的运行时间。对基于椭圆曲线数字签名算法的设计也获得了良好的指标:产生签名只需要1ms多的时间,验证签名也需要不到3ms。本课题的研究对实现电子交易安全方面有重要的作用,尤其是在密钥分配、电子货币、电子证券、电子商务和电子政务等领域都有重要的应用价值,其成果具有广泛的应用前景。
上传时间: 2013-04-24
上传用户:独孤求源
随着计算机和信息技术的飞速发展,信息的安全性越来越受到人们的重视。敏感信息的电子化在使用户得到便利的同时,数据、资源免泄漏也成为了人们必须注意的一个大隐患。在这个信息全球化的时代,病毒、黑客、电子窃听欺骗、网络攻击都是人们所必须面对的重大问题。出于这种需要,加密自然吸引了人们的注意力,而传统的软件加密技术已经越来越不能满足信息安全对运算速度和系统安全性的需求,硬件设施的开发显示出其重要性,硬件加密模块的地位也越来越重要。但其安全性仍存在着一定的问题,对安全性研究仍是不可放松的一个重要问题。 本文介绍了目前几种流行加密算法及标准,并对典型的公钥密码标准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
有时候,做元件封装的时候,做得不是按中心设置为原点(不提倡这种做法),所以制成之后导出来的坐标图和直接提供给贴片厂的要求相差比较大。比如,以元件的某一个pin 脚作为元件的原点,明显就有问题,直接修改封装的话,PCB又的重新调整。所以想到一个方法:把每个元件所有的管脚的X坐标和Y坐标分别求平均值,就为元件的中心。
上传时间: 2013-11-01
上传用户:ccccccc
特点(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
/*--------- 8051内核特殊功能寄存器 -------------*/ sfr ACC = 0xE0; //累加器 sfr B = 0xF0; //B 寄存器 sfr PSW = 0xD0; //程序状态字寄存器 sbit CY = PSW^7; //进位标志位 sbit AC = PSW^6; //辅助进位标志位 sbit F0 = PSW^5; //用户标志位0 sbit RS1 = PSW^4; //工作寄存器组选择控制位 sbit RS0 = PSW^3; //工作寄存器组选择控制位 sbit OV = PSW^2; //溢出标志位 sbit F1 = PSW^1; //用户标志位1 sbit P = PSW^0; //奇偶标志位 sfr SP = 0x81; //堆栈指针寄存器 sfr DPL = 0x82; //数据指针0低字节 sfr DPH = 0x83; //数据指针0高字节 /*------------ 系统管理特殊功能寄存器 -------------*/ sfr PCON = 0x87; //电源控制寄存器 sfr AUXR = 0x8E; //辅助寄存器 sfr AUXR1 = 0xA2; //辅助寄存器1 sfr WAKE_CLKO = 0x8F; //时钟输出和唤醒控制寄存器 sfr CLK_DIV = 0x97; //时钟分频控制寄存器 sfr BUS_SPEED = 0xA1; //总线速度控制寄存器 /*----------- 中断控制特殊功能寄存器 --------------*/ sfr IE = 0xA8; //中断允许寄存器 sbit EA = IE^7; //总中断允许位 sbit ELVD = IE^6; //低电压检测中断控制位 8051
上传时间: 2013-10-30
上传用户:yxgi5
SQL是英文Structured Query Language的缩写,意思为结构化查询语言。SQL Server 2008在企业中也是非常重要的应用,各种财务系统,erp系统,oa系统等都会用到SQL Server 2008数据库,甚至网站也可以用到数据库来作为网站的后台,SQL语句可以用来执行各种各样的操作,例如更新数据库中的数据,从数据库中提取数据等。目前,绝大多数流行的关系型数据库管理系统,如Oracle, Sybase, Microsoft SQL Server, Access等都采用了SQL语言标准。 SQL Server 2008是一个重大的产品版本,它推出了许多新的特性和关键的改进,使得它成为至今为止的最强大和最全面的SQL Server版本。 SQL Server 2008新功能 这个平台有以下特点 1、可信任的——使得公司可以以很高的安全性、可靠性和可扩展性来运行他们最关键任务的应用程序。 2、高效的——使得公司可以降低开发和管理他们的数据基础设施的时间和成本。 3、智能的——提供了一个全面的平台,可以在你的用户需要的时候给他发送观察和信息。 一、可信任的 在过去的Microsoft SQL Server 2005的基础之上,Microsoft SQL Server 2008做了以下方面的增强来扩展它的安全性: 1、简单的数据加密 Microsoft SQL Server 2008可以对整个数据库、数据文件和日志文件进行加密,而不需要改动应用程序。进行加密使公司可以满足遵守规范和及其关注 microsoft sql server 数据隐私的要求。简单的数据加密的好处包括使用任何范围或模糊查询搜索加密的数据、加强数据安全性以防止未授权的用户访问、还有数据加密。这些可以在不改变已有的应用程序的情况下进行。 2、外键管理 Microsoft SQL Server 2008为加密和密钥管理提供了一个全面的解决方案。为了满足不断发展的对数据中心的信息的更强安全性的需求,公司投资给供应商来管理公司内的安全密钥。Microsoft SQL Server 2008通过支持第三方密钥管理和硬件安全模块(HSM)产品为这个需求提供了很好的支持。 3、增强了审查 Microsoft SQL Server 2008使你可以审查你的数据的操作,从而提高了遵从性和安全性。审查不只包括对数据修改的所有信息,还包括关于什么时候对数据进行读取的信息。Microsoft SQL Server 2008具有像服务器中加强的审查的配置和管理这样的功能,这使得公司可以满足各种规范需求。Microsoft SQL Server 2008还可以定义每一个数据库的审查规范,所以审查配置可以为每一个数据库作单独的制定。为指定对象作审查配置使审查的执行性能更好,配置的灵活性也更高。 二、确保业务可持续性 1、改进了数据库镜像 Microsoft SQL Server 2008基于Microsoft SQL Server 2005,并提供了更可靠的加强了数据库镜像的平台。新的特性包括: 2、页面自动修复。Microsoft SQL Server 2008通过请求获得一个从镜像合作机器上得到的出错页面的重新拷贝,使主要的和镜像的计算机可以透明的修复数据页面上的823和824错误。 3、提高了性能。Microsoft SQL Server 2008压缩了输出的日志流,以便使数据库镜像所要求的网络带宽达到最小。 安装序列号: 开发版(Developer): PTTFM-X467G-P7RH2-3Q6CG-4DMYB 企业版(Enterprise): JD8Y6-HQG69-P9H84-XDTPG-34MBB
上传时间: 2013-10-23
上传用户:ming529
TLC2543是TI公司的12位串行模数转换器,使用开关电容逐次逼近技术完成A/D转换过程。由于是串行输入结构,能够节省51系列单片机I/O资源;且价格适中,分辨率较高,因此在仪器仪表中有较为广泛的应用。 TLC2543的特点 (1)12位分辩率A/D转换器; (2)在工作温度范围内10μs转换时间; (3)11个模拟输入通道; (4)3路内置自测试方式; (5)采样率为66kbps; (6)线性误差±1LSBmax; (7)有转换结束输出EOC; (8)具有单、双极性输出; (9)可编程的MSB或LSB前导; (10)可编程输出数据长度。 TLC2543的引脚排列及说明 TLC2543有两种封装形式:DB、DW或N封装以及FN封装,这两种封装的引脚排列如图1,引脚说明见表1 TLC2543电路图和程序欣赏 #include<reg52.h> #include<intrins.h> #define uchar unsigned char #define uint unsigned int sbit clock=P1^0; sbit d_in=P1^1; sbit d_out=P1^2; sbit _cs=P1^3; uchar a1,b1,c1,d1; float sum,sum1; double sum_final1; double sum_final; uchar duan[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; uchar wei[]={0xf7,0xfb,0xfd,0xfe}; void delay(unsigned char b) //50us { unsigned char a; for(;b>0;b--) for(a=22;a>0;a--); } void display(uchar a,uchar b,uchar c,uchar d) { P0=duan[a]|0x80; P2=wei[0]; delay(5); P2=0xff; P0=duan[b]; P2=wei[1]; delay(5); P2=0xff; P0=duan[c]; P2=wei[2]; delay(5); P2=0xff; P0=duan[d]; P2=wei[3]; delay(5); P2=0xff; } uint read(uchar port) { uchar i,al=0,ah=0; unsigned long ad; clock=0; _cs=0; port<<=4; for(i=0;i<4;i++) { d_in=port&0x80; clock=1; clock=0; port<<=1; } d_in=0; for(i=0;i<8;i++) { clock=1; clock=0; } _cs=1; delay(5); _cs=0; for(i=0;i<4;i++) { clock=1; ah<<=1; if(d_out)ah|=0x01; clock=0; } for(i=0;i<8;i++) { clock=1; al<<=1; if(d_out) al|=0x01; clock=0; } _cs=1; ad=(uint)ah; ad<<=8; ad|=al; return(ad); } void main() { uchar j; sum=0;sum1=0; sum_final=0; sum_final1=0; while(1) { for(j=0;j<128;j++) { sum1+=read(1); display(a1,b1,c1,d1); } sum=sum1/128; sum1=0; sum_final1=(sum/4095)*5; sum_final=sum_final1*1000; a1=(int)sum_final/1000; b1=(int)sum_final%1000/100; c1=(int)sum_final%1000%100/10; d1=(int)sum_final%10; display(a1,b1,c1,d1); } }
上传时间: 2013-11-19
上传用户:shen1230