基于嵌入式实现SM1算法系统设计.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于嵌入式实现SM1算法系统设计

基于嵌入式实现SM1算法系统设计【摘要】随着网络信息的高速发展,信息安全越来越重要。保护信息安全的措施有很多,VPN技术、建立CA中心等等。在这些技术中,公开密钥基础设施(PKI)是基础,采用了很多算法,包括对称算法和非对称算法。其中SM1对称密码算法(简称SM1),优势越来越明显,在将来信息安全使用的越来越多。本系统在嵌入式系统上访问SM1算法的芯片,实现SM1算法,为系统安全应用提供保障。 【关键词】嵌入式系统;PKI;SM1 引言 随着网络技术,特别是互联网技术在我国的迅速推过和普及,各种网络应用,如电子商务,电子政务,网上银行,网上证券交易等也在我国迅猛发展。但是网络非法入侵、诈骗等严重影响了网络信息安全。只有不断发展和提高网络信息安全技术,才能保证网络健康发展。在信息安全技术领域,公开密钥基础设施(PKI),很好的为互联网提供了安全服务。如今网络应用中的认证,数据的加解密,完整性验证,不可否认性等,已经离不开PKI技术的支持。目前通用的软件算法例如DES,3DES,RC4等在安全上无法得到保证,有些算法已经被破解。而SM1算法基于PKI技术,是一种基于硬件芯片的对称算法,并且是国家密码管理局明文指定的一种算法。要求在网络大数据量传输的过程中,主要是通过对称算法SM1来实现数据的加解密工作,保证网络信息安全交互,而非对称算法来实现身份认证和唯一性。 1.系统总体设计 系统采用嵌入式系统,CPU采用三星公司S3C2440,操作系统采用嵌入式linux,64M SDRAM,128M NAND FLASH,SSX-E提供SM1算法。系统的总体设计如图1。 CPU:提供系统运行和计算以及和各个模块进行通信; RAM:提供操作系统运行空间; FLASH:提供boot启动程序,内核映像,文件系统; ETHERNET:提供网络通信接口; SM1:提供SM1算法接口; UART:提供串口调试功能。 2.系统硬件接口,本文重点介绍SM1算法接口 系统CPU通过32为数据总线接口访问SSX-E芯片,为系统应用提供SM1算法。 SSX-E芯片:分组密码算法芯片,实现SM1密码算法。该分组密码算法的分组长度为128比特,密钥长度为128比特。具有ECB、CBC和OFB等多种运算模式,在32位数据总线宽度、ECB模式下运算速率可达到300Mbps以上,可满足各种条件下的应用需求。 主要的接口为: HD[0:31]:32位数据总线; HA[0:2]:地址总线; /HCS:芯片片选信号; /HRD:芯片读信号; /HWR:芯片写信号。 根据SSX-E器件的要求,外部时钟使用50MHZ有源晶振作为芯片的主工作时钟,如图3所示。 3.系统软件设计 系统软件设计主要包括SM1算法的应用层API和内核层的驱动。应用层API实现系统应用调用SM1算法例如:ecb模式加密,ecb模式解密、cbc模式加密,cbc模式解密等。内核层的驱动:三星cpu通过32位数据总线,与SSX-E芯片交互数据。软件系统设计如图4所示。 3.1 bootloader设计 嵌入式系统中,bootloader是必须的。它是在操作系统内核运行之前的一小段程序,就像BIOS一样。这段程序可以初始化硬件设备,建立内存空间映射图,从而将软件的软硬件环境设置到一个合适的状态,以便为最终调用操作系统内核准备好正确的环境。 3.2 内核编译选项 根据需要配置内核选项,主要包含: (1)启动传递参数 (2)devfs文件系统支持 (3)芯片及系统类型配置 (4)DMA#8239;Engine support (5)MMC/SD/SDIO card support 3.3 SM1设备系统驱动设计 Linux的内核是有设备管理、进程管理、内存管理和文件系统组成,linux设备驱动可以分为字符类设备、块类设备、网络接口类设备和其他非标准驱动。SM1设备被看做是字符型设备。 每个SPI外设都由1个总线号、1个设备号和1个功能号来标示,共有3个访问空间,即内存空间、I/O端口、和配置寄存器。每个设备功能都有一个配置空间,用于决定SPI的工作方式和映射到系统中的地址。相关函数: static struct file_operations sm1_fops={ .read = sm1_ker_read,//读 .write = sm1_ker_write,//写 .ioct = sm1_ker_ioctl,//控制 .open = sm1_ker_open,//打开设备 .

文档评论(0)

docman126 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:7042123103000003

1亿VIP精品文档

相关文档