加密和解密
- CA发送CMD_GENERATE_RANDOM命令,TA响应,调用TEE_GenerateRandom函数产生随机数,用于后面密钥生成。
图1 “随机数生成”代码执行流程
- CA发送CMD_GENERATE_KEYPAIR命令,TA使用前面随机数,通过TEE_GenerateKey函数产生公钥-私钥对。
图2 “密钥生成”代码执行流程
- CA发送CMD_SAVE_KEYPAIR命令,TA调用CmdRSASaveKeypair将生成的密钥数据存储到指定路径中。
图3 “密钥存储”代码执行流程
- CA发送CMD_READ_KEYPAIR命令,TA调用CmdRSAReadKeypair函数读取存储的密钥文件,获得公共密钥数据。
图4 “密钥读取”代码执行流程
- CA发送CMD_ENC_OAEP_MGF1_SHA512命令,TA调用前面生成的公共密钥数据,以TEE_ALG_RSAES_PKCS1_OAEP_MGF1_SHA512模式去加密数据对要传输的数据进行加密。
图5 “AES加密”代码执行流程
- CA发送CMD_DEC_OAEP_MGF1_SHA512命令,TA使用前面生成的私钥数据,对加密的数据进行解密,并将原始数据与解密数据进行对比。
图6 “AES解密”代码执行流程
父主题: 功能介绍