---
title: 介绍
description: "本文主要介绍基于鲲鹏服务器TrustZone环境下，RSA（Rivest-Shamir-Adleman）加解密功能Demo代码开发使用的方法。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengboostkithistory/240RC2/confidt/kunpengtrustzone_16_0001.html
sourcePath: /source/zh/kunpengboostkithistory/240RC2/confidt/kunpengtrustzone_16_0001.html
indexId: 3f266a5b0c88894434f6ec50be075029a3c3e69554a4738d0586215c71241edf78
---
# 介绍

本文主要介绍基于鲲鹏服务器TrustZone环境下，RSA（Rivest-Shamir-Adleman）加解密功能Demo代码开发使用的方法。

#### RSA加密算法

RSA公钥密码算法是由美国麻省理工学院（MIT）的Rivest、Shamir和Adleman在1977年提出来的一种非对称加密算法。RSA密码算法方案是唯一被广泛接受并实现的通用公开密码算法，目前已成为公钥密码的国际通用标准。这种算法非常可靠， 密钥 越长，越难破解。根据已经披露的文献，目前被破解的最长RSA密钥是768个二进制位。也就是说，长度超过768位的密钥，还无法破解。因此可以认为，1024位的RSA密钥基本安全，2048位的密钥极其安全。


#### RSA数字签名

RSA数字签名体制是基于RSA公钥密码算法的。由于RSA算法在实践中被验证了是安全的（到目前为止），RSA数字签名体制在许多安全标准中得以较为广泛的应用。

RSA数字签名算法包括签名算法和验证算法，它是基于RSA算法加密和解密算法来进行的数字签名，实际上是把通过一个散列函数（本设计使用的是SHA256算法）来产生的消息摘要（MD，Message Digest）作为加密的对象，而不是对原文进行直接的加密。原文消息如果发生改变，消息摘要也将发生改变，进而，数字签名的值也将发生改变，也就是说有不同的消息将得到不同的数字签名。有效的数字签名使接收方可以得到正确验证消息“确实来自发送方”，因为签名的私钥只有发送方自己才有，他人是无法做相同的数字签名的。如果第三方冒充发送方发出了一个消息，接收方在对数字签名进行验证时使用的是发送方公开的公钥，在第三方不知道发送方私钥的情况下，加密生成的数字签名和重新计算的数字签名必然是不同的，这样，数字签名的真实性就得到了有效的保证。
