关于加密解密你知道多少? 加密解密的方法详解
发布时间:2012-06-28 15:31:06 作者:眼下的幸福 我要评论
我们来谈谈加密和解密的事吧
;小时候做过这样的事儿,写日记的时候为了只让自己看的懂,不让他人看的懂,就想了这样办法。
日记内容: 我想255许1989喜欢201。知道这是什么意思么?呵呵通过一个很幼稚简单的算法来实现的。26个英文字母表和汉语字母的对照,很无聊吧,不过当时感觉很神秘的(小孩的心思)。不管怎么说,这也算是知道什么是加密了,什么是解密了
一、加密、解密、算法之间的关系
把一段原始数据通过某种算法处理成另一种数据(原始数据为明文,处理后的数据为密文)。明文----->密文 称之为加密;密文---->明文 称之为解密;
所以对于加密、解密来讲算法本身非常关键。但是算法是公开的,一旦有些人想要破解这个算法,而且被破解了,则所有使用这个算法的产品的都要报废了,(例如我上面的小日记,就无处躲藏了),而且替换一个算法耗费的资本也是很大的,毕竟找一个合适的算法也不是一件简单的事。因此一个加密出来的数据本身可靠与否,取决于密钥,而不是算法,因为密码的调换成本很低的。
二、什么是密钥
密钥是一种参数,它是在明文-->密文或者密文-->明文的算法中输入的数据。分为对称密钥、非对称密钥。
对称密钥加密:又称私钥加密,即发送方和接收方用同一个密钥去加密和解密数据。优势是加密/解密速度快,适合于对大数据进行加密,但是密钥管理困难(因为要发送给不同的接受者,肯定不能使用同样的密钥吧,若是接受者多,记密钥就是一项艰巨的任务了)
非对称密钥加密:又称公钥加密。需要使用不同的密钥来分别完成加密和解密操作。一个公开发布,即公钥;另一个由用户自己秘密保存,即私钥。发送方用对方的公钥加密数据,对方用自己的私钥解密。缺点在于加密/解密的速度比对称密钥慢得多。
三、加密算法
对称加密算法 公钥加密算法 单向加密算法
1 对称加密算法:与上面介绍的对称密钥加密原理是一样的。
从图中看到,发送方和接收方使用的是同一个密钥,但是想过没有,接收方如何获得密钥呢?打电话?发短信?还是写信?应该都不是吧,这样哪里还有安全性可言?(下面的公钥解密算法就可以解决这个问题)
2 公钥加密算法:与上面介绍的非对称密钥机密原理是一样的。
从图中看到,发送发和接收方使用的不是同一个密钥,发送方使用接收方的公钥进行加密,接收方使用与之配对的私钥进行解密。整个传送过程中,加密后的数据只用接收方自己可以解密,因为只有他自己拥有私钥。上面也介绍过,此种加密的耗费时间长,并不是一个理想的加密方式。
因此公钥解密算法有两个主要的功能:
1 实现密钥的交换,在对称加密算法中有这样一个问题,对方如何获得密钥,在这里就可以通过公钥算法来实现。即用公钥加密算法对密钥进行加密,再发送给对方就OK了
2 数字签名。加密可以使用公钥/私钥,相对应的就是使用私钥/公钥解密。因此若是发送方使用自己的私钥进行加密,则必须用发送方公钥进行解密,这样就证明了发送方的真实性,起到了防抵赖的作用。
注意:公钥(public key)是从私钥(private key)中提取出来的
把对称加密和公钥加密糅合在一起,可以保证数据的机密性,来源的合法性。但是数据本身的完整性该如何解决呢?若是被非法截取,然后对数据乱改一通,破坏了数据的完整性,接收方又该如何判断呢?
3 单向加密算法
准确来说,单向加密算法并不是一种加密技术,而是通过提取数据特征码,来验证数据的完整性。
特征:
雪崩效应:任何微小的改变都会产生巨大的不同,也就是数据只要有一点改变,结果就会大不相同
定长输出:不论数据是多大的,提取的特征码的长度都是一样的
上面的这三种算法,并不是独立的,应该说糅合到一起使用。最终保证数据的可靠性、完整性、机密性以及来源的合法性。
接下来演示这个过程,小明---->小美发送数据《爱的表白》呵呵
小结:提取特征码是为了保证数据的完整性;用自己的私钥加密是为了身份验证;用对方的公钥加密保证了机密性,是有对方可以解密;
三种加密的基本算法到此就OK啦,我想应该说明白了 呵呵
日记内容: 我想255许1989喜欢201。知道这是什么意思么?呵呵通过一个很幼稚简单的算法来实现的。26个英文字母表和汉语字母的对照,很无聊吧,不过当时感觉很神秘的(小孩的心思)。不管怎么说,这也算是知道什么是加密了,什么是解密了
一、加密、解密、算法之间的关系
把一段原始数据通过某种算法处理成另一种数据(原始数据为明文,处理后的数据为密文)。明文----->密文 称之为加密;密文---->明文 称之为解密;
所以对于加密、解密来讲算法本身非常关键。但是算法是公开的,一旦有些人想要破解这个算法,而且被破解了,则所有使用这个算法的产品的都要报废了,(例如我上面的小日记,就无处躲藏了),而且替换一个算法耗费的资本也是很大的,毕竟找一个合适的算法也不是一件简单的事。因此一个加密出来的数据本身可靠与否,取决于密钥,而不是算法,因为密码的调换成本很低的。
二、什么是密钥
密钥是一种参数,它是在明文-->密文或者密文-->明文的算法中输入的数据。分为对称密钥、非对称密钥。
对称密钥加密:又称私钥加密,即发送方和接收方用同一个密钥去加密和解密数据。优势是加密/解密速度快,适合于对大数据进行加密,但是密钥管理困难(因为要发送给不同的接受者,肯定不能使用同样的密钥吧,若是接受者多,记密钥就是一项艰巨的任务了)
非对称密钥加密:又称公钥加密。需要使用不同的密钥来分别完成加密和解密操作。一个公开发布,即公钥;另一个由用户自己秘密保存,即私钥。发送方用对方的公钥加密数据,对方用自己的私钥解密。缺点在于加密/解密的速度比对称密钥慢得多。
三、加密算法
对称加密算法 公钥加密算法 单向加密算法
1 对称加密算法:与上面介绍的对称密钥加密原理是一样的。
从图中看到,发送方和接收方使用的是同一个密钥,但是想过没有,接收方如何获得密钥呢?打电话?发短信?还是写信?应该都不是吧,这样哪里还有安全性可言?(下面的公钥解密算法就可以解决这个问题)
2 公钥加密算法:与上面介绍的非对称密钥机密原理是一样的。
从图中看到,发送发和接收方使用的不是同一个密钥,发送方使用接收方的公钥进行加密,接收方使用与之配对的私钥进行解密。整个传送过程中,加密后的数据只用接收方自己可以解密,因为只有他自己拥有私钥。上面也介绍过,此种加密的耗费时间长,并不是一个理想的加密方式。
因此公钥解密算法有两个主要的功能:
1 实现密钥的交换,在对称加密算法中有这样一个问题,对方如何获得密钥,在这里就可以通过公钥算法来实现。即用公钥加密算法对密钥进行加密,再发送给对方就OK了
2 数字签名。加密可以使用公钥/私钥,相对应的就是使用私钥/公钥解密。因此若是发送方使用自己的私钥进行加密,则必须用发送方公钥进行解密,这样就证明了发送方的真实性,起到了防抵赖的作用。
注意:公钥(public key)是从私钥(private key)中提取出来的
把对称加密和公钥加密糅合在一起,可以保证数据的机密性,来源的合法性。但是数据本身的完整性该如何解决呢?若是被非法截取,然后对数据乱改一通,破坏了数据的完整性,接收方又该如何判断呢?
3 单向加密算法
准确来说,单向加密算法并不是一种加密技术,而是通过提取数据特征码,来验证数据的完整性。
特征:
雪崩效应:任何微小的改变都会产生巨大的不同,也就是数据只要有一点改变,结果就会大不相同
定长输出:不论数据是多大的,提取的特征码的长度都是一样的
上面的这三种算法,并不是独立的,应该说糅合到一起使用。最终保证数据的可靠性、完整性、机密性以及来源的合法性。
接下来演示这个过程,小明---->小美发送数据《爱的表白》呵呵
小结:提取特征码是为了保证数据的完整性;用自己的私钥加密是为了身份验证;用对方的公钥加密保证了机密性,是有对方可以解密;
三种加密的基本算法到此就OK啦,我想应该说明白了 呵呵
相关文章
- “CMOS密码”就是通常所说的“开机密码”,主要是为了防止别人使用自已的计算机,设置的一个屏障2023-08-01
QQScreenShot之逆向并提取QQ截图--OCR和其他功能
上一篇文章逆向并提取QQ截图没有提取OCR功能, 再次逆向我发现是可以本地调用QQ的OCR的,但翻译按钮确实没啥用, 于是Patch了翻译按钮事件, 改为了将截图用百度以图搜图搜索.2023-02-04- QQ截图是我用过的最好用的截图工具, 由于基本不在电脑上登QQ了, 于是就想将其提取出独立版目前除了屏幕录制功能其他都逆出来了, 在此分享一下2023-02-04
非系统分区使用BitLocker加密导致软件无法安装的解决方法
很多电脑用户在考虑自己电脑磁盘分区安全时会采用 Windows 自带的 BitLocker 加密工具对电脑磁盘分区进行加密。但有些人加密后就会忘记自己设置的密码从而导致在安装其它软2020-11-25防止离职员工带走客户、防止内部员工泄密、避免华为员工泄密事件的发生
这篇文章为大家详细介绍了如何才能防止离职员工带走客户、防止内部员工泄密、避免华为员工泄密事件的发生,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2017-06-27彻底防止计算机泄密、重要涉密人员离职泄密、涉密人员离岗离职前防范举
近些年企业商业机密泄漏的事件屡有发生,这篇文章主要教大家如何彻底防止计算机泄密、重要涉密人员离职泄密、告诉大家涉密人员离岗离职前的防范举措,具有一定的参考价值,2017-06-27- 最近有电脑用户反应量子计算机可以破解下载的所有的加密算法吗?其实也不是不可以,下面虚拟就为大家讲解买台量子计算机,如何分分钟破解加密算法2016-09-26
怎么破解Webshell密码 Burpsuite破解Webshell密码图文教程
webshell是以asp、php、jsp或者cgi等网页文件形式存在的一种命令执行环境,一种网页后门。黑客通常会通过它控制别人网络服务器,那么怎么破解webshell密码呢?一起来看看吧2016-09-19- 本文讨论了针对Linux系统全盘加密的冷启动攻击,大家都认为这种攻击是可行的,但执行这么一次攻击有多难?攻击的可行性有多少呢?需要的朋友可以参考下2015-12-28
防止泄露公司机密、企业数据防泄密软件排名、电脑文件加密软件排行
面对日渐严重的内部泄密事件,我们如何守护企业的核心信息,如何防止内部泄密也就成了摆在各个企业领导面前的一大问题。其实,针对内网安全,防止内部信息泄漏早已有了比较2015-12-17
最新评论