2021SC@SDUSC
很抱歉由于自身身体原因,本来打算这周对AES算法进行CPU和GPU的实际检测比较分析进行推迟。我决定对于SHA、AES、RSA三个算法在CPU和GPU性能对比放在最后几周。
本周介绍RSA算法的基本原理。
一、RSA加密算法简介:
RSA加密算法是一种非对称加密算法。所谓非对称,就是指该算法加密和解密使用不同的密钥,即使用公钥进行加密、私钥进行解密。
在RAS算法中,公钥是公开信息,而私钥是需要保密的。加密算法和解密算法也都是公开的。虽然私钥是由公钥决定的,由于无法计算出大数n的欧拉函数phi(N),所以不能根据公钥计算出私钥。
也就是说,对极大整数做因数分解的难度决定了RSA算法的可靠性。理论上,只要其钥匙的长度n足够长,用RSA加密的信息实际上是不能被解破的。
RSA算法通常是先生成一对RSA密钥,其中之一是私钥,由用户保存;另一个为公钥,可对外公开。为提高保密强度,RSA密钥至少为500位长,一般推荐使用1024位。这就使加密的计算量很大。为减少计算量,在传送信息时,常采用传统加密方法与公开密钥加密方法相结合的方式,即信息采用改进的DES或IDEA密钥加密,然后使用RSA密钥加密对话密钥和信息摘要。对方收到信息后,用不同的密钥解密并可核对信息摘要。
二、RSA算法的由来
一直到上个世纪70年代,人们都还在使用对称加密算法。换言之,信息的收发双方都会通过事先商定好的密钥对数据进行加解密。然而这种加密方式有诸多缺陷,随着网络规模的不断增大,每多一个用户就需要保存许多额外的密钥,密钥的管理也逐渐成