RSA介绍
根据加密原理,可以将大部分的加密算法分为两大类:对称加密算法和非对称加密算法。对称加密算法的加密和解密采用的是同一套算法规则。而非对称加密算法加密时用的是公钥(公开给所有人),解密时用的是私钥(只有相关人员拥有),
非对称加密算法中使用最广泛的就是RSA算法。RSA算法非常可靠,密钥越长,就越难破解。当今互联网中已经纰漏的破解方法是针对768位密钥。所以一般认为1024位的密钥加密是安全的,2048位是绝对安全的
RSA算法原理
RSA的算法是基于一个大因数是很难计算分解这一原理的。要想理解RSA原理需要了解一些基础的数论概念
素数
素数又称质数,指在一个大于1的自然数中,除了1和此整数自身外,不能被其他自然数整除的数
互质数
公因数只有1的两个数,叫做互质数
两个不同的质数一定是互质数。例如,2与7、13与19。一个质数,另一个不为它的倍数,这两个数为互质数。例如,3与10、5与 26。相邻的两个自然数是互质数。如 15与 16。相邻的两个奇数是互质数。如 49与 51。较大数是质数的两个数是互质数。如97与88。小数是质数,大数不是小数的倍数的两个数是互质数。例如 7和 16。2和任何奇数是互质数。例如2和87。1不是质数也不是合数,它和任何一个自然数在一起都是互质数。如1和9908。辗转相除法。