思考:
    下面 三个宏分别是什么含义?
          TEE_ALG_RSAES_PKCS1_V1_5
          TEE_ALG_RSASSA_PKCS1_V1_5_SHA256
          TEE_ALG_RSAES_PKCS1_OAEP_MGF1_SHA256

Algorithm Identifier

/* Algorithm Identifiers */
#define TEE_ALG_AES_ECB_NOPAD           0x10000010
#define TEE_ALG_AES_CBC_NOPAD           0x10000110
#define TEE_ALG_AES_CTR           0x10000210
#define TEE_ALG_AES_CTS           0x10000310
#define TEE_ALG_AES_XTS           0x10000410
#define TEE_ALG_AES_CBC_MAC_NOPAD           0x30000110
#define TEE_ALG_AES_CBC_MAC_PKCS5           0x30000510
#define TEE_ALG_AES_CMAC           0x30000610
#define TEE_ALG_AES_CCM           0x40000710
#define TEE_ALG_AES_GCM           0x40000810
#define TEE_ALG_DES_ECB_NOPAD           0x10000011
#define TEE_ALG_DES_CBC_NOPAD           0x10000111
#define TEE_ALG_DES_CBC_MAC_NOPAD           0x30000111
#define TEE_ALG_DES_CBC_MAC_PKCS5           0x30000511
#define TEE_ALG_DES3_ECB_NOPAD           0x10000013
#define TEE_ALG_DES3_CBC_NOPAD           0x10000113
#define TEE_ALG_DES3_CBC_MAC_NOPAD           0x30000113
#define TEE_ALG_DES3_CBC_MAC_PKCS5           0x30000513
#define TEE_ALG_SM4_ECB_NOPAD           0x10000014
#define TEE_ALG_SM4_CBC_NOPAD           0x10000114
#define TEE_ALG_SM4_CTR           0x10000214
#define TEE_ALG_RSASSA_PKCS1_V1_5_MD5           0x70001830
#define TEE_ALG_RSASSA_PKCS1_V1_5_SHA1           0x70002830
#define TEE_ALG_RSASSA_PKCS1_V1_5_SHA224           0x70003830
#define TEE_ALG_RSASSA_PKCS1_V1_5_SHA256           0x70004830
#define TEE_ALG_RSASSA_PKCS1_V1_5_SHA384           0x70005830
#define TEE_ALG_RSASSA_PKCS1_V1_5_SHA512           0x70006830
#define TEE_ALG_RSASSA_PKCS1_V1_5_MD5SHA1           0x7000F830
#define TEE_ALG_RSASSA_PKCS1_PSS_MGF1_SHA1           0x70212930
#define TEE_ALG_RSASSA_PKCS1_PSS_MGF1_SHA224           0x70313930
#define TEE_ALG_RSASSA_PKCS1_PSS_MGF1_SHA256           0x70414930
#define TEE_ALG_RSASSA_PKCS1_PSS_MGF1_SHA384           0x70515930
#define TEE_ALG_RSASSA_PKCS1_PSS_MGF1_SHA512           0x70616930
#define TEE_ALG_RSAES_PKCS1_V1_5           0x60000130
#define TEE_ALG_RSAES_PKCS1_OAEP_MGF1_SHA1           0x60210230
#define TEE_ALG_RSAES_PKCS1_OAEP_MGF1_SHA224           0x60310230
#define TEE_ALG_RSAES_PKCS1_OAEP_MGF1_SHA256           0x60410230
#define TEE_ALG_RSAES_PKCS1_OAEP_MGF1_SHA384           0x60510230
#define TEE_ALG_RSAES_PKCS1_OAEP_MGF1_SHA512           0x60610230
#define TEE_ALG_RSA_NOPAD           0x60000030
#define TEE_ALG_DSA_SHA1           0x70002131
#define TEE_ALG_DSA_SHA224           0x70003131
#define TEE_ALG_DSA_SHA256           0x70004131
#define TEE_ALG_SM2_DSA_SM3           0x70006045
#define TEE_ALG_DH_DERIVE_SHARED_SECRET           0x80000032
#define TEE_ALG_SM2_KEP           0x60000045
#define TEE_ALG_MD5           0x50000001
#define TEE_ALG_SHA1           0x50000002
#define TEE_ALG_SHA224           0x50000003
#define TEE_ALG_SHA256           0x50000004
#define TEE_ALG_SHA384           0x50000005
#define TEE_ALG_SHA512           0x50000006
#define TEE_ALG_MD5SHA1           0x5000000F
#define TEE_ALG_HMAC_MD5           0x30000001
#define TEE_ALG_HMAC_SHA1           0x30000002
#define TEE_ALG_HMAC_SHA224           0x30000003
#define TEE_ALG_HMAC_SHA256           0x30000004
#define TEE_ALG_HMAC_SHA384           0x30000005
#define TEE_ALG_HMAC_SHA512           0x30000006
#define TEE_ALG_HMAC_SM3           0x30000007

例如在下面的一个示例中,如果是加解密则使用的TEE_ALG_RSAES_PKCS1_V1_5,如果是签名验签则使用的是TEE_ALG_RSASSA_PKCS1_V1_5_SHA256

 switch (mode){case TEE_MODE_ENCRYPT:case TEE_MODE_DECRYPT:alg = TEE_ALG_RSAES_PKCS1_V1_5;break;case TEE_MODE_SIGN:case TEE_MODE_VERIFY:alg = TEE_ALG_RSASSA_PKCS1_V1_5_SHA256;break;}

