iOS-对称加密和(rsa)非对称加密

2020-02-26  本文已影响0人  IBigLiang

说起rsa,大家自然就会说,非对称加密嘛。是的,rsa非对称加密算是安全级别非常高的加密方式,至少对于现在而言。这里,笔者也是抽空整理和总结下,自己所了解的知识点,也希望大家看到后,可以补充下哦!
先来说说,为何要加密,当然是为了保证数据的安全性。当代的互联网发展中,如何保证一个数据的安全性,是IT行业一个重要的技术领域。因为非对称加密是一个相对于现在的数据通信技术而言非要安全的加密方式,所以大家都很推崇。
然后说到非对称加密,那自然就会有对称加密。这里,笔者举一个简单的例子,也是希望对这块知识点不是很了解的同学们做个补充。下面将以一个乘除运算来说明:


对称加密

首先我对这个图大概说一下,这其实就是一个简单的乘除运算3乘以10等于30,30除以10等于3。在我们iOS层面上,我们可以把它做一个流程:
1、首先把3看做是我们两端之间要传递的数据
2、客户端通过一个加密操作,将3加密成密文30,
3、通过网络传输,将密文30传递到服务端
4、服务端用解密操作解密成我们原本的数据3。
在以上4个步骤中,大家知道,最关键一点就是加密操作和解密操作,而在这个操作中,最重要的就是这个 ”10“,也就是我们iOS中说的密钥。通过这个密钥,才可以完成加密和解密的步骤。所以我们可以简单的理解,因为在加密和解密过程中,密钥是同一个,简称为对称加密!
而非对称加密,就是加密和解密过程中,所用到的密钥不是同一个密钥,所以简称为非对称加密。对于非对称加密的历史,这里简单带过,运用到的数学知识点是欧拉定理和迪菲赫尔曼密钥交换这两大数学依据,有兴趣的同学不妨去了解下rsa来源的历史。
rsa的主要公式就是如下:


image.png
可以发现,m通过一系列操作之后,又回到的m的形态。简单的说一下,上图的mod意思就是除以一个数取它的余数。就是我们所说的取余。而这张图的意思就是m的(e乘以d)次方之后对n取余,得到还是m。

我们可以适当拆分之后:

image.png
上面这张图是不是跟我们一开始3✖️10=30/30➗10=3那张图十分类似。最不同点就在于,之前那张图用的都是10这个中间数,而这张图的e和d是不一样的。这就是非对称加密的关键点,就是e和d加密和解密的密钥不同。这就是非对称加密的来源!
所以,所谓的非对称加密,就是加密和解密的密钥不同,这样,即使我们客户端的加密密钥被泄露,得到密文的第三方也无法通过密钥解密,因为解密的密钥永远都在服务端。除非用其他手段从服务端获取解密的密钥。
这里大家都知道,非对称加密的两个密钥,我们一般都称之为公钥和私钥,我们可以用公钥加密私钥解密,也可以用私钥加密公钥解密。以上也是笔者用了一堆罗里吧嗦的话,来适当阐述下对称加密和非对称加密的概念。
这就是对称加密和非对称加密的一些概念的知识点,下一篇文章,笔者将带着大家一起来运用下rsa的加密和解密。
下一篇文章地址:iOS-(rsa)非对称加密的简单生成和运用
上一篇下一篇

猜你喜欢

热点阅读