• 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) 在就绪状态下进行的密钥操作,设备操作员应经过密码设备的认证。

  • 相关阅读:
    难以理解的二分查找
    程序设计第七次作业——关于计算器的总结
    程序设计第六次作业——计算器(可视化界面)
    课堂作业——1025反转链表
    程序设计第五次作业——计算器(调用文件输入输出)
    circle area
    程序设计第四次作业——计算器第二步(计算)
    第三次作业代码规范修改
    解决Type 'UnityEngine.Component' does not support slicing
    mactype支持qq浏览器
  • 原文地址:https://www.cnblogs.com/you-knows/p/14591733.html
Copyright © 2020-2023  润新知