微波EDA网,见证研发工程师的成长!
首页 > 射频和无线通信 > 射频无线通信文库 > 一种基于SMS4的加密通信可编程片上系统设计

一种基于SMS4的加密通信可编程片上系统设计

时间:07-07 来源:互联网 点击:

摘要 针对面向工业用、商用以及民用电子设备加密串行通信需求,通过基于SMS4的加密通信SOPC软硬件架构、SMSd加密通信控制器IP技术、SMS4加密通信软件技术等内容的研究,实现了基于SMS4加密算法的串行通信技术,并在非128位明文的加密传输数据控制和基于8位异步模式的128位数据串行收发上效率明显提升。基于SMS4的加密通信SOPC提高了系统的加密通信功能可定制能力,且使加密通信核心算法自主可控。

关键词 串行通信;SMS4;加密通信;片上系统

串行通信是商用、民用及工业控制用电子系统广泛使用的一种通信方式,多种电子系统通过串行通信接口传输敏感数据,如无线电通信设备、IC卡刷卡机等,为保证数据传输安全,对串行通信数据加密是必要的技术手段。SOPC技术是百万门级大规模FPGA出现后新兴的电子系统设计技术,实现的电子系统具备集成度高、功能可配置、性能可伸缩和资源可重构的特点。因此,采用SOPC技术设计加密通信系统具备良好的应用推广价值。

分组密码算法是大量数据加密存储与传输的主要密码算法,SMS4算法是我国官方公布的第一个商用分组对称密码算法,为发展自主可控的信息安全技术,应该将SMS4算法作为串行通信核心密码算法的重要选择。由于SMS4算法提出较晚,目前尚未有采用SMS4算法进行加密通信SOPC设计的成果出现。为使信息安全技术自主可控,优化加密通信系统设计,提高系统的加密通信功能可定制能力,因此有必要开展基于SMS4的加密通信SOPC研究与设计。

分组密码算法具有速度快、易于标准化和便于软硬件实现等特点,通常是信息网络安全中实现数据加解密的核心体制,其在计算机通信和信息系统安全领域有着广泛的应用,如国外发布的DES算法、AES算法、NESSIE算法等。2006年1月,我国国家商用密码管理办公室公布了SMS4分组密码算法标准,用于保护无线局域网产品的数据安全,并被WAPI标准采纳作为其中的分组密码算法。2007年12月,在国家密码管理局公布的《可信计算密码支撑平台功能与接口规范》中,SMS4算法被规定为可信密码模块(TCM)中要求实现的对称密码算法。

SMS4是一个分组对称密码算法,分组长度和密钥长度为128 bit。加密算法与密钥扩展算法均采用32轮非线性迭代结构。其中非线性变换所使用的S盒是一个具有很好密码学特性的、由8 bit输入产生8 bit输出的置换。但不存在永远安全的密码算法。SMS4设计灵活,其中所采用的S盒可灵活地被替换,以应对突发性的安全威胁。

1 基于SMS4的加密通信原理

SMS4密码算法是一种128位数据输入输出的加解密算法,输入数据需经过32轮的函数运算才能得到输出结果,存在较大的首个数据输出潜伏延迟,而一旦进入连续输出,通过硬件流水线设计可达到较高的吞吐率。串行通信控制器是一种典型的中低速通信设备,由于受到串/并转换、波特率除数分频、16分频收发等设计的影响,串行通信速率不可能有较大提升。因此,SMS4算法和串行通信之间存在明显的吞吐量不匹配问题。

通过研究SMS4密码算法32轮迭代运算、轮密钥运算的运算特点,并分析全流水、全循环、循环与流水结合、单引擎、多引擎等硬件运算结构,提出合适的运算结构作为算法的基础实现结构,以轮函数内部分级流水、节拍同步作为进一步优化的手段,突破面向串行通信的SMS4算法硬件实现优化技术,使该算法逻辑占用较少的FPGA内部资源,并使其算法的运算速度能尽量接近串行通信速率,最终达到资源占用与运

算性能的平衡。该算法硬件实现的功能组成如图1所示。

串行通信过程中,最小的数据收发单元为8位数据,即1 Byte。对128位SMS4加密运算而言,输入的明文数据可能不是128位数据,而是1~7 Byte,无法直接完成明文的SMS4加密运算。在128位密文发送过程中,若对应明文不是128位的,还需嵌入字节计数值来标识有效数据长度,而字节计数值和有效数据难以区分。在密文接收与SMS4解密过程中,也存在得到字节计数值与有效明文提取的问题。如图2所示。数据包具备16 Byte的数据段和1 Byte的有效字节计数值,通过有效字节计数值识别数据段中的有效数据,而其他数据则为填充数据。

通过分析处理器访问8位通信控制器的特点,采取有效硬件逻辑设计延长8位明文连续写入等待时间,尽可能具备128位明文输入。通过字节自动填充将非128位明文输入补满到128位,实现明文的128位SMS4加密运算。将有效数据/字节计数值混合编码,实现非128位明文对应密文的发送、接收、解密与填充字节去除。通过以上技术手段,突破非128位明文的加密传输数据控制技术,使处理器始终按8位明文数据访

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top