GM/T 0018-2012 设备接口描述笔记

news2024/10/6 8:40:49

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1420191.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

揭秘 Docker 网络:手动实现 Docker 桥接网络

本文将带领读者探索 Docker 桥接网络模型的内部机制,通过 veth pair、bridge、iptables 等关键技术手动实现 Docker 桥接网络模型,揭示网络背后的运作原理。 如果你对云原生技术充满好奇,想要深入了解更多相关的文章和资讯,欢迎关…

idea用version标签配置版本号报错版本号missing

问题描述&#xff1a; 用<mybatis-plus.version>3.3.2</mybatis-plus.version>配置pom的版本号&#xff0c;报错 dependencies.dependency.version for com.baomidou:mybatis-plus-boot-starter:jar is missing. line 33, column 21详细报错如下&#xff1a; 详…

负载均衡下Webshell连接思路及难点

君衍. 一、应用场景二、环境搭建三、思路以及难点1、查看内部结构2、查看webshell3、使用蚁剑进行连接4、难点1 shell文件上传问题5、难点2 命令执行时飘逸6、难点3 大工具上传失败7、难点4 脚本失效 四、解决方式1、关闭对方节点服务器2、基于IP地址判断是否执行3、脚本实现流…

文献速递:人工智能医学影像分割--- 深度学习分割骨盆骨骼:大规模CT数据集和基线模型

文献速递&#xff1a;人工智能医学影像分割— 深度学习分割骨盆骨骼&#xff1a;大规模CT数据集和基线模型 我们为大家带来人工智能技术在医学影像分割上的应用文献。 人工智能在医学影像分析中发挥着至关重要的作用&#xff0c;尤其体现在图像分割技术上。这项技术的目的是准…

1 月 29日算法练习-二分法

二分法是一种高效的查找方法&#xff0c;它通过将问题的搜索范围一分为二&#xff08;两边具有明显的区别&#xff09;&#xff0c;迭代地缩小搜索范围&#xff0c;直到找到目标或确定目标不存在。 二分法适用于有序数据集合&#xff0c;并且每次迭代可以将搜索范围缩小一半。 …

STL_list

一、有关list的介绍 list是可以在常数范围内在任意位置进行插入和删除的序列式容器&#xff0c;并且该容器可以前后双向迭代list的底层是双向链表结构&#xff0c;双向链表中每个元素存储在互不相关的独立节点中&#xff0c;在节点中通过指针指向其前一个元素和后一个元素。Ii…

备战蓝桥杯--数据结构及STL应用(基础)

今天轻松一点&#xff0c;讲一讲stl的基本操作吧&#xff01; 首先&#xff0c;让我们一起创建一个vector容器吧&#xff01; #include<bits/stdc.h> using namespace std; struct cocoack{ int coco,ck; } void solve(){vector<cocoack> x;for(int i0;i<5;i){…

负载均衡技术助力企业数字化转型和高可用架构实现

文章目录 什么是高可用架构什么是负载均衡负载均衡设备硬件负载均衡的代表产品软件负载均衡的代表产品 负载均衡基于OSI模型分层负载均衡在网络层负载均衡在传输层负载均衡在应用层 优先考虑负载均衡的场景硬件负载均衡的缺点云负载均衡正在成为最佳选择企业数字化转型对负载均…

Ubuntu 22.04 中文乱码解决方案

sudo apkg-reconfigure locales 按空格键选中

数字图像处理(实践篇)三十六 OpenCV-Python 使用ORB和BFmatcher对两个输入图像的关键点进行匹配实践

目录 一 涉及的函数 二 实践 ORB(Oriented FAST and Rotated BRIEF)是一种特征点检测和描述算法,它结合了FAST关键点检测和BRIEF描述子。ORB算法具有以下优势: ①实时性:能够在实时应用中进行快速的特征点检测和描述。 ②

跟着cherno手搓游戏引擎【14】封装opengl

本节先把代码粘上&#xff0c;后续会慢慢把注释都给加上&#xff0c;先看代码了解个大概&#xff08;待更新&#xff09; 前置&#xff1a; RendererAPI.h: #pragma once namespace YOTO {enum class RendererAPI {None 0,OpenGL1};class Renderer {public:inline static R…

交换排序(快排)

当当当当&#xff01;终于来到了令人激动人心的环节&#xff1a;交换排序&#xff01;在这里&#xff0c;我们将会学习到一个大家经常听到过的名词&#xff1a;快速排序&#xff0c;而我希望通过这篇文章的学习&#xff0c;大家也能够真正的学会快排&#xff01; 交换排序 基本…

SkyWalking+es部署与使用

第一步下载skywalking :http://skywalking.apache.org/downloads/ 第二步下载es:https://www.elastic.co/cn/downloads/elasticsearch 注&#xff1a;skywalking 和es要版本对应&#xff0c;可从下面连接查看版本对应关系&#xff0c;8.5.0为skywalking 版本号 Index of /di…

Scala入门01

Spark入门 1.入门 spark采用Scala语言开发 Spark是用来计算的 Scala掌握&#xff1a;特性&#xff0c;基本操作&#xff0c;集合操作&#xff0c;函数&#xff0c;模式匹配&#xff0c;trait&#xff0c;样例类&#xff0c;actor等内容。 2.内容讲解 2.1 Scala简介 在http…

idea报错(建一个数据库和里面的表)

//报错1 2024-01-30 11:36:50.652 ERROR 21136 --- [nio-9090-exec-5] c.e.exception.GlobalExceptionHandler : 异常信息&#xff1a; 前端没有传数据就会报这个错 //报错2 Caused by: java.sql.SQLException: Access denied for user rootlocalhost (using password: YES…

【UEFI实战】Redfish的BIOS实现——生成EDK数据

生成Redfish文件 Redfish数据的表示形式&#xff0c;最常用的是JSON。将JSON表示的数据转换成C语言可以操作的结构体&#xff0c;是必不可少的步骤。当然如果手动转换的话&#xff0c;需要浪费大量的时间&#xff0c;因此DMTF组织开发了一个工具&#xff0c;用于将JSON数据快速…

redis-4 集群

应用场景 为什么需要redis集群&#xff1f; 当主备复制场景&#xff0c;无法满足主机的单点故障时&#xff0c;需要引入集群配置。 一般数据库要处理的读请求远大于写请求 &#xff0c;针对这种情况&#xff0c;我们优化数据库可以采用读写分离的策略。我们可以部 署一台主服…

论文笔记:多任务学习模型:渐进式分层提取(PLE)含pytorch实现

整理了RecSys2020 Progressive Layered Extraction : A Novel Multi-Task Learning Model for Personalized Recommendations&#xff09;论文的阅读笔记 背景模型代码 论文地址&#xff1a;PLE 背景 多任务学习&#xff08;multi-task learning&#xff0c;MTL&#xff09;&a…

【C/C++ 01】初级排序算法

排序算法通常是针对数组或链表进行排序&#xff0c;在C语言中&#xff0c;需要手写排序算法完成对数据的排序&#xff0c;排序规则通常为升序或降序&#xff08;本文默认为升序&#xff09;&#xff0c;在C中&#xff0c;<algorithm>头文件中已经封装了基于快排算法的 st…

Leetcode3015. 按距离统计房屋对数目 I

Every day a Leetcode 题目来源&#xff1a;3015. 按距离统计房屋对数目 I 解法1&#xff1a;暴力 暴力枚举每一个房屋对 (i, j) 的 3 种路径&#xff1a; i->j&#xff1a;长度为 len1 j-i&#xff1b;i->x->y->j&#xff1a;长度为 len2 abs(i - x) 1 a…