加密的类型及其相关算法--对称加密

上节我们讲到加密所围绕的三个方面:机密性、完整性、身份验证

为了实现A与B之间通讯是机密,让第三者即便截获了信息都无法看得懂,那就要对明文数据进行加密。

我们知道加密其实就是运用一些算法去实现的(这也就是为啥计算机与数学家之间关系是这么紧密的了,计算机就是各种逻辑运算^_^)。例如最简单的算法就例如将a-e向又移动5位成为f-j,那么解密就是向左移动5位,这样加密和解密使用同一套算法的就称之为对称加密算法。

又例如,大家有没有看过《风语者》里纳瓦霍密码,“战斗机”被称为“达-哈-提-西”(dah-he-tih-hi),纳瓦霍语意为“蜂鸟 ”;“俯冲轰炸机”被称为“几尼”,意为“小鹰”。就有一份密码对照本。

示例:


[[email protected] ~]# cat /etc/issue
\S
Kernel \r on an \m

[[email protected] ~]# cat /etc/issue | tr "a-e" "f-j"
\S
Kjrnjl \r on fn \m

有些算法能容易的被人破解,那就会有个问题,开发一个算法的成本很高(要考虑算法本身被破解需要的条件,还要考虑到计算机未来10年、20年的发展,能不能被暴力破解等问题),不可能每个人都使用一套算法,而且有些算法是公开的,那么如果能将算法和密码(密钥)结合来加密,至少更换密码(密钥)的成本比算法本身低得多。

假设A与B之间使用了对称加密算法并协商了一串密码(密钥):123456,这样就能A与B之间通讯是机密的了。

可是问题又来了,A与B通信之间的机密性是得到保证了,可是A与C,A与D,A甚至与更多机器需要通讯,50个,100个,如果与之通讯的主机都协商一个密码的话,光维护密码表就是一个很困难的事情了。如果A与其他机器通讯都使用同一个算法和密码的话,不怀好意的E得知A与B正在进行一个非常重要的合同签订,使用了A与E之前通讯的密码,通过各种手段篡改了A与B之间的合同,导致A损失惨重。

对称加密虽然能解决了通讯的机密性,但是信息的完整性就无法得到保证,那么怎么保证信息的完整性?在A发送给B的之后,B能通过某种手段验证收到的信息没有被篡改或者因其他问题导致无法通过信息完整性的验证呢?欲知详情,请各位听下回分解。^_^

原文地址:http://blog.51cto.com/lythjq/2087049

时间: 2024-10-11 04:38:18

加密的类型及其相关算法--对称加密的相关文章

加密的类型及其相关算法--单向加密

上一节我们讲到对称加密能解决通讯机密性的问题,可是无法保证信息的完整性. 那我们引入一种算法--单向加密.单向加密就如人的指纹,会独一无二. A向B传递信息的时候会在末尾附加这个信息的单向加密结果,B接收到以后用同样的单向加密算法,计算加密的结果与传递过来的密码对比.如果一致,证明信息是完整的. 那么单向加密需要有什么特性呢? 1.输入的一样,计算结果必定是一样 2.雪崩效应,一点点的不同,就会导致计算结果完全不同 3.定长输出,无论原信息的大小,输出的结果长度必定一致 4.不可逆,不可以通过结

加密的类型及其相关算法--简介

在计算机的发展之初,互联网发展是非常缓慢,普及面非常小,能实现两台机之间通讯已经是非常了不起的了.所以在TCP/IP协议开发的时候并没有过多的考虑安全性,都是明文传输的.随着互联网的发展,同时也验证了"林子大了之啥鸟都有"的理论,在互联网存在了各种网络攻击,使得两机之间通讯的安全问题日益突出. 假设A与B之间需要相互通信.在此之前A与B是没有通信过的,两者之间需要建立通讯的时候会面临什么风险呢? 假设A与B之在谈恋爱,他们之间通讯是通过明信片联系的,那么在明信片投递的过程中,每个环节的

加密的类型及其相关算法--公钥加密(非对称加密)

