欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

关于加密解密你知道多少? 加密解密的方法详解

程序员文章站 2022-07-10 08:27:25
我们来谈谈加密和解密的事吧... 12-06-28...
;小时候做过这样的事儿,写日记的时候为了只让自己看的懂,不让他人看的懂,就想了这样办法。
      日记内容: 我想255许1989喜欢201。知道这是什么意思么?呵呵通过一个很幼稚简单的算法来实现的。26个英文字母表和汉语字母的对照,很无聊吧,不过当时感觉很神秘的(小孩的心思)。不管怎么说,这也算是知道什么是加密了,什么是解密了

一、加密、解密、算法之间的关系     
把一段原始数据通过某种算法处理成另一种数据(原始数据为明文,处理后的数据为密文)。明文----->密文 称之为加密;密文---->明文 称之为解密;
 
关于加密解密你知道多少? 加密解密的方法详解
      所以对于加密、解密来讲算法本身非常关键。但是算法是公开的,一旦有些人想要破解这个算法,而且被破解了,则所有使用这个算法的产品的都要报废了,(例如我上面的小日记,就无处躲藏了关于加密解密你知道多少? 加密解密的方法详解),而且替换一个算法耗费的资本也是很大的,毕竟找一个合适的算法也不是一件简单的事。因此一个加密出来的数据本身可靠与否,取决于密钥,而不是算法,因为密码的调换成本很低的。

二、什么是密钥
       密钥是一种参数,它是在明文-->密文或者密文-->明文的算法中输入的数据。分为对称密钥、非对称密钥。
       对称密钥加密:又称私钥加密,即发送方和接收方用同一个密钥去加密和解密数据。优势是加密/解密速度快,适合于对大数据进行加密,但是密钥管理困难(因为要发送给不同的接受者,肯定不能使用同样的密钥吧,若是接受者多,记密钥就是一项艰巨的任务了)
       非对称密钥加密:又称公钥加密。需要使用不同的密钥来分别完成加密和解密操作。一个公开发布,即公钥;另一个由用户自己秘密保存,即私钥。发送方用对方的公钥加密数据,对方用自己的私钥解密。缺点在于加密/解密的速度比对称密钥慢得多。

 三、加密算法
对称加密算法 公钥加密算法 单向加密算法
1 对称加密算法:与上面介绍的对称密钥加密原理是一样的。
关于加密解密你知道多少? 加密解密的方法详解
      从图中看到,发送方和接收方使用的是同一个密钥,但是想过没有,接收方如何获得密钥呢?打电话?发短信?还是写信?应该都不是吧,这样哪里还有安全性可言?(下面的公钥解密算法就可以解决这个问题)
2 公钥加密算法:与上面介绍的非对称密钥机密原理是一样的。
关于加密解密你知道多少? 加密解密的方法详解
        从图中看到,发送发和接收方使用的不是同一个密钥,发送方使用接收方的公钥进行加密,接收方使用与之配对的私钥进行解密。整个传送过程中,加密后的数据只用接收方自己可以解密,因为只有他自己拥有私钥。上面也介绍过,此种加密的耗费时间长,并不是一个理想的加密方式。
        因此公钥解密算法有两个主要的功能:
        1 实现密钥的交换,在对称加密算法中有这样一个问题,对方如何获得密钥,在这里就可以通过公钥算法来实现。即用公钥加密算法对密钥进行加密,再发送给对方就ok了
       2 数字签名。加密可以使用公钥/私钥,相对应的就是使用私钥/公钥解密。因此若是发送方使用自己的私钥进行加密,则必须用发送方公钥进行解密,这样就证明了发送方的真实性,起到了防抵赖的作用。
    注意:公钥(public key)是从私钥(private key)中提取出来的
        把对称加密和公钥加密糅合在一起,可以保证数据的机密性,来源的合法性。但是数据本身的完整性该如何解决呢?若是被非法截取,然后对数据乱改一通,破坏了数据的完整性,接收方又该如何判断呢?
3 单向加密算法
     准确来说,单向加密算法并不是一种加密技术,而是通过提取数据特征码,来验证数据的完整性。
      特征:
        雪崩效应:任何微小的改变都会产生巨大的不同,也就是数据只要有一点改变,结果就会大不相同
       定长输出:不论数据是多大的,提取的特征码的长度都是一样的
        上面的这三种算法,并不是独立的,应该说糅合到一起使用。最终保证数据的可靠性、完整性、机密性以及来源的合法性。
          接下来演示这个过程,小明---->小美发送数据《爱的表白》呵呵
关于加密解密你知道多少? 加密解密的方法详解
       小结:提取特征码是为了保证数据的完整性;用自己的私钥加密是为了身份验证;用对方的公钥加密保证了机密性,是有对方可以解密;
       三种加密的基本算法到此就ok啦,我想应该说明白了 呵呵
相关标签: 加密解密详解