摘要
The Chinese hash algorithm SM3 is verified to be secure enough,but improper hardware implementation may lead to leakage.A masking scheme for SM3 algorithm is proposed to ensure the security of SM3 based Message Authentication Code(MAC).Our scheme was implemented in hardware,which utilizes hardware oriented secure conversion techniques between boolean and arithmetic masking.Security evaluation based on SAKURA-G FPGA board has been done with 2000 power traces from 2000 random plaintexts with random plaintext masks and random key masks.It has been verified that the masked SM3 hardware implementation shows no intermediate value leakage as expected.Our masked SM3 hardware can resist first-order correlation power attack(CPA) and collision correlation attack.
The Chinese hash algorithm SM3 is verified to be secure enough, but improper hardware implementation may lead to leak- age. A masking scheme for SM3 algorithm is proposed to ensure the security of SM3 based Message Authentication Code (MAC). Our scheme was implemented in hardware, which utilizes hardware oriented secure conversion techniques between boolean and arithmetic masking. Security evaluation based on SAKU- RA-G FPGA board has been done with 2000 power traces from 2000 random plaintexts with random plaintext masks and random key masks. It has been verified that the masked SM3 hardware implementation shows no intermediate value leakage as expected. Our masked SM3 hardware can resist first-order correlation power attack (CPA) and collision correlation attack.
基金
supported by the National Major Program "Core of Electronic Devices,High-End General Chips,and Basis of Software Products" of the Ministry of Industry and Information Technology of China (Nos.2014ZX01032205,2014ZX01032401001-Z05)
the National Natural Science Foundation of China(No.61402252)
"12th Five-Year Plan" The National Development Foundation for Cryptological Research(No. MMJJ201401009)
关键词
MAC
掩蔽
硬件实现
安全评估
随机密钥
哈希算法
相关攻击
消息认证码
SM3 algorithm
masking scheme
hardware implementation
power analysis
boolean and arithmetic masking conversion