GM/T 0018-2012 设备接口描述笔记
文章目录
- GM/T 0018-2012 设备接口描述笔记
- 6. 设备接口描述
- 6.1 密码设备应用接口在公钥密码基础设施应用技术体系框架中的位置
- 6.2 设备管理类函数
- 6.3 密钥管理类函数
- 6.4 非对称算法运算类函数
- 6.5 对称算法运算类函数
- 6.6 杂凑运算类函数
- 6.7 用户文件操作类函数
6. 设备接口描述
6.1 密码设备应用接口在公钥密码基础设施应用技术体系框架中的位置
在公钥密码基础设施应用技术体系框架中,密码设备服务层由密码机、密码卡、智能密码终端等设备组成,通过本标准规定的密码设备应用接口向通用密码服务层提供基础密码服务。如图1所示。
基础密码服务包括密钥生成、单一的密码运算、文件管理等的服务。
本标准采用 C语言描述接口函数。如无特别说明,函数中参数的长度单位均为字节数。
6.2 设备管理类函数
设备管理类函数包括以下具体函数,各函数返回值见附录A函数返回代码定义:
- 打开设备: SDF_OpenDevice
- 关闭设备: SDF_CloseDevice
- 创建会话: SDF_OpenSession
- 关闭会话: SDF_CloseSession
- 获取设备信息: SDF_GetDeviceInfo
- 产生随机数: SDF_GenerateRanDom
- 获取私钥使用权限: SDF_GetPrivateKeyAccessRight
- 释放私钥使用权限: SDF_ReleasePrivateKeyAccessRight
6.3 密钥管理类函数
密钥管理类函数包括以下具体函数,各函数返回值见附录A函数返回代码定义:
-
导出 RSA 签名公钥: SDF_ExportSignPublicKey_RSA
-
导出 RSA 加密公钥: SDF_ExportEncPublicKey_RSA
-
产生 RSA 非对称密钥对并输出: SDF_GenerateKeyPair_RSA
-
生成会话密钥并用内部 RSA 公钥加密输出: SDF_GenerateKeyWithIPK_RSA
-
生成会话密钥并用外部 RSA 公钥加密输出: SDF_GenerateKeyWithEPK_RSA
-
导入会话密钥并用内部 RSA 私钥解密: SDF_ImportKeyWithISK_RSA
-
基于 RSA 算法的数字信封转换: SDF_ExchangeDigitEnvelopeBaseOnRSA
-
导出ECC签名公钥: SDF_ExportSignPublicKey_ECC
-
导出ECC加密公钥: SDF_ExportEncPublicKey_ECC
-
产生ECC非对称密钥对并输出: SDF_GenerateKeyPair_ECC
-
生成会话密钥并用内部ECC公钥加密输出: SDF_GenerateKeyWithIPK_ECC
-
生成会话密钥并用外部ECC公钥加密输出: SDF_GenerateKeyWithEPK_ECC
-
导入会话密钥并用内部ECC私钥解密: SDF_ImportKeyWithISK_ECC
-
生成密钥协商参数并输出: SDF_GenerateAgreementDataWithECC
-
计算会话密钥: SDF_GenerateKeyWithECC
-
产生协商数据并计算会话密钥: SDF_GenerateAgreementDataAndKeyWithECC
-
基于ECC算法的数字信封转换: SDF_ExchangeDigitEnvelopeBaseOnECC
-
生成会话密钥并用密钥加密密钥加密输出: SDF_GenerateKeyWithKEK
-
导入会话密钥并用密钥加密密钥解密: SDF_ImportKeyWithKEK
-
导入明文会话密钥: SDF_ImportKey (GMSSL中没有)
-
销毁会话密钥: SDF_DestroyKey
6.4 非对称算法运算类函数
非对称算法运算类函数包括以下具体函数,各函数返回值见附录A函数返回代码定义:
-
外部公钥RSA运算: SDF_ExternalPublicKeyOperation_RSA
-
外部私钥RSA运算: SDF_ExternalPrivateKeyOperation_RSA (GMSSL中没有)
-
内部公钥RSA运算: SDF_InternalPublicKeyOperation_RSA
-
内部私RSA运算: SDF_InternalPrivateKeyOperation_RSA
-
外部密钥ECC签名: SDF_ExternalSign_ECC (GMSSL中没有)
-
外部密钥ECC验证: SDF_ExternalVerify_ECC
-
内部密钥ECC签名: SDF_InternalSign_ECC
-
内部密钥ECC验证: SDF_InternalVerify_ECC
-
外部密钥ECC加密: SDF_ExternalEncrypt_ECC
-
内部密钥ECC加密: SDF_InternalEncrypt_ECC (标准中没有)
-
内部密钥ECC解密: SDF_InternalDecrypt_ECC (标准中没有)
-
外部密钥ECC解密: SDF_ExternalDecrypt_ECC (GMSSL中没有)
6.5 对称算法运算类函数
对称算法运算类函数包括以下具体函数,各函数返回值见附录A函数返回代码定义:
- 对称加密: SDF_Encrypt
- 对称解密: SDF_Decrypt
- 计算MAC: SDF_CalculateMAC
6.6 杂凑运算类函数
杂凑运算类函数包括以下具体函数,各函数返回值见附录A函数返回代码定义:
- 杂凑运算初始化: SDF_HashInit
- 多包杂凑运算: SDF_HashUpdate
- 杂凑运算结束: SDF_HashFinal
6.7 用户文件操作类函数
用户文件操作类函数包括以下具体函数,各函数返回值见附录A函数返回代码定义:
- 创建文件: SDF_CreateFile
- 读取文件: SDF_ReadFile
- 写文件: SDF_WriteFile
- 删除文件: SDF_DeleteFile