公钥和密钥原理

一、对称加密

在对称加密算法中,加密和解密使用的是同一把钥匙,即:使用相同的密匙对同一密码进行加密和解密。

(一)常见算法

基于“对称密钥”的加密算法主要有DES、3DES(TripleDES)、AES、RC2、RC4、RC5和Blowfish等。

(1)DES

DES算法全称为Data Encryption Standard,即数据加密算法,它是IBM公司于1975年研究成功并公开发表的。DES算法的入口参数有三个:Key、Data、Mode。其中Key为8个字节共64位,是DES算法的工作密钥;Data也为8个字节64位,是要被加密或被解密的数据;Mode为DES的工作方式,有两种:加密或解密。

(2)3DES(TripleDES)

由于计算机运算能力的增强,原版DES密码的密钥长度变得容易被暴力破解;3DES即是设计用来提供一种相对简单的方法,即通过增加DES的密钥长度来避免类似的攻击,而不是设计一种全新的块密码算法。
3DES又称Triple DES,是DES加密算法的一种模式,它使用2条不同的56位的密钥对数据进行三次加密。原理和DES几乎是一样的,只是使用3个密钥,对相同的数据执行三次加密,增强加密强度。

(3)AES

对称/分组密码一般分为流加密(如OFB、CFB等)和块加密(如ECB、CBC等)。对于流加密,需要将分组密码转化为流模式工作。对于块加密(或称分组加密),如果要加密超过块大小的数据,就需要涉及填充和链加密模式。

高级加密标准,目前美国国家安全局使用的,苹果的钥匙串访问采用的就AES加密。是现在公认的最安全的加密方式,是对称密钥加密中最流行的算法。

二、非对称加密

非对称加密(公钥加密):指加密和解密使用不同密钥的加密算法,也称为公私钥加密。

(一)区分加密和认证

(1)加密

加密是将数据资料加密,使得非法用户即使取得加密过的资料,也无法获取正确的资料内容,所以数据加密可以保护数据,防止监听攻击。

(2)认证

身份认证是用来判断某个身份的真实性,确认身份后,系统才可以依不同的身份给予不同的权限。其重点在于用户的真实性。

(二)公钥和密钥

公钥和密钥可以进行身份认证和数据加密。

假如:两个学生小明和小红谈恋爱,经常发送情书,为防止被老师发现,避免其他同学偷看,两人采用非对称加密发送情书。小明用自己的私钥对情书进行数据签名,再利用小红的公钥对情书进行加密,将两部分内容发给小红;小红利用小明给的公钥对数据签名进行解密认证,确认是不是小明,在用自己的私钥对加密情书解密,查看情书内容。

注意:公钥可以发给指定的人员,密钥需要自己保管好。

公钥和密钥原理

 

 

上一篇:C#与java加密DES/CBC方式加解密一致性实测可用


下一篇:openssl加密文件