test1密码学基础——对称加密和非对称加密以及MD5

密码学基础

一、信息安全的目标

私密性

完整性

源认证

不可否认性

二、如何保证信息的私密性

加解密的相关术语:

*算法

***

*明文

*密文

 

F(明文+**)= 密文

FN(密文+**)= 明文

三、加解密算法总共分为两大类:

对称加解密算法:

定义:加解***一致

特征:加解密长度在40~256位之间;加解密速度快(适合加密视频这种大文件);使用简单的数学操作,很容易通过硬件加速;用于大块数据的加密

       缺点:**管理是严重问题(窃取或劫持)。

       常见的对称加密算法:DES、3DES、AES

       DES:(数据加密标准)

              广泛使用的对称加解密算法

              固定**长度是56位

              算法非常的好,没有任何的漏洞,但由于**长度短,容易收到暴力**

             

              DES加密的过程:

              test1密码学基础——对称加密和非对称加密以及MD5

 

              3DES

                     特征:

                     **长度放大3倍,168位

                     暴力**变的不可能

                     基于非常好的算法

 

              AES(高级加密标准)

                     特征:

                     97年颁布,用于替换DES

                     **长度和块是变长

                     AES的软件和硬件的运行效率,广泛应用于无线和语音加密

             

              RC4

                     特征:

                     流加密

                     软件运行效率高

                     广泛应用于流加密,还有老的无线技术WEP

非对称加解密算法:

       定义:加*** != 解***

       公钥 私钥

       **长度一般是在512bit~2058bit

              特点:

              加解密速度较为缓慢

              实现简单的**管理或者对小数据进行加解密

             

              两大用途:签名和**交换(**管理)

      

       常见的非对称**算法:RSA

              RSA

                     特征:

                     基于大素数因式分解的数学难题

                     不能够通过公钥推导私钥

                     一个**加密,另一个**解密

      

                     RSA工作原理:

                     test1密码学基础——对称加密和非对称加密以及MD5

      

   

                     通过对称**和非对称**的结合,来提供一个综合的加解密的解决方案

                            对称**

                            优点:能够加密大量数据,并且加密速度快

                            缺点:没有**管理

                            非对称**

                            优点:提供相对安全的**管理机制(公钥和私钥)

                            缺点:加解密速度慢,没办法做大数据的加解密

 

解决办法:用非对称**的公钥加密对称**的**,然后非对称**的持有者用私钥解密密文,得到对称加***后续的数据就是用对称**进行的加解密。

 

(由于对称**和非对称**的优缺点互补,所以做一个结合:B的公钥加密A的**得到密文,密文返回给B,B再用私钥解密,得到明文,再用对称加密将明文加密,发给A,A用相应的对称**解密。)

 

 

四、如何解决数据完整性?

散列函数

       定义:散列函数也叫HASH,主流的散列算法MD5和SHA-1.

       F(x) = 散列值(MD5/128bit;SHA-1/160bit)

       X就是做完整性计算的数据

       散列函数的特点:

              固定大小

              雪崩效应

              单向性(只能数据>推导散列值,不能反推)

      

       利用散列函数做完整性校验原理:

       A文件àFmd5(A)à散列值(A)   A’ + 散列值(A)   A’文件àFmd5(A’)à散列值(A’)

       test1密码学基础——对称加密和非对称加密以及MD5

       可以通过md5校验器软件,得到md5,与软件提供者的md5做比对,校验下载的安装包在网络传输过程中是否完整。

      

       HMAC(哈希算法)

              *增加一个HASH(key)

              *接受双方必须预先知道这个key

              *在保障完整性的同时,实现源认证(解决中间被攻击的问题)
              *消除了HASH易受中间人攻击的问题

五、如何解决源认证问题?

用非对称**(数字签名)来解决源认证

公钥加密,私钥解密(**管理、**交换)

公钥解密,私钥加密(数字签名)

数字证书(作用:验证公钥持有者)

CA:颁发数字证书的权威机构