1.简述 SSL
加密的过程用了哪些加密方法,为何这么作?
SSL
加密,在这过程中实际使用了 对称加密
和 非对称加密
的结合。
主要的考虑是先使用 非对称加密
进行连接,这样做是为了避免中间人攻击秘钥被劫持,但是 非对称加密
的效率比较低。所以一旦建立了安全的连接之后,就可以使用轻量的 对称加密
。
2.RSA非对称加密
[对称加密算法]
在加密和解密时使用的是同一个秘钥;而[非对称加密算法]
需要两个[密钥]
来进行加密和解密,这两个秘钥是[公开密钥]
(public key,简称公钥)和私有密钥
(private key,简称私钥)。
RSA加密
与[对称加密算法]不同,[非对称加密算法]需要两个[密钥]:
[公开密钥](publickey)
和私有密钥(privatekey)
。公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。因为加密
和解密
使用的是两个不同的[密钥],所以这种算法叫作[非对称加密算法]
。
RSA
加密原理
RSA
是常用的加密模式,其加密原理可用以下的例子进行简要的论述。
随机取两个质数
P = 61;
q = 53;
N = P * Q = 3233;
// E是1-n之间的一个随机的质数
E = 17;
// D是通过一系列数学运算得出的一个数字,
// 运算方法后续会附上阮一峰老师的两篇文章链接
// (N,D)(N,E)要满足可以互相解值运算
// 假如(N,D)是公钥,(N,E)是私钥
// 满足私钥加密,公钥解密或者反过来公钥加密,私钥解密。
// 也要满足只知道(N,D)就想知道(N,E),那就要把N这个大的整数进行因数分解。
// 因数分解只能使用暴力穷举,N越大,相应的也就越安全
// 当 N 大到1024位或者2048位时,以目前的技术破解几乎不可能,所以很安全
附录
3.iOS的签名机制是怎么样的
- 签名机制:
- 先将应用内容通过摘要算法,得到摘要
- 再用私钥对摘要进行加密得到密文
- 将源文本、密文、和私钥对应的公钥一并发布
- 验证流程:
- 查看公钥是否是私钥方的
- 然后用公钥对密文进行解密得到摘要
- 将APP用同样的摘要算法得到摘要,两个摘要进行比对,如果相等那么一切正常