对称加密是最快速、最简单的一种加密方式,加密(encryption)与解密(decryption)用的是同样的密钥(secret key)。对称加密有很多种算法,由于它效率很高,所以被广泛使用在很多加密协议的核心当中。
对称加密通常使用的是相对较小的密钥,一般小于256 bit。因为密钥越大,加密越强,但加密与解密的过程越慢。如果你只用1 bit来做这个密钥,那黑客们可以先试着用0来解密,不行的话就再用1解;但如果你的密钥有1 MB大,黑客们可能永远也无法破解,但加密和解密的过程要花费很长的时间。密钥的大小既要照顾到安全性,也要照顾到效率,是一个trade-off。
对称加密的一大缺点是密钥的管理与分配,换句话说,如何把密钥发送到需要解密你的消息的人的手里是一个问题。在发送密钥的过程中,密钥有很大的风险会被黑客们拦截。现实中通常的做法是将对称加密的密钥进行非对称加密,然后传送给需要它的人。
常用的有:DES、AES
非对称加密为数据的加密与解密提供了一个非常安全的方法,它使用了一对密钥,公钥(public key)和私钥(private key)。私钥只能由一方安全保管,不能外泄,而公钥则可以发给任何请求它的人。非对称加密使用这对密钥中的一个进行加密,而解密则需要另一个密钥。比如,你向银行请求公钥,银行将公钥发给你,你使用公钥对消息加密,那么只有私钥的持有人--银行才能对你的消息解密。与对称加密不同的是,银行不需要将私钥通过网络发送出去,因此安全性大大提高。
常用的有:RSA
(1) 对称加密加密与解密使用的是同样的密钥,所以速度快,但由于需要将密钥在网络传输,所以安全性不高。
(2) 非对称加密使用了一对密钥,公钥与私钥,所以安全性高,但加密与解密速度慢。
(3) 解决的办法是将对称加密的密钥使用非对称加密的公钥进行加密,然后发送出去,接收方使用私钥进行解密得到对称加密的密钥,然后双方可以使用对称加密来进行沟通。
在现代密码体制中加密和解密是采用不同的密钥(公开密钥),也就是非对称密钥密码系统,每个通信方均需要两个密钥,即公钥和私钥,这两把密钥可以互为加解密。公钥是公开的,不需要保密,而私钥是由个人自己持有,并且必须妥善保管和注意保密。
公钥私钥的原则:
非对称密钥密码的主要应用就是公钥加密和公钥认证,而公钥加密的过程和公钥认证的过程是不一样的,下面我就详细讲解一下两者的区别。
比如有两个用户Alice和Bob,Alice想把一段明文通过双钥加密的技术发送给Bob,Bob有一对公钥和私钥,那么加密解密的过程如下:
上面的过程可以用下图表示,Alice使用Bob的公钥进行加密,Bob用自己的私钥进行解密。
身份认证和加密就不同了,主要用户鉴别用户的真伪。这里我们只要能够鉴别一个用户的私钥是正确的,就可以鉴别这个用户的真伪。
还是Alice和Bob这两个用户,Alice想让Bob知道自己是真实的Alice,而不是假冒的,因此Alice只要使用公钥密码学对文件签名发送 给Bob,Bob使用Alice的公钥对文件进行解密,如果可以解密成功,则证明Alice的私钥是正确的,因而就完成了对Alice的身份鉴别。整个身 份认证的过程如下:
上面的过程可以用下图表示,Alice使用自己的私钥加密,Bob用Alice的公钥进行解密。
DES是Data Encryption Standard(数据加密标准)的缩写,DES算法为密码体制中的对称密码体制。它是由IBM公司研制的一种加密算法,美国国家标准局于1977年公布把它作为非机要部门使用的数据加密标准,二十年来,它一直活跃在国际保密通信的舞台上,扮演了十分重要的角色。
DES是一个分组加密算法,他以64位为分组对数据加密。同时DES也是一个对称算法:加密和解密用的是同一个算法。它的密匙长度是56位(因为每个第8位都用作奇偶校验),密匙可以是任意的56位的数,而且可以任意时候改变。其中有极少量的数被认为是弱密匙,但是很容易避开他们。所以保密性依赖于密钥。
特点:分组比较短、密钥太短、密码生命周期短、运算速度较慢。 DES算法具有极高安全性,到目前为止,除了用穷举搜索法对DES算法进行攻击外,还没有发现更有效的办法。而56位长的密钥的穷举空间为256,这意味着如果一台计算机的速度是每一秒种检测一百万个密钥,则它搜索完全部密钥就需要将近2285年的时间。
DES现在已经不视为一种安全的加密算法,因为它使用的56位秘钥过短,以现代计算能力,24小时内即可能被破解。也有一些分析报告提出了该算法的理论上的弱点,虽然实际情况未必出现。该标准在最近已经被 高级加密标准 (AES)所取代。
高级加密标准(Advanced Encryption Standard,AES),又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准。这个标准用来替代原先的 DES ,已经被多方分析且广为全世界所使用。经过五年的甄选流程,高级加密标准由美国国家标准与技术研究院(NIST)于2001年11月26日发布于FIPS PUB 197,并在2002年5月26日成为有效的标准。2006年,高级加密标准已然成为对称密钥加密中最流行的算法之一。
AES的区块长度固定为128 位元 ,密钥长度则可以是128,192或256位元。
RSA加密算法是一种 非对称加密算法 。在 公钥加密标准 和 电子商业 中RSA被广泛使用。RSA是 1977年 由 罗纳德·李维斯特 (Ron Rivest)、 阿迪·萨莫尔 (Adi Shamir)和 伦纳德·阿德曼 (Leonard Adleman)一起提出的。当时他们三人都在 麻省理工学院 工作。RSA就是他们三人姓氏开头字母拼在一起组成的。
RSA算法利用两个很大的质数相乘所产生的乘积来加密。这两个质数无论哪一个先与原文件编码相乘,对文件加密,均可由另一个质数再相乘来解密。但要用一个 质数来求出另一个质数,则是十分困难的。因此将这一对质数称为密钥对(Key Pair)。在加密应用时,某个用户总是将一个密钥公开,让需发信的人员将信息用其公共密钥加密后发给该用户,而一旦信息加密后,只有用该用户一个人知道 的私用密钥才能解密。具有数字凭证身份的人员的公共密钥可在网上查到,亦可在请对方发信息时主动将公共密钥传给对方,这样保证在Internet上传输信 息的保密和安全。
开发中:
客户端发送的敏感数据时需要加密处理,客户端数据采用公钥加密,服务器用对应的秘钥解密,客户端保存公钥,服务器保存秘钥
服务器发送的数据也要加密时,服务器端数据采用秘钥加密,客户端数据用对应的公钥加密,客户端保存公钥,服务器保存秘钥
服务器要认证客户端时,客户端数据采用秘钥加密,服务器用对应的公钥解密,客户端保留秘钥,服务器保留公钥
常用加解密方案:
如果想要更加安全一点,可以在仿照微信的通信,每次都在传输数据上加上一个32为随机数和并将数据按照一定的规则生成一个校验sign
des属于对称密码体制。
DES算法为密码体制中的对称密码体制,又被称为美国数据加密标准,是1972年美国IBM公司研制的对称密码体制加密算法。明文按64位进行分组,密钥长64位,密钥事实上是56位参与DES运算(第8、16、24、32、40、48、56、64位是校验位,使得每个密钥都有奇数个1)分组后的明文组和56位的密钥按位替代或交换的方法形成密文组的加密方法。
其入口参数有三个:key、data、mode。key为加密解密使用的密钥,data为加密解密的数据,mode为其工作模式。当模式为加密模式时,明文按照64位进行分组,形成明文组,key用于对数据加密,当模式为解密模式时,key用于对数据解密。实际运用中,密钥只用到了64位中的56位,这样才具有高的安全性。
密码体制从原理上可分为2大类,即单钥密码体制和双钥密码体制。
单钥密码体制是指信息的发送方和接受方共享一把钥匙。在现代网络通信条件下,该 体制的一个关键问题是如何将密钥安全可靠地分配给通信的对方,并进行密钥管理。因此单 钥密码体制在实际应用中除了要设计出满足安全性要求的加密算法外,还必须解决好密码的 产生、分配、传输、存储和销毁等多方面问题。单钥密码可分为古典密码、流密码和分组密 码,DES就属于分组密码中的一种。
双钥密码体制又称公钥密码体制,其最大特点是采用2个密钥将加密、解密分开。在 双钥体制下,每个用户都拥有2把密钥,—个公开,一个自己专用。当使用用户专用密钥加 密,而用该用户公开密钥解密时,则可实现一个被加密的消息能被多个用户解读;当使用 用户公开密钥加密,而用该用户专用密钥解密时,则可实现传输的信息只被一个用户解读。 前者常被用于数字签名,后者常被用于保密通信。
DES算法详述
DES算法把64位的明文输入块变为64位的密文输出块,他所使用的密钥也是64位,DES对64 位的明文分组进行操作。通过一个初始置换,将明文分组分成左半部分和右半部分,各32位 长。然后进行16轮相同的运算,这些相同的运算被称为函数f,在运算过程中数据和密 钥相结合。经过16轮运算后左、右部分在一起经过一个置换(初始置换的逆置换),这样算 法就完成了。
公开密钥密码体制是现代密码学的最重要的发明和进展。公开密钥密码体制对信息发送与接收人的真实身份的验证、对所发出/接收信息在事后的不可抵赖以及保障数据的完整性有着重要意义。
公钥密码体制与对称密码体制都是密码体制中的一种。
公钥密码体制与对称密码体制的主要区别如下:
一、性质不同
1、公钥密码体制:是现代密码学的最重要的发明和进展。
2、对称密码体制:是一种传统密码体制,也称为私钥密码体制。
二、作用不同
1、公钥密码体制:努力使互联网安全可靠,旨在解决DES算法秘密密钥的利用公开信道传输分发的难题。
2、对称密码体制:由于对称加密系统仅能用于对数据进行加解密处理,提供数据的机密性,不能用于数字签名。因而人们迫切需要寻找新的密码体制。
三、特点不同
1、公钥密码体制:由于公钥算法不需要联机密钥服务器,密钥分配协议简单,所以极大简化了密钥管理。除加密功能外,公钥系统还可以提供数字签名。
2、对称密码体制:计算开销小,加密速度快,是用于信息加密的主要算法。
参考资料来源:
百度百科-公钥密码体制
百度百科-密码体制
下列算法中,不属于公开密钥加密算法的是 DES 。
解析:常用的加密算法依据所使用的秘钥数分为单钥和双钥加密体制,也称私钥和公钥加密算法。ECC、DSA 和 RSA 都属于公开密钥加密算法,DES 是典型的私钥加密体制。
DES 对称加密的原理:
DES 使用一个 56 位的密钥以及附加的 8 位奇偶校验位,产生最大 64 位的分组大小。这是一个迭代的分组密码,使用称为 Feistel 的技术,其中将加密的文本块分成两半。
使用子密钥对其中一半应用循环功能,然后将输出与另一半进行“异或”运算;接着交换这两半,这一过程会继续下去,但最后一个循环不交换。DES 使用 16 个循环,使用异或,置换,代换,移位操作四种基本运算。
以上内容参考:百度百科-des对称加密
是DES。
1.依据所使用的密钥数量,常用的加密算法可分为单钥和双钥加密体制,也称私钥和公钥加密算法。
2.ECC、DSA和RSA都属于公钥加密算法,DES是私钥加密算法。