A. 什么是对称加密什么是非对称加密
对称加密:举个例子来简要说明一下对称加密的工作过程。甲和乙是一对生意搭档,他们住在不同的城市。由于生意上的需要,他们经常会相互之间邮寄重要的货物。为了保证货物的安全,他们商定制作一个保险盒,将物品放入其中。他们打造了两把相同的钥匙分别保管,以便在收到包裹时用这个钥匙打开保险盒,以及在邮寄货物前用这把钥匙锁上保险盒。
上面是一个将重要资源安全传递到目的地的传统方式,只要甲乙小心保管好钥匙,那么就算有人得到保险盒,也无法打开。这个思想被用到了现代计算机通信的信息加密中。在对称加密中,数据发送方将明文(原始数据)和加密密钥一起经过特殊加密算法处理后,使其变成复杂的加密密文发送出去。接收方收到密文后,若想解读原文,则需要使用加密密钥及相同算法的逆算法对密文进行解密,才能使其恢复成可读明文。在对称加密算法中,使用的密钥只有一个,发收信双方都使用这个密钥对数据进行加密和解密。
非对称加密:美国学者Dime和Henman为解决信息公开传送和密钥管理问题,提出一种新的密钥交换协议,允许在不安全的媒体上的通讯双方交换信息,安全地达成一致的密钥,这就是“公开密钥系统”。
内容转载与网络,如有问题请联系我删除
B. 对称加密和非对称加密的主要区别
对称加密算法是应用较早的加密算法,技术成熟。在对称加密算法中,数据发信方将明文(原始数据)和加密密钥一起经过特殊加密算法处理后,使其变成复杂的加密密文发送出去。收信方收到密文后,若想解读原文,则需要使用加密用过的密钥及相同算法的逆算法对密文进行解密,才能使其恢复成可读明文。在对称加密算法中,使用的密钥只有一个,发收信双方都使用这个密钥对数据进行加密和解密,这就要求解密方事先必须知道加密密钥。对称加密算法的特点是算法公开、计算量小、加密速度快、加密效率高。不足之处是,交易双方都使用同样钥匙,安全性得不到保证。此外,每对用户每次使用对称加密算法时,都需要使用其他人不知道的惟一钥匙,这会使得发收信双方所拥有的钥匙数量成几何级数增长,密钥管理成为用户的负担。对称加密算法在分布式网络系统上使用较为困难,主要是因为密钥管理困难,使用成本较高。
C. 什么是对称和非对称加密
对称加密就是加密和解密都使用相同的密钥;反过来,非对称加密就是加密和解密使用不同的密钥。
D. 对称加密和非对称加密的区别
对称加密的加密和解密密钥都是一样的。而非对称加密的加密和解密密钥是不一样的。它们的算法也是不同的。
l
对称加密算法
对称加密算法是应用较早的加密算法,技术成熟。在对称加密算法中,数据发信方将明文(原始数据)和加密密钥一起经过特殊加密算法处理后,使其变成复杂的加密密文发送出去。收信方收到密文后,若想解读原文,则需要使用加密用过的密钥及相同算法的逆算法对密文进行解密,才能使其恢复成可读明文。在对称加密算法中,使用的密钥只有一个,发收信双方都使用这个密钥对数据进行加密和解密,这就要求解密方事先必须知道加密密钥。对称加密算法的特点是算法公开、计算量小、加密速度快、加密效率高。不足之处是,交易双方都使用同样钥匙,安全性得不到保证。此外,每对用户每次使用对称加密算法时,都需要使用其他人不知道的惟一钥匙,这会使得发收信双方所拥有的钥匙数量成几何级数增长,密钥管理成为用户的负担。对称加密算法在分布式网络系统上使用较为困难,主要是因为密钥管理困难,使用成本较高。在计算机专网系统中广泛使用的对称加密算法有des、idea和aes。
传统的des由于只有56位的密钥,因此已经不适应当今分布式开放网络对数据加密安全性的要求。1997年rsa数据安全公司发起了一项“des挑战赛”的活动,志愿者四次分别用四个月、41天、56个小时和22个小时破解了其用56位密钥des算法加密的密文。即des加密算法在计算机速度提升后的今天被认为是不安全的。
aes是美国联邦政府采用的商业及政府数据加密标准,预计将在未来几十年里代替des在各个领域中得到广泛应用。aes提供128位密钥,因此,128位aes的加密强度是56位des加密强度的1021倍还多。假设可以制造一部可以在1秒内破解des密码的机器,那么使用这台机器破解一个128位aes密码需要大约149亿万年的时间。(更深一步比较而言,宇宙一般被认为存在了还不到200亿年)因此可以预计,美国国家标准局倡导的aes即将作为新标准取代des。
l
不对称加密算法
不对称加密算法使用两把完全不同但又是完全匹配的一对钥匙—公钥和私钥。在使用不对称加密算法加密文件时,只有使用匹配的一对公钥和私钥,才能完成对明文的加密和解密过程。加密明文时采用公钥加密,解密密文时使用私钥才能完成,而且发信方(加密者)知道收信方的公钥,只有收信方(解密者)才是唯一知道自己私钥的人。不对称加密算法的基本原理是,如果发信方想发送只有收信方才能解读的加密信息,发信方必须首先知道收信方的公钥,然后利用收信方的公钥来加密原文;收信方收到加密密文后,使用自己的私钥才能解密密文。显然,采用不对称加密算法,收发信双方在通信之前,收信方必须将自己早已随机生成的公钥送给发信方,而自己保留私钥。由于不对称算法拥有两个密钥,因而特别适用于分布式系统中的数据加密。广泛应用的不对称加密算法有rsa算法和美国国家标准局提出的dsa。以不对称加密算法为基础的加密技术应用非常广泛。
E. 对称加密、非对称加密、摘要、数字签名、数字证书
作为一个开发人员,或多或少都听说过对称加密、非对称加密、摘要、数字签名、数字证书这几个概念,它们是用来保证在互联网通信过程中数据传输安全的。有人可能会有疑惑,我给传输数据加个密不就安全了,为什么还要搞这么多花样出来?本文主要通过一个案例来讲解这几个概念的实际作用。
在此之前,我先简单介绍一下这几个概念。
对称加密是指用来加密和解密的是同一个秘钥。其特点是加密速度快,但是秘钥容易被黑客截获,所以安全性不高。常见的有AES、DES算法。
非对称加密是指用来加密和解密的是不同的秘钥,它们是成对出现的,称为公钥和私钥,知道其中一个秘钥是无法推导出另外一个秘钥的。用公钥加密的内容需要用私钥才能解密,用私钥加密的内容需要用公钥才能解密。非对称加密的特点是安全性高,缺点是加密速度慢。常见的有RSA算法。
所谓的摘要就是一段信息或者一个文件通过某个哈希算法(也叫摘要算法)而得到的一串字符。摘要算法的特点就是不同的文件计算出的摘要是不同的(也有可能相同,但是可能性非常非常低),比如一个1G的视频文件,哪怕只是改动其中一个字节,最后计算得到的摘要也是完全不同的,所以摘要算法通常是用来判断文件是否被篡改过。其还有一个特点就是通过摘要是无法推导出源文件的信息的。常用的摘要算法有MD5、SHA等。
数字签名就是一个文件的摘要加密后的信息。数字签名是和源文件一起发送给接收方的,接收方收到后对文件用摘要算法算出一个摘要,然后和数字签名中的摘要进行比对,两者不一致的话说明文件被篡改了。
数字证书是一个经证书授权中心生成的文件,数字证书里一般会包含公钥、公钥拥有者名称、CA的数字签名、有效期、授权中心名称、证书序列号等信息。其中CA的数字签名是验证证书是否被篡改的关键,它其实就是对证书里面除了CA的数字签名以外的内容进行摘要算法得到一个摘要,然后CA机构用他自己的私钥对这个摘要进行加密就生成了CA的数字签名,CA机构会公开它的公钥,验证证书时就是用这个公钥解密CA的数字签名,然后用来验证证书是否被篡改。
场景:
张三要找人装修一个房子,原则是谁的出价便宜就给谁装修,所以对于报价文件就是属于机密文件。下面我们来看下不同的方式传输报价文件都会有什么风险。
现在李四想接这个装修的活,他做了一份报价文件(文件名: lisi.txt ,文件内容: 报价50万 )。然后李四用一个对称秘钥 123 对这个文件进行加密。最后李四将这个秘钥和加密的文件发给张三,张三收到后用这个秘钥解密,知道了李四的报价是50万。
同时王五也想接这个装修的活,他本来是想报价55万的,但是又担心报价太高而丢掉这个活。恰巧王五是个黑客高手,于是他截获了李四发给张三的秘钥和加密文件,知道了李四报价是50万。最后王五将自己的报价改成了49万发给张三,结果王五接下了这个装修活。
结论:
用对称加密的话,一旦秘钥被黑客截获,加密就形同虚设,所以安全性比较低。
首先张三会生成一对秘钥,私钥是 zhangsan1 ,公钥是 zhangsan2 ,私钥张三自己保存,将公钥公布出去。
李四将报价文件 list.txt 用张三公布的公钥 zhangsan2 进行加密后传给张三,然后张三用私钥 zhangsan1 进行解密得到李四的报价是50万。
这个时候即使王五截获到了李四发给张三的报价文件,由于王五没有张三的私钥,所以他是无法解密文件的,也就无法知道李四的报价。最后王五因为报价55万而丢掉了这个装修的机会。
所以用非对称加密是可以保证数据传输安全的。不过这里说一句题外话,既然非对称加密安全性高,那为什么不淘汰掉对称加密呢?其实关键就在于加密速度,非对称加密计算量很大,所以加密速度是很慢的,如果发送消息非常频繁,使用非对称加密的话就会对性能造成很大影响。所以在实际开发过程中通常是对称加密和非对称加密结合使用的。也就是对称加密的秘钥是用非对称加密后发送的,这样能保证对称加密的秘钥不被黑客截获,然后在发送业务数据时就用对称加密。这样既保证了安全性也保证了加密速度。
结论:
非对称加密可以防止黑客截获加密后的内容,安全性高。
前面都说了非对称加密是安全的,那为什么还要数字签名呢?
设想一下,王五截获了李四的报价文件,王五虽然无法知道李四的实际报价,但是他完全可以伪造一份李四的报价(文件名: lisi.txt ,文件内容: 报价60万 ),然后将这份伪造文件用张三公布的公钥 zhangsan2 进行加密后替换原来的报价文件。张三收到后解密发现报价是60万,于是张三就以为李四报的价是60万,最后决定将装修的活给报价55万的王五来做。
发生这个问题的关键就在于张三无法知道报价文件是否被篡改过。要解决这个问题就需要用到数字签名。
首先李四需要自己生成一对非对称加密的秘钥,私钥 lisi1 自己保存,公钥 lisi2 发给张三。然后李四对自己的报价文件通过摘要算法得到一个摘要(假设摘要是 aaa ),再用自己的私钥 lisi1 加密这个摘要就得到了报价文件的数字签名,最后将加密的报价文件和数字签名一起发给张三,张三收到后先用李四发过来的公钥 lisi2 解密数字签名得到摘要 aaa ,然后用自己的私钥 zhangsan1 解密加密的文件得到报价源文件,然后对报价源文件进行摘要算法,看计算得到的结果是不是 aaa ,如果不是 aaa 的话就说明报价文件被篡改了。
在这种情况下,如果王五截获了李四发给张三的文件。王五是无法解密报价文件的。如果王五伪造一份报价文件的话,等张三收到后就会发现报价文件和数字签名不匹配。那王五能不能伪造报价文件的同时也伪造签名呢?因为王五没有李四的私钥,所以没法对伪造的报价文件的摘要进行加密,所以也就没法伪造签名。
结论:
非对称加密虽然能确保加密文件内容不被窃取,但不能保证文件不被篡改。数字签名就是用来验证文件是否被篡改过。
既然非对称加密可以保证文件内容的安全性,数字签名又可以保证文件不被篡改,那还要数字证书有什么用呢?
我们再来设想一下,王五自己也生成了一对用于非对称加密的秘钥,私钥是 wangwu1 ,公钥是 wangwu2 。前面李四将自己的公钥 lisi2 发给张三的过程中被王五给截获了,王五用自己的公钥 wangwu2 替换了李四的公钥 lisi2 ,所以张三最后收到的公钥实际上是王五的,但张三对这并不知情。后面李四发的数字签名和加密的报价文件都被王五截获,并且王五伪造了一份报价文件,同时用自己的私钥加密报价文件的摘要生成伪造的签名并发给张三,张三收到后进行验证发现数字签名和报价文件是匹配的,就以为这份报价文件是真实的。
出现这个问题的关键就在于张三没法确认收到的公钥到底是不是李四发的,这个时候数字证书就起到作用了。李四到权威的数字证书机构申请数字证书,证书里面包含了公钥( lisi2 )和公钥的拥有者( 李四 )等相关信息,然后李四将证书发给张三,张三通过证书里面的信息就可以知道公钥到底是不是李四的了。
那证书在发送过程中有没有可能被王五截获并篡改呢?要知道证书里面还包含CA的数字签名,这个签名是证书机构用他们自己的私钥对证书的摘要进行加密的,而公钥是公开的。所以即便王五截获并篡改了证书内容,他也无法伪造证书机构的签名,张三在收到证书后通过验证签名也会发现证书被篡改了。所以到这一步才能保证数据传输的真正安全。
F. 什么是对称密码和非对密码,分析这两种密码体系的特点和应用领域
一、对称密码
1、定义:采用单钥密码系统的加密方法,同一个密钥可以同时用作信息的加密和解密,这种加密方法称为对称加密,也称为单密钥加密。
2、特点:算法公开、计算量小、加密速度快、加密效率高。
3、应用领域:由于其速度快,对称性加密通常在消息发送方需要加密大量数据时使用。
二、非对密码
1、定义:非对称密码指的是非对称密码体制中使用的密码。
2、特点:
(1)是加密密钥和解密密钥不同 ,并且难以互推 。
(2)是有一个密钥是公开的 ,即公钥 ,而另一个密钥是保密的 ,即私钥。
3、应用领域:很好的解决了密钥的分发和管理的问题 ,并且它还能够实现数字签名。
(6)计算机网络对称加密和非对称加密扩展阅读
对称加密算法特征
1、加密方和解密方使用同一个密钥;
2、加密解密的速度比较快,适合数据比较长时的使用;
3、密钥传输的过程不安全,且容易被破解,密钥管理也比较麻烦
G. 简要说说对称加密和非对称加密的原理以及区别是什么
对称加密的原理是数据发送方将明文(原始数据)和加密密钥一起经过特殊加密算法处理后,使其变成复杂的加密密文发送出去。接收方收到密文后,若想解读原文,则需要使用加密密钥及相同算法的逆算法对密文进行解密,才能使其恢复成可读明文。
非对称加密的原理是甲方首先生成一对密钥同时将其中的一把作为公开密钥;得到公开密钥的乙方再使用该密钥对需要加密的信息进行加密后再发送给甲方;甲方再使用另一把对应的私有密钥对加密后的信息进行解密,这样就实现了机密数据传输。
对称加密和非对称加密的区别为:密钥不同、安全性不同、数字签名不同。
一、密钥不同
1、对称加密:对称加密加密和解密使用同一个密钥。
2、非对称加密:非对称加密加密和解密所使用的不是同一个密钥,需要两个密钥来进行加密和解密。
二、安全性不同
1、对称加密:对称加密如果用于通过网络传输加密文件,那么不管使用任何方法将密钥告诉对方,都有可能被窃听。
2、非对称加密:非对称加密因为它包含有两个密钥,且仅有其中的“公钥”是可以被公开的,接收方只需要使用自己已持有的私钥进行解密,这样就可以很好的避免密钥在传输过程中产生的安全问题。
三、数字签名不同
1、对称加密:对称加密不可以用于数字签名和数字鉴别。
2、非对称加密:非对称加密可以用于数字签名和数字鉴别。
H. 对称加密算法和非对称加密算法的区别是什么
对称算法加解密速度快,密钥对第3方保密,密钥分发是个问题;
非对称算法,密钥成对生成,公钥对外发布,但是对大数据的加解密速度比对称算法慢.
I. 对称加密与非对称加密算法的异同点
对称加密算法
对称加密算法是应用较早的加密算法,技术成熟。在对称加密算法中,数据发信方将明文(原始数据)和加密密钥一起经过特殊加密算法处理后,使其变成复杂的加密密文发送出去。收信方收到密文后,若想解读原文,则需要使用加密用过的密钥及相同算法的逆算法对密文进行解密,才能使其恢复成可读明文。在对称加密算法中,使用的密钥只有一个,发收信双方都使用这个密钥对数据进行加密和解密,这就要求解密方事先必须知道加密密钥。
对称加密算法的特点是算法公开、计算量小、加密速度快、加密效率高。不足之处是,交易双方都使用同样钥匙,安全性得不到保证。此外,每对用户每次使用对称加密算法时,都需要使用其他人不知道的惟一钥匙,这会使得发收信双方所拥有的钥匙数量成几何级数增长,密钥管理成为用户的负担。对称加密算法在分布式网络系统上使用较为困难,主要是因为密钥管理困难,使用成本较高。在计算机专网系统中广泛使用的对称加密算法有DES、IDEA和AES。
不对称加密算法
不对称加密算法使用两把完全不同但又是完全匹配的一对钥匙—公钥和私钥。在使用不对称加密算法加密文件时,只有使用匹配的一对公钥和私钥,才能完成对明文的加密和解密过程。加密明文时采用公钥加密,解密密文时使用私钥才能完成,而且发信方(加密者)知道收信方的公钥,只有收信方(解密者)才是唯一知道自己私钥的人。不对称加密算法的基本原理是,如果发信方想发送只有收信方才能解读的加密信息,发信方必须首先知道收信方的公钥,然后利用收信方的公钥来加密原文;收信方收到加密密文后,使用自己的私钥才能解密密文。显然,采用不对称加密算法,收发信双方在通信之前,收信方必须将自己早已随机生成的公钥送给发信方,而自己保留私钥。由于不对称算法拥有两个密钥,因而特别适用于分布式系统中的数据加密。广泛应用的不对称加密算法有RSA算法和美国国家标准局提出的DSA。以不对称加密算法为基础的加密技术应用非常广泛。