内容提示:基于fpga的祖冲之序列密碼算法实现
文档格式:PDF| 浏览次数:10| 上传日期: 19:55:20| 文档星级:?????
全文阅读已结束如果下载本文需要使用
摘要:本文档对序列密码算法ZUC128和ZUC256茬32位平台下进行软件实现和评估包括加密性能和计算MAC的性能,文档最后一章给出ZUC128和ZUC256的性能对比评估结果
关键词:ZUC128,ZUC256序列密码,软件實现
本章列举ZUC128、ZUC256与几个常见的序列密码算法的性能对比情况。
v2、Trivium、Grain为eSTREAM中偏硬件实现的序列密码算法;分组密码算法AES仅选用128比特分组和128比特密钥的情况;SM4是分组密码算法为128比特分组和128比特密钥,Enocoro-128为日本的标准序列密码算法
一级缓存每个核心32KB 二级缓存每个核心256KB |
性能测试项來自于estreambench以及《ZUC256算法软硬件性能比较大纲》,各测试项的含义如下:
实验采用欧洲estream算法竞赛的速度测试模型,详情如下
第1步,在被测试代码段的前后各设置一个时间计数器TS和TF;
第2步将兩个计时器之差T=TS—TF作为这段代码的耗时;
第3步,重复步骤1和步骤2多次为统计方便设定重复次数为奇数,记重复测试次数为C得到一系列嘚耗时值T[i],i=1,2,...,C;
第4步将统计得到的耗时值序列按从大到小的顺序排列,得到的新序列仍记为T[i]i=1,2,...,C;当然也可按从小到大的顺序排列;
第5步,取新序列的中值T[(C+1)/2]作为本段代码的统计耗时值
为了保证测试结果的准确性,本测试模型中第1步的时间计数器使用CPU频率计时器可直接调用彙编指令RDTSC,在Windows环境下可调用__rdtsc()函数该指令或函数返回CPU时钟周期值,按现代CPU的时钟频率计算此计数器可精确到纳秒级。两次RDTSC指令返回的时鍾周期之差再除以CPU频率即可得到以秒为单位的耗时值。
本测试中取重复测试次数C为21
资源者占用情况如下表。
zuc算法的应用以及其它对比算法在32位平台下的软件实现性能指标见表3和表4其中表3列出Init和Stream的性能指标;表4列出处理各种数据长度的性能。
表3 32位平台上各加密算法的软件实现性能
4 加密算法处理各种数据长度的性能比较
注:ZUC256限制同一密钥和IV输出的最大子密钥长度为20000比特即2500字节,因此9000B的测试为越界使用
從表3和表4可以看出,ZUC128和ZUC256的加密速度没有显著差异
从理论上讲,ZUC128和ZUC256在加密时仅初始化时的仅寄存器设置方式不同,在初始化和工作时每┅拍的执行流程完全相同因此它们的速度不应该有显著差异。
测试时每包数据均更换了随机的密钥和IV值。
从表5可以看出ZUC256的MAC性能比ZUC128的MAC性能略低。详见表6和图1
ZUC256的MAC性能略低的原因如下。
内容提示:基于fpga的祖冲之序列密碼算法实现
文档格式:PDF| 浏览次数:10| 上传日期: 19:55:20| 文档星级:?????
全文阅读已结束如果下载本文需要使用
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。