密钥加密的工作原理
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
对于安全信息处理的另一种需要是确保数据在传输或加密期间没有被损坏。有多种流行的方法可以做到这一点,举两个例子进行说明:
校验和:校验和也许是最古老的确保数据正确的方法之一。由于无效的校验和同时表明数据已在某种程度上受到损坏,因此校验和也提供了一种验证方式。它通过两种方法来确定。假定某个数据包的校验和为1个字节长。一个字节包含8个位,而每个位可能处于两种状态之一,从而共有256(28)种可能的组合。由于第一种组合等于零,一个字节的最大值为255。
公钥加密方法结合使用了私钥和公钥。私钥只有您的计算机知道,而公钥则由您的计算机提供给任何希望与其安全通信的其他计算机。若要解码被加密的消息,计算机必须使用发出消息的计算机提供的公钥,以及它自己的私钥。Pretty Good Privacy(PGP)是一种非常流行的公钥加密实用工具,它几乎可用于对任何数据加密。发出消息的计算机使用对称密钥对文档进行加密,然后又使用接收消息的计算机的公钥对对称密钥进行加密。后者使用其私钥来解码对称密钥,然后使用对称密钥来解码文档。
公钥加密系统及其工作原理
计算机加密建立在人类历史中一直使用的密码术的基础上。在数字时代之前,使用密码术最多的是政府,尤其是用于军事目的。据考证,远在罗马帝国时代就存在经过编码的消息。但是,现今人们使用的大多数密码术形式均依赖于计算机,原因在于仅凭借人脑编写的代码非常容易被计算机破解。
大多数计算机加密系统都属于以下两种类型之一:对称密钥加密、公钥加密,一般的都是对称密钥加密,我们对电脑直接操作,登录时使用。
大规模实施公钥加密(例如,安全Web服务器可能需要这种加密)要求采取另一种方式。这时数字证书能派上用途。从根本上讲,数字证书是一段信息,声明Web服务器受称为证书颁发机构的独立源的信任。证书颁发机构充当两台计算机均信任的“中间人”。它确认每台计算机的身份与其声明的身份相符,然后将每台计算机的公钥提供给对方。
如果数据包中其他字节的和为255或更低,则校验和就是此值。
如果数据包中其他字节的和超出255,则校验和是总值除以256后的余数。
让我们看一个校验和示例:
字节1
字节2
字节3
字节4
字节5
字节6
字节7பைடு நூலகம்
字节8
总值
校验和
212
232
54
135
244
15
179
80
1,151
127
1,151/256=4.496(四舍五入为4)
公钥加密中的密钥以散列值为基础。这个值是使用散列算法、根据输入的一个基础数字计算出来的。从本质上讲,散列值是原始值的概要。关于散列值的重要一点是,如果不知道用于创建散列值的数据,就几乎不可能推导出原始输入数字。下面是一个简单示例:
输入数字
散列算法
散列值
10,667
输入数字乘以143
1,525,381
您可以看到,要确定值1,525,381原来是10,667和143相乘的结果是多么困难。但是,如果您知道乘数是143,就很容易计算出值10,667。公钥加密实际上比该示例复杂得多,但基本原理相同。
公钥通常使用复杂算法和非常大的散列值来进行加密,其中包括40位甚至128位数字。128位可以有2128个不同组合!这就像是要在撒哈拉沙漠中找出某颗沙砾一样。
4x256=1,024
1,151-1,024=127
循环冗余校验(CRC)——CRC在概念上类似于校验和,但它们使用多项式除法来确定CRC的值,其长度通常为16或32位。CRC的优势在于它非常精确。如果有一个位不正确,CRC值就不匹配。校验和与CRC都可以很好地防止传输中的随机误差,但对于避免您的数据受到有意攻击而提供的保护很少。对称和公钥加密技术则要安全得多。
校验和:校验和也许是最古老的确保数据正确的方法之一。由于无效的校验和同时表明数据已在某种程度上受到损坏,因此校验和也提供了一种验证方式。它通过两种方法来确定。假定某个数据包的校验和为1个字节长。一个字节包含8个位,而每个位可能处于两种状态之一,从而共有256(28)种可能的组合。由于第一种组合等于零,一个字节的最大值为255。
公钥加密方法结合使用了私钥和公钥。私钥只有您的计算机知道,而公钥则由您的计算机提供给任何希望与其安全通信的其他计算机。若要解码被加密的消息,计算机必须使用发出消息的计算机提供的公钥,以及它自己的私钥。Pretty Good Privacy(PGP)是一种非常流行的公钥加密实用工具,它几乎可用于对任何数据加密。发出消息的计算机使用对称密钥对文档进行加密,然后又使用接收消息的计算机的公钥对对称密钥进行加密。后者使用其私钥来解码对称密钥,然后使用对称密钥来解码文档。
公钥加密系统及其工作原理
计算机加密建立在人类历史中一直使用的密码术的基础上。在数字时代之前,使用密码术最多的是政府,尤其是用于军事目的。据考证,远在罗马帝国时代就存在经过编码的消息。但是,现今人们使用的大多数密码术形式均依赖于计算机,原因在于仅凭借人脑编写的代码非常容易被计算机破解。
大多数计算机加密系统都属于以下两种类型之一:对称密钥加密、公钥加密,一般的都是对称密钥加密,我们对电脑直接操作,登录时使用。
大规模实施公钥加密(例如,安全Web服务器可能需要这种加密)要求采取另一种方式。这时数字证书能派上用途。从根本上讲,数字证书是一段信息,声明Web服务器受称为证书颁发机构的独立源的信任。证书颁发机构充当两台计算机均信任的“中间人”。它确认每台计算机的身份与其声明的身份相符,然后将每台计算机的公钥提供给对方。
如果数据包中其他字节的和为255或更低,则校验和就是此值。
如果数据包中其他字节的和超出255,则校验和是总值除以256后的余数。
让我们看一个校验和示例:
字节1
字节2
字节3
字节4
字节5
字节6
字节7பைடு நூலகம்
字节8
总值
校验和
212
232
54
135
244
15
179
80
1,151
127
1,151/256=4.496(四舍五入为4)
公钥加密中的密钥以散列值为基础。这个值是使用散列算法、根据输入的一个基础数字计算出来的。从本质上讲,散列值是原始值的概要。关于散列值的重要一点是,如果不知道用于创建散列值的数据,就几乎不可能推导出原始输入数字。下面是一个简单示例:
输入数字
散列算法
散列值
10,667
输入数字乘以143
1,525,381
您可以看到,要确定值1,525,381原来是10,667和143相乘的结果是多么困难。但是,如果您知道乘数是143,就很容易计算出值10,667。公钥加密实际上比该示例复杂得多,但基本原理相同。
公钥通常使用复杂算法和非常大的散列值来进行加密,其中包括40位甚至128位数字。128位可以有2128个不同组合!这就像是要在撒哈拉沙漠中找出某颗沙砾一样。
4x256=1,024
1,151-1,024=127
循环冗余校验(CRC)——CRC在概念上类似于校验和,但它们使用多项式除法来确定CRC的值,其长度通常为16或32位。CRC的优势在于它非常精确。如果有一个位不正确,CRC值就不匹配。校验和与CRC都可以很好地防止传输中的随机误差,但对于避免您的数据受到有意攻击而提供的保护很少。对称和公钥加密技术则要安全得多。