加密算法(罗列)

加密算法

Hash算法

           又称单向散列算法,是一个将任意长度的消息经过各种处理返回一定长度的消息摘要算法;

       Hash算法是不可逆的。

           由于不可逆特点,不能用于加密;只能用于数字签名、数据的完成性校验。


对称算法

           又称传统算法(或是单密钥算法),就是加密密钥能从解密密钥中推算出来;反之也成立,

       其实也就是加密密钥和解密密钥是同一个密钥。


公开密钥算法

           公开密钥算法是非对称的,并且它使用两个密钥;基于数学函数,而非基于替换和置换。


==========================

       Hash算法

           CRC32    循环冗余校验

           MD5        消息摘要算法

           SHA        安全散列算法


       对称算法

           DES        数据加密标准(分组算法)

           (双重DES、三重DES)

           AES        高级加密标准

           (DES的替代算法)


       公开密钥算法

           RSA

           EIGamal


           RSA:是一个比较完善的公开密钥算法,既能用于加密,也能用于数字签名。

                  RSA的安全性基于整数因子分解问题的困难性,公钥和私钥是一对大素书的函数。

                  从一个公开密钥和密文中恢复出明文的难度等价于分解两个大素数之积。


                   公钥:加密    认证    (作用)

                   私钥:解密    签名


==========================


SSL  安全套接字层    在TCP和使用TCP的应用之间提供安全服务。

TLS  传输层安全协议

DSA 数字签名算法


==========================


   SSL的主要目标是为两个通信主体提供保密、可靠的信道。建立在可靠的传输层之上,与应用层

的具体协议无关;加密算法、通信密钥的协商以及服务器的认证都是由SSL自动地完成的。在 SSL

的连接建立之后,应用层不需要进行任何干预,通信中的所有数据都会被SSL自动加密。


什么是SSL?

       是一种用于确保应用程序间数据传输的机密性和可靠的internet传输层协议;

       使各应用程序可以通过公钥和私钥相互验证身份;

       使用密钥加密和数字签名为应用程序间交换的数字加密;

       可能是单向的,即服务器向客户端验证身份;也可能是双向的……

       在初次建立连接时需要握手。


==========================


SSL证书

       证书包括:

               组织的名称和ip地址;

               组织的公钥;

               证书颁发机构名称,及机构的数字签名。

       用途:

               加密所有使用SSL协议传输的数据。


SSL证书链    (一些列的证书)

       每个证书都包含该证书的签发者的名称,即链中下一个证书的请求者名称;

       每个证书都使用其颁发者的私钥来签名,该签名可以使用证书链中下一个证书颁发者的公钥

   进行验证;

       根证书颁发机构的证书是自签名证书。


       * 首先需要生成一个主证书(顶级CA),然后使用这个主证书来签发服务器证书和客户端证

   书。


CA(证书颁布机构)

       受信任的第三方;

       对被颁发者的真实性负责;

       向申请机构签发 数字证书(公钥);该证书使用CA的私钥签署;

       CA的公钥广泛发布。


SSL握手

       ()





(初步搞清楚个大概)

本文出自 “小崔的实验笔记” 博客,谢绝转载!

你可能感兴趣的:(ssl,OpenSSL,加密技术)