---
title: 加密和解密
description: "1. CA发送CMD_GENERATE_RANDOM命令，TA响应，调用TEE_GenerateRandom函数产生随机数，用于后面密钥生成。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengboostkithistory/2300/history/kunpengtrustzone_16_0011.html
sourcePath: /source/zh/kunpengboostkithistory/2300/history/kunpengtrustzone_16_0011.html
indexId: 74b26756312df0e30d10ee676fc3fa5c63da8701e64e35acd29225c459f7c99176
---
# 加密和解密

1. CA发送CMD_GENERATE_RANDOM命令，TA响应，调用TEE_GenerateRandom函数产生随机数，用于后面密钥生成。
  图1 “随机数生成”代码执行流程

2. CA发送CMD_GENERATE_KEYPAIR命令，TA使用前面随机数，通过TEE_GenerateKey函数产生公钥-私钥对。
  图2 “密钥生成”代码执行流程

3. CA发送CMD_SAVE_KEYPAIR命令，TA调用CmdRSASaveKeypair将生成的密钥数据存储到指定路径中。
  图3 “密钥存储”代码执行流程

4. CA发送CMD_READ_KEYPAIR命令，TA调用CmdRSAReadKeypair函数读取存储的密钥文件，获得公共密钥数据。
  图4 “密钥读取”代码执行流程

5. CA发送CMD_ENC_OAEP_MGF1_SHA512命令，TA调用前面生成的公共密钥数据，以TEE_ALG_RSAES_PKCS1_OAEP_MGF1_SHA512模式去加密数据对要传输的数据进行加密。
  图5 “AES加密”代码执行流程

6. CA发送CMD_DEC_OAEP_MGF1_SHA512命令，TA使用前面生成的私钥数据，对加密的数据进行解密，并将原始数据与解密数据进行对比。
  图6 “AES解密”代码执行流程
