数据加密与身份认证(RSA加密算法)

数据加密与身份认证(RSA加密算法)

 

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

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

 

 公钥与私钥

  现代密码体制中加密和解密是采用不同的密钥(公开密钥),也就是非对称密钥密码系统,每个通信方均需要两个密钥,即公钥和私钥,这两把密钥可以互为加解密。公钥是公开的,不需要保密,而私钥是由个人自己持有,并且必须妥善保管和注意保密。

由公钥加密的内容可以并且只能由私钥进行解密,并且由私钥加密的内容可以并且只能由公钥进行解密。即:这一对公钥、私钥都可以用来加密和解密,并且一方加密的内容可以由并且只能由对方进行解密。  

 

公钥私钥的原则:

一个公钥对应一个私钥,

密钥对中,让大家都知道的是公钥,不告诉大家,只有自己知道的,是私钥,必须非常小心保存

如果用其中一个密钥加密数据,则只有对应的那个密钥才可以解密。

如果用其中一个密钥可以进行解密数据,则该数据必然是对应的那个密钥进行的加密

 

公钥与私钥的作用:

用公钥加密的内容只能用私钥解密,用私钥加密的内容只能用公钥解密。

 

公开密钥的加密过程(必须两人都有公钥和私钥

比如有两个用户AliceBobAlice想把一段明文通过双钥加密的技术发送给BobBob有一对公钥和私钥,那么加密解密的过程如下:

Bob将他的公开密钥传送给Alice

AliceBob的公开密钥加密她的消息,然后传送给Bob

Bob用他的私人密钥解密Alice的消息。

Alice使用Bob的公钥进行加密,Bob用自己的私钥进行解密。

 

身份认证和加密就不同了,主要用户鉴别用户的真伪。这里我们只要能够鉴别一个用户的私钥是正确的,就可以鉴别这个用户的真伪。(必须两人都有公钥和私钥

身份认证过程如下:

 还是AliceBob这两个用户,Alice想让Bob知道自己是真实的Alice,而不是假冒的,因此Alice只要使用公钥密码学对文件签名发送给BobBob使用Alice的公钥对文件进行解密,如果可以解密成功,则证明Alice的私钥是正确的,因而就完成了对Alice的身份鉴别。整个身份认证的过程如下:

Alice用她的私人密钥对文件加密,从而对文件签名。

Alice将签名的文件传送给Bob

BobAlice的公钥解密文件,从而验证签名。

Alice使用自己的私钥加密,BobAlice的公钥进行解密。

 

信息签名校验:

 比如有一段明文信息从Bob发送到Alice,就是在信息的后面再加上一段内容,可以证明信息没有被修改过。一般是对信息做一个hash计算得到一个hash值,注意,这个过程是不可逆的,也就是说无法通过hash值得出原来的信息内容。在把信息发送出去时,把这个hash值加密后做为一个签名和信息一起发出去。接收方在收到信息后,会重新计算信息的hash值,并和信息所附带的hash(解密后)进行对比,如果一致,就说明信息的内容没有被修改过,因为这里hash计算可以保证不同的内容一定会得到不同的hash值,所以只要内容一被修改,根据信息内容计算的hash值就会变化。当然,不怀好意的人也可以修改信息内容的同时也修改hash值,从而让它们可以相匹配,为了防止这种情况,hash值一般都会加密后(也就是签名,包含在公钥内)再和信息一起发送,以保证这个hash值不被修改。

 

数字证书

可以保证数字证书里的公钥确实是这个证书的所有者(Subject)的,或者证书可以用来确认对方的身份。也就是说,我们拿到一个数字证书,我们可以判断出这个数字证书到底是谁的。

 

 

数字证书原理相关参考资料:

http://www.williamlong.info/archives/837.html

http://www.cnblogs.com/JeffreySun/archive/2010/06/24/1627247.html  解释的非常详细,推荐仔细读读!

http://blog.csdn.net/hwalk/article/details/2143501

 

 

 

 

 

猜你喜欢

转载自chenlin10058.iteye.com/blog/1821011
今日推荐