1. 程式人生 > 其它 >實驗一密碼引擎 加密API實現與測試

實驗一密碼引擎 加密API實現與測試

實驗一:

任務詳情

1 下載並查詢GMT 0018-2012密碼裝置應用介面規範原始文件進行學習

2 實現GMT 0018-2012密碼裝置應用介面規範的介面函式,至少實現:

1)裝置管理中的開啟裝置,關閉裝置,獲取裝置資訊,產生隨機數

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
(8分)

4)對稱演算法(至少支援SM4)∶SDF_Encrypt  對稱解密∶SDF_Dccrypt 計算 MAC∶SDF_CalculateMAC(6分)

 

 

 

 

5)雜湊演算法(至少支援SM3):· 雜湊運算初始化∶SDF_HashInit· 多包雜湊運算∶SDF_HashUpdate· 雜湊運算結束∶SDF_HashFinal(6分)

 

金鑰管理要求(10分)

基於本標準設計、開發的密碼裝置在金鑰管理方面,應滿足以下要求; 1)裝置金鑰的使用不對應用系統開放; 2) 金鑰必須用安全的方法產生並存儲;

3) 在任何時間、任何情況下,除公鑰外的金鑰均不能以明文形式出現在密碼裝置外; 4) 密碼裝置內部儲存的金鑰應具備有效的金鑰保護機制,防止解剖、探測和非法讀取; 5) 密碼

 

 

 

 

 

 

裝置內部儲存的金鑰應具備許可權控制機制,防止非法使用和匯出。

 

 

 

 

 

裝置狀態要求(5分)

基於本標準設計、開發的密碼裝置在裝置狀態方面,應滿足以下要求; 1) 密碼裝置應具有初始和就緒兩個狀態;

2) 未安裝裝置金鑰的密碼裝置應處幹初始狀態,已安裝裝置金鑰的密碼裝置應處於就緒狀態; 3) 在初始狀態下,除可讀取裝置資訊、裝置金鑰的生成或恢復操作外,不能執行任何操作,生成或恢復裝置金鑰後,密碼裝置處於就緒狀態;

4) 在就緒狀態下,除裝置金鑰的生成或恢復操作外,應能執行任何操作; 5) 在就緒狀態下進行的金鑰操作,裝置操作員應經過密碼裝置的認證。