exp1-Password engine-加密API實現與測試
加密API實現與測試 181210
1、準備工作
下載并查找GMT 0018-2012密碼設備應用接口規范原始文檔進行學習。
2、實現GMT 0018-2012接口函數
實現GMT 0018-2012密碼設備應用接口規范的接口函數。至少實現設備管理中實現:
1)打開設備、關閉設備、獲取設備信息、產生隨機數
代碼鏈接:https://gitee.com/amyonelse/research-on-exp1-api.git
實現結果:

具體sdf頭文件:

2)密鑰管理導出 ECC簽名公鑰
SDF_ExportSignPublicKey_ECC
I.導出 ECC加密公鑰∶SDF_ExportEncPublicKey_ECC
J. 產生 ECC非對稱密鑰對并輸出∶SDF_GenerateKeyPair_ECC?K.
3)非對稱算法(至少支持SM2)
外部密鑰 ECC驗證∶SDF_ExternalVerify_ECC
內部密鑰 ECC簽名;SDF_InternalSign_ECC
內部密鑰 ECC驗證∶SDF_InternalVerify_ECC
外部密鑰 ECC加密∶SDF_ExternalEncrypt_ECC?
4)對稱算法(至少支持SM4)
SDF_Encrypt
對稱解密∶SDF_Dccrypt
計算 MAC∶SDF_CalculateMAC
5)雜湊算法(至少支持SM3)
雜湊運算初始化∶SDF_HashInit
多包雜湊運算∶SDF_HashUpdate
雜湊運算結束∶SDF_HashFinal
密鑰管理要求
基于本標準設計、開發的密碼設備在密鑰管理方面,應滿足以下要求;
1)設備密鑰的使用不對應用系統開放;
2) 密鑰必須用安全的方法產生并存儲; 3) 在任何時間、任何情況下,除公鑰外的密鑰均不能以明文形式出現在密碼設備外;
4) 密碼設備內部存儲的密鑰應具備有效的密鑰保護機制,防止解剖、探測和非法讀取;
5) 密碼設備內部存儲的密鑰應具備權限控制機制,防止非法使用和導出。
設備狀態要求
基于本標準設計、開發的密碼設備在設備狀態方面,應滿足以下要求;
1) 密碼設備應具有初始和就緒兩個狀態;
2) 未安裝設備密鑰的密碼設備應處干初始狀態,已安裝設備密鑰的密碼設備應處于就緒狀態;
3) 在初始狀態下,除可讀取設備信息、設備密鑰的生成或恢復操作外,不能執行任何操作,生成或恢復設備密鑰后,密碼設備處于就緒狀態;
4) 在就緒狀態下,除設備密鑰的生成或恢復操作外,應能執行任何操作;
5) 在就緒狀態下進行的密鑰操作,設備操作員應經過密碼設備的認證。

浙公網安備 33010602011771號