加密理解

一. 高级加密标准(advanced encryption standard, AES)

     一种对称加密算法,支持128、192、256位密钥长度。


二. 对称加密

    加密密钥和解密密钥完全相同或相关的加密方法。

1.创建一个发送方计算机和接收方计算机都知道的密钥。
2.发送方计算机使用一个预定的加密算法和上述密钥,加密要发送的数据。
3.加密(不可读的)文本被转交给目的计算机。
4.接收方计算机使用的相对应的解密算法(以及密钥)来解密数据。


三. 非对称加密:使用不同的密钥进行加密和解密

      非对称加密之所以称为非对称,是因为用来加密数据的密钥,与用来解密数据的密钥不同。非对称加密通常与一种被称为公开密钥加密的加密方法相关。在公开密钥加密中,两个密钥中的一个(被称为私有密钥)安全地保留在一台计算机上。另一个密钥(公开密钥)对于所有想要给私有密钥持有者发送数据的计算机均可用。具体步骤如下所示。
1.计算机A设法与计算机B建立一个连接。
2.计算机 B 上的加密软件生成一个私有密钥和一个公开密钥。私有密钥不与任何人分享。公开密钥被提供给计算机A使用。
3.计算机A使用从计算机B接收到的公开密钥加密数据并传输数据。来自计算机B的公开密钥被存储在计算机A上,以供将来引用。
4.计算机B接收计算机A发送来的数据,并使用相应的私有密钥进行解密

四. 数字签名

       用来检验发送方身份和数据完整性的加密字符串。 数字签名方法用于确保数据来自其所属的数据源,并且该数据在其交付路径中没有被更改过。数字签名就是与报文包括在一起的一块加密数据。这块加密数据有时被称为鉴别码(authenticator)。数字签名通常逆向使用公开密钥加密过程。

1.计算机B想要发送一个具有数字签名的文档给计算机A。计算机B根据验证文档内容所需的信息,创建一小段数据。换句话说,就是对文档中的一些位执行某种数学计算,以得到一个值。鉴别码可能还包含其他可用来验证消息真实性的信息,例如一个时间戳值,或其他将把鉴别码与其附着的消息关联起来的参数。
2.计算机 B 使用一个私有密钥加密鉴别码(注意,这是上一小节中描述的公开密钥加密过程的逆向。在上一小节中,私有密钥解密数据)。鉴别码然后被附于要传输的文档,该文档再被发送给计算机A。
3.计算机A接收数据,并使用计算机B的公开密钥解密相应的鉴别码。鉴别码中的信息使得计算机A可以验证该数据是否在传输过程中被更改过。实际上,数据可以使用计算机B的公开密钥进行解密,即证实该数据是使用计算机B的私有密钥加密的,这就确保数据来自计算机B。
       数字签名以这种方式确保数据没有被更改过,而且它来自其推定的数据源。作为一项基本的安全措施,整个消息都可以使用计算机B的私有密钥进行加密,而不仅仅是鉴别码。然而,使用私有密钥加密,再使用公开密钥解密,实际上并不可靠,因为用来解密的公开密钥是通过 Internet 发送的,因此可能并不保密。一个获得公开密钥的窃听者可以解密加密后的鉴别码。不过,该窃听者将无法再加密一个新的鉴别码,因此也就无法伪装成计算机B。

五. 认证中心(Certificate Authority, CA)

监视证书创建和递送过程的中央权威,证书服务器被称为认证中心。

六. 数字证书:一种加密的数据结构,用来分发公开密钥

      任何提出请求的人都可以获得公开密钥的重大设计是一项有趣的解决方案,但是仍然存在一些局限性。事实上,攻击者仍然可以利用公开密钥进行恶作剧。攻击者可以解密数字签名,或者甚至可以读取使用相应用户私有密钥加密的密码。提供某种安全系统,用于确保谁可以获得公开密钥的访问权,这样会更安全一些。对于这个问题的一种解决方法就是所谓的使用数字证书。数字证书实质上就是公开密钥的一个加密副本。相应的认证过程如图所示。这个过程需要一台第三方的证书服务器,它与想要通信的双方都有一个安全的联系。证书服务器也被称为认证中心( Certificate Authority,CA)。、

1.用户B通过一个安全通信,将其公开密钥的一个副本发送给证书服务器。
2.证书服务器使用另一个密钥加密用户B的公开密钥(以及其他用户参数)。这个新加密的数据包被称为证书。与该证书包含在一起的是证书服务器的数字签名。
3.证书服务器将证书返回给用户B。
4.用户A需要获得用户B的公开密钥。计算机A向计算机B请求用户B的一个证书副本。
5.计算机A通过与证书服务器的安全通信,获得用来加密证书的密钥副本。
6.计算机A使用从证书服务器获得的密钥解密证书,并提取用户B的公开密钥。计算机A同时检查证书服务器的数字签名(见步骤2),以确保该证书是可信的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章