前面讲了几节,对称加密(解决:机密性),单向加密(解决:完整性),密钥交换(解决:完整性).但总是能被E在从中捣乱,有没有一种办法能解决验证对方身份的方法呢? 这个时候公钥加密算法出来了.众所周知公钥加密算法是密钥对:公钥(公开出去的,从私钥中按照某种算法或机制提取出来):私钥(自己随机生成的,一般密钥都很长,1024,2056等). 公钥加密本身也可以用于信息加密,假设A将信息用自己的私钥进行加密,并传递给B,B用A的公钥解密,既然是公钥,那么在网络上传输的时候,E这个坏家伙也能得到A的公钥,

加密的类型及其相关算法--密钥交换

前两节讲到了信息的加密和信息的完整性,可是无法解决密码(密钥)传输保密的问题.如何在不安全的网络上来进行协商密码(密钥)呢? 1976年,W.Diffie和M.Hellman在发表的论文中提出了公钥加密算法思想,但当时并没有给出具体的实施方案,原因在于没有找到单向函数(也就是消息摘要算法),但在该论文中给出了通信双方通过信息交换协商密钥的算法,即Diffie-Hellman密钥交换算法(简称为DH算法).该算法的目的在于让消息的收发双方可以在安全的条件下交换密钥,以备后续加密/解密使用.因此,D

linux学习之路之加密类型及其相关算法

加密类型及其相关算法 随着互联网越演越烈,互联网上的各种攻击层出不穷,因此在互联网上相互传递的信息越来越不安全,因此为了防止用户在互联网上传递的数据被窃取,因此我们很有必须加强传递的数据的安全性. 数据的安全性主要包括以下三个方面: 数据的机密性:保证传递的数据不被读取 要想使传递的数据不被读取,可以对这些数据进行加密,因为默认这些数据是以明文来传递的 整个加密过程可以这么来理解: 加密:plaintext--->转换规则--->ciphertext 解密:ciphertext--->转

加密类型及其相关算法

在互联网通信过程中,如何保证数据的安全性? 在通信过程中,数据安全主要从三个方面考虑:机密性(数据的内容不能被窃取) 完整性(数据的内容不能被修改) 身份验证(确定通信双方的身份) 加密类型:1.对称加密,加密和解密使用同一个密钥,但是密钥如何安全传输比较重要,对称加密数度较快,适于加密数据 2.单向加密,提取数据指纹,主要用于保证数据的完整性 单向加密的特点:输入相同则输出一定相同 雪崩效应:输入的微小改变会引起结果的巨大反差 定长输出 3.非对称加密,使用一对密钥(public-key和pr

加密类型以及相关算法

让我们从一个简单的故事说起. 1.很久很久以前,在笔友盛行的年代,小明交到了笔友小红,然而有件事让他们很苦恼,他们的信封总是被他们家人偷看,青春期的小年轻们总是想有点自己的小秘密的,所以这对于他们来说是无法容忍的,于是呢,小明和小红想了一个办法,他们约定以后写的书信每个字母往后两位,比如a-->c,b-->d,这样 i love you 就变成了 k nqxg aqw ,就这样,他们的父母拿到书信后百思不得其解,然而小红看到脸上却泛起了红晕... 上面的例子就是互联网安全通信的第一个特性:保密

对称加密与非对称加密

(一)对称加密(Symmetric Cryptography) 对称加密是最快速.最简单的一种加密方式,加密(encryption)与解密(decryption)用的是同样的密钥(secret key).对称加密有很多种算法,由于它效率很高,所以被广泛使用在很多加密协议的核心当中. 对称加密通常使用的是相对较小的密钥,一般小于256 bit.因为密钥越大,加密越强,但加密与解密的过程越慢.如果你只用1 bit来做这个密钥,那黑客们可以先试着用0来解密,不行的话就再用1解:但如果你的密钥有1 MB

[Node.js] 对称加密、公钥加密和RSA

原文地址:http://www.moye.me/2015/06/14/cryptography_rsa/ 引子 对于加解密,我一直处于一种知其然不知其所以然的状态,项目核心部分并不倚重加解密算法时,可以勉强对付过去,一旦需要频繁应用诸如 AES/RSA等算法,这种状态就颇令人捉急了. 是时候了解一下原理了,所以找来了这本图解密码技术 给自己补补课: 在该书深入浅出的指引下 ,补充了一些常识,在此进行一番梳理: 对称加密算法(共享密钥) 顾名思义,对称加密就是用相同的密钥进行加密和解密.说到对称加