介绍
本文主要介绍基于鲲鹏服务器TrustZone环境下,RSA(Rivest-Shamir-Adleman)加解密功能Demo代码开发使用的方法。
RSA加密算法
RSA公钥密码算法是由美国麻省理工学院(MIT)的Rivest、Shamir和Adleman在1977年提出来的一种非对称加密算法。RSA密码算法方案是唯一被广泛接受并实现的通用公开密码算法,目前已成为公钥密码的国际通用标准。这种算法非常可靠,
RSA数字签名
RSA数字签名体制是基于RSA公钥密码算法的。由于RSA算法在实践中被验证了是安全的(到目前为止),RSA数字签名体制在许多安全标准中得以较为广泛的应用。
RSA数字签名算法包括签名算法和验证算法,它是基于RSA算法加密和解密算法来进行的数字签名,实际上是把通过一个散列函数(本设计使用的是SHA256算法)来产生的消息摘要(MD,Message Digest)作为加密的对象,而不是对原文进行直接的加密。原文消息如果发生改变,消息摘要也将发生改变,进而,数字签名的值也将发生改变,也就是说有不同的消息将得到不同的数字签名。有效的数字签名使接收方可以得到正确验证消息“确实来自发送方”,因为签名的私钥只有发送方自己才有,他人是无法做相同的数字签名的。如果第三方冒充发送方发出了一个消息,接收方在对数字签名进行验证时使用的是发送方公开的公钥,在第三方不知道发送方私钥的情况下,加密生成的数字签名和重新计算的数字签名必然是不同的,这样,数字签名的真实性就得到了有效的保证。