加密算法分为对称算法和非对称算法两种,RSA属于应用最为广泛的非对称加密算法。其基本安全原理是建立在大素数因子很难分解的基础上,属于分组密码体制。简单的说:知道两个质数,求出它们的乘积,很容易;但知道一个整数,分解成两个质数就很复杂了。

    RSA是非对称加密算法,加密与解密的密钥不同,有别于DES这类对称算法。RSA主要缺点是产生密钥受到素数产生技术的限制;密钥分组长度较长,运算速度较低。

    RSA算法也分为两种模式,NDE模式和CRT模式

    1、通常使用公钥的运算,速度是比较快的。因为E我们一般选取的都比较小,无论是0x010001还是0x03
    2、通常私钥的运算是比较慢的,因为私钥中的D比较大,长度和模长相同,比如1024bit。为了提高私钥运算的速度,才有了CRT模式,所以在加密芯片里,我们都采用CRT模式来做私钥的运算。即便如此,私钥的运算速度还是比公钥的计算要慢一些。

    RSA应用模式一般有私钥签名和公钥验签。简易的流程图可以参考下图:

    凌科芯安科技LKT4201N等加密芯片支持RSA1024、RSA2048和国际上通用的对称和非对称算法,开发的技术人员不要错过。