一、RSA加密/解密在线教程
1.1、RSA算法介绍
RSA加密算法是一种可逆的非对称加密算法,即RSA加密时候用的密钥(公钥)和RSA解密时用的密钥(私钥)不是同一把。基本原理是将两个很大的质数相乘很容易得到乘积,但是该乘积分解质因数却很困难。RSA算法被广泛的用于加密解密和RSA签名/验证等领域。
1.2、RSA算法的速度与安全性
比起AES等其它对称算法来说,RSA运算更为复杂,所以要慢得多。
从安全角度来讲,一般建议RSA密钥长度至少为2048位。世界上还没有任何可靠的攻击RSA算法的方式,如果密钥足够长或者没有密钥,想要RSA解密或者破解RSA解密基本是不可能的。RSA从提出到现在已近二十年,经历了各种攻击的考验,逐渐为人们接受,普遍认为是目前最优秀的公钥方案之一。
1.3、RSA存储格式
DER是RSA密钥的二进制格式,PEM是DER转码为Base64的字符格式,由于DER是二进制格式,不便于阅读和理解。一般而言,密钥都是通过PEM的格式进行存储的,本工具所选择的RSA密钥格式也就是PEM编码存储的格式。
PKCS #1 标准主要用于 RSA密钥,其RSA公钥和RSA私钥PEM格式:
// PKCS#1公钥格式
-----BEGIN RSA PUBLIC KEY-----
BASE64 DATA...
-----END RSA PUBLIC KEY-----
// PKCS#1私钥格式
--