1. 程式人生 > >Intel IPP密碼庫 IPPCP 2018——第三部分 演算法效率測試(含國密演算法)

Intel IPP密碼庫 IPPCP 2018——第三部分 演算法效率測試(含國密演算法)

Part III. 實測效率

本章對Intel IPPCP 2018支援的分組密碼演算法AES、TDES、SM4和雜湊演算法SHA1、SHA224、SHA256、SHA384、SHA512、SHA512-224、SHA512-256、SM3、MD5的效率進行測試。

SM2效率待後續更新。

1. 測試平臺

表3.1 測試平臺資訊

測試平臺1

CPU

Intel i7 [email protected],支援AES NI指令

OS

Win7 SP1 64b

記憶體

8G

備註

測試機,安裝Intel IPPCP 2018

測試平臺2

CPU

Intel i3 [email protected],不支援AES NI指令

OS

WinXP SP3 32b

記憶體

4G

備註

工作機,未安裝IPPCP,利用複製的IPPCP靜態庫編譯

測試平臺

3

CPU

Intel i5 [email protected],不支援AES NI指令

OS

Win7 SP1 64b

記憶體

8G

備註

筆記本,安裝Intel IPPCP 2018

2. 測試方法

分組密碼演算法的測試:在兩個平臺下均測試分組密碼演算法的CBC加密的效率。因為測試ECB一次性送入大量資料(如1MB)做加密時的效率和反覆送16位元組的加密效率有天壤之別,懷疑內部用多執行緒並行的方式做了優化。

雜湊演算法的測試:直接一次性送入大量資料,如1MB進行測試。

為了精確統計,時間採用RDTSC指令讀取CPU的時鐘週期。

3. 測試結果

表3.2 分組密碼演算法的金鑰擴充套件效能

(單位cps = cycle/setup,數值越小表示金鑰擴充套件速度越快)

金鑰擴充套件效能

平臺1的效率

平臺2的效率

平臺3的效率

AES

205.4

1178.3

724.4

SM4

752.9

4346.9

2511.5

TDES

5391.1

8091.8

4814.9

 

表3.3 分組密碼演算法的CBC加密效能

(單位mbps = 1000000bit/s,數值越大表示金鑰擴充套件速度越快)

CBC加密效能

平臺1的效率

平臺2的效率

平臺3的效率

AES

7110.9

1468.1

1287.5

SM4

508.0

98.9

119.3

TDES

201.9

171.8

156.7

 

表3.4 雜湊演算法的效能

(單位mbps = 1000000bit/s,數值越大表示金鑰擴充套件速度越快)

雜湊演算法效能

平臺1的效率

平臺2的效率

平臺3的效率

SHA1

5239.3

4141.9

3994.7

SHA224

2359.9

1949.6

1708.3

SHA256

2359.9

1945.6

1727.2

SHA384

2381.3

1896.8

1767.9

SHA512

2381.4

1898.6

1728.6

SHA512-224

2364.5

1853.8

1756.3

SHA512-256

2362.6

1852.883

1768.7

SM3

1687.2

1342.9

1240.9

md5

6043.4

4998.9

4221.9

平均

 

SHA224的本質是SHA256,所以二者速度一樣。

SHA384的本質是SHA512,所以二者速度一樣。

SHA512-224、SHA512-256的核心是SHA512,所以三者的速度一樣。

 

表3.5 SM2演算法的效能

(單位mbps = 次/秒,數值越大表示金鑰擴充套件速度越快)

 

平臺1的效率

平臺2的效率

平臺3的效率

我們的實現

SM2簽名

3314.1

2681.1

2819.9

185.3

SM2驗籤

2701.8

2170.0

2311.6

149.1

注1:我們的實現是指我們標準C實現的SM2在平臺2下測試的效率。

注2:Intel IPPCP無SM2加解密介面,只有簽名驗籤介面。

 

4. 效率對比

效率和效能差異對比如下。

  1. 平臺效能:平臺1主頻比平臺2高5.9%。
  2. 分組演算法效率:
    • AES有近5倍的差異,可能是AES-NI指令所致;
    • SM4有5倍的差異則很奇怪,暫時無法解釋;
    • TDES的效能提升,與雜湊演算法的效能提升接近。
  3. 雜湊演算法效率:平臺1比平臺2提升20%—28%,平均為24.6%;平臺2比平臺3提升5%-15%,平均為9.4%。
  4. SM2效率:平臺1比平臺2提升24%左右;平臺2比平臺3反而降低6%左右。SM2比我們自己標準C實現的效能有了顯著的提升。
  5.  

5. 結論

從目前的分析的Intel IPP Cryptography效率測試結果看:

  1. SM4效率不如查大表效率高,在一些平臺上的效率還不如查小表運算。
  2. SM3效率比目前的實現高17%。
  3. SM2效率待後續更新。
  4. AES在支援AES-NI的CPU上執行效率很高,但目前有使用AES-NI指令的開原始碼,短小精煉。

國密演算法在Intel IPP Cryptography上沒有顯著的綜合性能提升,而且使用複雜,程式碼不開源,因此暫不推薦使用。