引用本文
  • 季福磊,张文涛,毛颖颖,赵雪锋.分组密码算法在x64平台上的软件实现速度测试方法研究[J].信息安全学报,2024,9(3):59-79    [点击复制]
  • JI Fulei,ZHANG Wentao,MAO Yingying,ZHAO Xuefeng.A Study of Speed Test Method for Implementations of Block Cipher Algorithms on the x64 Platform[J].Journal of Cyber Security,2024,9(3):59-79   [点击复制]
【打印本页】 【下载PDF全文】 查看/发表评论下载PDF阅读器关闭

←前一篇|后一篇→

过刊浏览    高级检索

本文已被:浏览 5037次   下载 3679 本文二维码信息
码上扫一扫!
分组密码算法在x64平台上的软件实现速度测试方法研究
季福磊1,2, 张文涛1,2, 毛颖颖3, 赵雪锋1,2
0
(1.中国科学院信息工程研究所 信息安全国家重点实验室 北京 中国 100093;2.中国科学院大学 网络空间安全学院 北京 中国 100049;3.国家密码管理局商用密码检测中心 北京 中国 100036)
摘要:
密码算法的软件实现速度是衡量其实现性能的重要指标之一。在密码算法的设计和评估工作中, 测试密码算法的软件实现速度是一项必不可少的工作。在国内外已有的工作中, 关于如何在 x64 平台上进行密码算法的软件实现速度测试没有形成统一的测试标准。本文以分组密码算法的速度测试为例, 研究如何在 x64 平台上测试密码算法的软件实现速度。首先, 我们通过实验分析在 x64 平台上对密码算法进行软件实现速度测试的过程中容易出现的问题。第二步,我们对目前已有的四种速度测试方法: Matsui 速度测试方法, Fog 速度测试方法, SUPERCOP 速度测试方法和 Gladman 速度测试方法进行研究, 对四种速度测试方法的异同进行比较, 分析四种方法中存在的问题。第三步, 我们采用理论分析与实验探究相结合的研究方法, 研究如何降低速度测试过程中产生的波动性数据对实验结果的影响。我们对速度测试公式选择、样本量选择等问题进行了细致的研究。最终我们给出在 x64 平台上测试分组密码算法软件实现速度的最小值和平均值的有效方法。应用该方法得到的测试结果是稳定的(测试得到的速度随机性小, 结果既不会偏大也不会偏小)、可靠(测试过程取样充分, 测试得到的速度是可信的)、高效的(在保证测试结果可靠和稳定的前提下, 取样量较小, 测试过程耗时较少)。利用本文给出的速度测试方法, 我们对 AES 算法和 SM4 算法在x64 平台上的软件实现速度进行了实际测试。
关键词:  密码算法  x64平台  软件实现  速度测试方法
DOI:10.19363/J.cnki.cn10-1380/tn.2022.12.05
投稿时间:2020-06-09修订日期:2020-09-09
基金项目:本课题得到国家自然科学基金(No. 61379138)资助。
A Study of Speed Test Method for Implementations of Block Cipher Algorithms on the x64 Platform
JI Fulei1,2, ZHANG Wentao1,2, MAO Yingying3, ZHAO Xuefeng1,2
(1.State Key Laboratory of Information Security, Institute of Information Engineering, Chinese Academy of Sciences, Beijing 100093, China;2.School of Cyber Security, University of Chinese Academy of Sciences, Beijing 100049, China;3.State Cryptography Administration Bureau Commercial Cryptography Testing Center, Beijing 100036, China)
Abstract:
The software implementation speed is one of the important criteria of measuring a cryptographic algorithm’s performance. In the design and evaluation of a cryptographic algorithm, it is necessary to test the software implementation speed of a cryptographic algorithm. We investigate the research situation at home and abroad, finding that there is no unified test standard on how to test the software implementation speed of cryptographic algorithms on the x64 platform. Taking the speed test of block cipher algorithms as an example, we study how to effectively test the software implementation speed of cryptographic algorithms on the x64 platform. Firstly, we do experiments to analyze the problems that are easy to occur in the process of software speed test on the x64 platform. Secondly, we introduce the existing four speed test methods: Matsui’s method, Fog’s method, SUPERCOP method and Gladman’s method. We compare the similarities and differences of the four speed test methods, and analyze the problems of the four methods. Thirdly, we explore how to reduce the impact of the volatile data on the test results by theoretical analysis and experimental researches. We carefully study and determine the speed test formula and sample size. Finally, we obtain effective methods for testing the minimal and average software implementation speed of block cipher algorithms on the x64 platform. The results obtained by our speed test methods are stable (the randomness of the speed test result is small, and the result is neither too large nor too small), reliable (the speed test process is sufficiently sampled, and the result is worth believing), and efficient (on the premise of ensuring the reliability and stability of the test results, the sample quantity is small and the speed test process takes less time). Applying our new speed test methods, we evaluate the performance of AES and SM4 on the x64 platform.
Key words:  cryptographic algorithms  x64 platform  software implementation  speed test method