# dios **Repository Path**: Yinyuliao/dios ## Basic Information - **Project Name**: dios - **Description**: No description available - **Primary Language**: C - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2024-10-22 - **Last Updated**: 2024-10-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Dios ## 基本情况 - 初始平台:Windows - IDE:VisualStudio - 加密:**openSSL** - 依照GM\T 0018-2012中的标准设计程序 ## 需要实现的函数 ### 1.设备管理类函数 打开设备:SDF_OpenDevice 关闭设备:SDF_CloseDevice 获取设备信息:SDF_GetDeviceInfo 产生随机数:SDF_GenerateRandom ### 2.密钥管理类函数 导出 ECC签名公钥:SDF_ExportSignPublicKey_ECC 导出 ECC加密公钥:SDF_ExportEncPublicKey_ECC 产生 ECC非对称密钥对并输出:SDF_GenerateKeyPair_ECCK ### 3.非对称算法运算类函数(至少支持SM2) 外部密钥 ECC签名:SDF_ExternalSign_ECC 外部密钥 ECC验证:SDF_ExternalVerify_ECC 内部密钥 ECC签名:SDF_InternalSign_ECC 内部密钥 ECC验证:SDF_InternalVerify_ECC 外部密钥 ECC加密:SDF_ExternalEncrypt_ECC 外部密钥 ECC解密:SDF_ExternalDecrypt_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. 在就绪状态下进行的密钥操作,设备操作员应经过密码设备的认证 ## 分工 | 学号 | 姓名 | 初始要求 | | -------- | ------ | ------------------------------------------------------- | | 20181202 | 李祎铭 | 有WPS会员,可以提供全部代码,完成设备管理类函数 | | 20181217 | 陈少卿 | 完成密钥管理类函数 | | 20181219 | 王辰 | 编写设备管理类函数、密钥管理类函数和非对称算法前两个的测试代码| | 20181221 | 曾宇涛 | 完成非对称算法运算类函数签名验签部分 | | 20181311 | 高雨辰 | 完成非对称算法运算类函数加密解密部分 | | 20181312 | 谢绎 | 完成对称算法运算类函数 | | 20181324 | 谭杰 | 编写非对称算法后两个、对称算法运算类函数、杂凑运算类函数的测试代码| | 20181330 | 王茜 | 完成杂凑运算函数 |