上述的ES、SSA分别是什么含义呢? OAEP 、MGF1、PSS分别又是什么含义呢?

RSAES : RSA Encryption Scheme <参考这里>
RSASSA : RSA Signature Scheme with Appendix <参考这里>
OAEP : Optimal Asymmetric Encryption Padding — 加解密使用的padding
PSS : probabilistic signature scheme — 签名验签使用的
MGF : mask generation function

GPTEE中定义的RSA的Algorithm Identifier详解相关推荐

  1. exlsx中定义名称步骤_Excel自定义名称详解

    前言 Excel中有一个定义名称的工具,顾名思义,定义名称就是为一个区域.常量值.或者数组定义一个名称,这样的话,我们在之后编写公式时,就可以很方便的用所定义的名称进行编写.1基础操作 1.首先打开e ...

  2. EM算法(Expectation Maximization Algorithm)详解

    EM算法(Expectation Maximization Algorithm)详解 主要内容 EM算法简介 预备知识  极大似然估计 Jensen不等式 EM算法详解  问题描述 EM算法推导 EM ...

  3. 遗传算法(Genetic Algorithm)详解与实现

    遗传算法(Genetic Algorithm)详解与实现 遗传算法简介 类比达尔文进化论 达尔文进化理论 遗传算法对应概念 遗传算法理论 图式定理(schema theorem) 遗传算法与传统算法的 ...

  4. python中的class怎么用_对python 中class与变量的使用方法详解

    python中的变量定义是很灵活的,很容易搞混淆,特别是对于class的变量的定义,如何定义使用类里的变量是我们维护代码和保证代码稳定性的关键. #!/usr/bin/python #encoding ...

  5. ios php rsa加密解密,php rsa加密解密使用详解

    第一条命令生成原始 RSA私钥文件 rsa_private_key.pem,第二条命令将原始 RSA私钥转换为 pkcs8格式,第三条生成RSA公钥 rsa_public_key.pem 从上面看出通 ...

  6. python中class变量_对python 中class与变量的使用方法详解

    python中的变量定义是很灵活的,很容易搞混淆,特别是对于class的变量的定义,如何定义使用类里的变量是我们维护代码和保证代码稳定性的关键. #!/usr/bin/python #encoding ...

  7. js 浅拷贝直接赋值_JS中实现浅拷贝和深拷贝的代码详解

    (一)JS中基本类型和引用类型 JavaScript的变量中包含两种类型的值:基本类型值 和 引用类型值,在内存中的表现形式在于:前者是存储在栈中的一些简单的数据段,后者则是保存在堆内存中的一个对象. ...

  8. SQL Server中通用数据库角色权限的处理详解

    SQL Server中通用数据库角色权限的处理详解 前言 安全性是所有数据库管理系统的一个重要特征.理解安全性问题是理解数据库管理系统安全性机制的前提. 最近和同事在做数据库权限清理的事情,主要是删除 ...

  9. python实例化是什么意思_Python中实例化class的执行顺序示例详解

    前言 本文主要介绍了关于Python实例化class的执行顺序的相关内容,下面话不多说了,来一起看看详细的介绍吧 Python里对类的实例化时有怎样的顺序 一般来说一个类里面有类变量和方法,比如我们定 ...

最新文章

  1. 2022-2028年中国婴儿用品市场投资分析及前景预测报告
  2. PAT甲级1010 Radix :[C++题解]进制位、秦九韶算法、二分(PAT通过率最低的一道题0.11)
  3. Oracle分析函数三——SUM,AVG,MIN,MAX,COUNT
  4. 一个串口接2个设备_重庆市有2个大观镇,一个乡村旅游发达,一个特产柚子
  5. nvm用标准sata ahci码_能者多劳!让NVMe固态硬盘做系统盘的同时,加速SATA数据盘...
  6. mysql中字符串拼接函数_MySQL字符串连接函数
  7. 蓝桥杯练习题:保留100位小数的黄金分割数
  8. 用Java做s71200的上位机_上位机通过西门子S7-1200PLC与OPC UA通讯
  9. Java Web 高性能开发,第 1 部分: 前端的高性能
  10. jquery页面隐藏和展开之间切换
  11. hadoop shell 详解
  12. LINUX下载ant源码并编译
  13. 操作文件读写JSON的建议工具类
  14. Linux低分辨率下时钟中断调用流程
  15. linux 如何安装whl文件,linux安装whl文件
  16. 蚌埠住了,让我虎躯一震的代码!
  17. Excise1_Exception
  18. Web前端 笔记 (21-45)
  19. qt 从布局中删除子控件
  20. correl函数_CORREL函数用法讲解

热门文章

  1. 2020年度国家绿色数据中心名单正式发布
  2. 安全用电基本知识,弱电工程人员要学会!
  3. 数据中心胶体电池的使用寿命
  4. 这三大“监控系统”是机房重中之重?
  5. Py之pycocotools:pycocotools库的简介、安装、使用方法之详细攻略
  6. ML之回归预测:利用十(xgboost,10-1)种机器学习算法对无人驾驶汽车系统参数(2017年的data,18+2)进行回归预测值VS真实值——bug调试记录
  7. Python语言学习之图表可视化:python语言中可视化工具包的简介、安装、使用方法、经典案例之详细攻略
  8. Java:Java编程实现导出二维码
  9. Dataset:数据集集合(CV方向数据集)-常见的计算机视觉图像数据集大集合包括表面缺陷检测数据集(持续更新)
  10. Python常用扩展包