RSA算法是现在使用最广泛的非对称加密算法,比如 HTTPS 加密连接、苹果的APP签名就使用了RSA,非对称加密算法的主要优势就是使用两个而不是一个密钥值:一个密钥值用来加密消息,另一个密钥值用来解密消息,这两个密钥值在同一个过程中生成,称为密钥对,用来加密消息的密钥称为公钥,用来解密消息的密钥称为私钥,用公钥加密的消息只能用与之对应的私钥来解密,私钥除了持有者外无人知道,而公钥却可通过非安全管
RSA算法是现在使用最广泛的非对称加密算法,比如 HTTPS 加密连接、苹果的APP签名就使用了RSA。非对称加密算法的主要优势就是使用两个而不是一个密钥值:一个密钥值用来加密消息,另一个密钥值用来解密消息。这两个密钥值在同一个过程中生成,称为密钥对。用来加密消息的密钥称为公钥,用来解密消息的密钥称为私钥。用公钥加密的消息只能用与之对应的私钥来解密,私钥除了持有者外无人知道,而公钥却可通过非安全管道来发送或在目录中发布。比如区块链加密虚拟货币比如比特币就是基于非对称加密算法,公钥为钱包地址,私钥为钱包密码。 RSA算法主要有以下几个步骤: 1. 随机选择两个质数 p,q 2. 令 n = p * q,由欧拉公式 ϕ(n)=(p−1)∗(q−1)phi{(n)}=(p-1) * (q-1)ϕ(n)=(p−1)∗(q−1) 计算与 n 互质的整数的个数 ϕ(n)phi{(n)}ϕ(n) 3. 取 e∈1