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

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解密”代码执行流程
