问题1:zuc算法的应用一个周期是多少 问题2:一个周期产生多少bit密钥流呢?谢谢

内容提示:基于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算法软硬件性能比较大纲》,各测试项的含义如下:

  1. Init:表示算法初始化所用时间即密钥和IV装载时间。单位是cycles/setup表示执行一佽初始化需要的时钟周期,简写为cps下同。
  2. Stream:表示加密大量数据时的速度单位为时钟周期每字节(cycle/byte),简写为cpb或者兆比特每秒(106bit/second)简寫为Mbps,下同此项测试只统计加密数据的时间,不考虑算法初始化的时间即速度值为加密数据的时间除以加密的字节数。
  3. xB:表示加密x字節时的速度这里的xB取16B、40B、576B、1500B、1MB等。此项测试统计算法初始化时间和加密数据的时间速度值为数据处理时间与算法初始化时间之和,再除以处理字节数

实验采用欧洲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性能略低的原因如下。

  1. ZUC128和ZUC256的加密速度没有显著差异详情参见2.3 ZUC的加密性能对比结论
}

内容提示:基于fpga的祖冲之序列密碼算法实现

文档格式:PDF| 浏览次数:10| 上传日期: 19:55:20| 文档星级:?????

全文阅读已结束如果下载本文需要使用

该用户还上传了这些文档

}

我要回帖

更多关于 zuc算法 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信