返回上级目录:iOS面试和知识点整理

RSA应用场景

由于 RSA算法的加密解密速度要比对称算法速度慢很多,在实际应用中,通常采取如下:
1.数据本身的加密和解密使用对称加密算法(AES)。
2.用RSA算法加密并传输对称算法所需的密钥。

参考:iOS使用RSA加密

RSA加密、签名区别

简单的说,加密是为了防止信息被泄露,而签名是为了防止信息被篡改。

参考:RSA加密、解密、签名、验签的原理及方法

RSA的公钥和私钥到底哪个才是用来加密和哪个用来解密?

公钥和私钥都可用于加密和解密。但是不同场景使用不同的密钥来加密。

1、私钥用于签名、公钥用于验签

签名和加密作用不同,签名并不是为了保密,而是为了保证这个签名是由特定的某个人签名的,而不是被其它人伪造的签名,所以私钥的私有性就适合用在签名用途上。

私钥签名后,只能由对应的公钥解密,公钥又是公开的(很多人可持有),所以这些人拿着公钥来解密,解密成功后就能判断出是持有私钥的人做的签名,验证了身份合法性。

2、公钥用于加密、私钥用于解密,这才能起到加密作用

因为公钥是公开的,很多人可以持有公钥。若用私钥加密,那所有持有公钥的人都可以进行解密,这是不安全的!

若用公钥加密,那只能由私钥解密,而私钥是私有不公开的,只能由特定的私钥持有人解密,保证的数据的安全性。

参考:rsa公钥和私钥到底哪个才是用来加密,哪个用来解密?