加密(一)–加密方式介绍

本节内容

  1. 信息安全目标
  2. 加密方式介绍
  3. 对称秘钥算法
  4. 非对称秘钥算法
  5. 一个简洁而优雅的解决方案

信息安全目标

  • 私密性
  • 完整性
  • 源认证
  • 不可否认性

加密方式介绍(两大类)

对称加密算法:

  • DES,3DES,AES,RC4

非对称加密算法:

  • RSA,DH,ECC(椭圆曲线算法,主要用于手机等设备,节约资源)

对称秘钥算法

发送方和接收方共享相同秘钥,使用相同算法
秘钥长度在40-256bit

特点:

  • 速度特别快,使用简单数学操作;
  • 很容易实现硬件加速;
  • 用于大块数据的加密;
  • 秘钥管理是严重的问题n台设备秘钥个数为(n*(n-1))/2;

DES:

  • 广泛使用的对称秘钥算法;
  • IBM开发于1975年;
  • 固定秘钥长度56bit;
  • 块大小64bit;
  • 算法非常好,没有任何漏洞,秘钥太短,易受到暴力破解攻击;
  • 基于加密秘钥的一系列的移换位操作;
  • 只使用简单逻辑操作,很容易使用硬件加速,一般使用在路由器交换机等网络设备中;

DES块加密的两种模式:
1.电子密码本(ECB):

  1. 原理:将数据包分成很多64bit的块,每块使用相同算法相同秘钥加密;
  2. 特点:相同的明文总是产生相同的密文;易受到插入,重放,字典攻击;

2加密块连接(CBC):

  1. 原理:数据包被等分成很多64bit的块,并且发包时发送一个明文IV初始化向量位,项链位和第一个块做异或运算,然后用秘钥和算法加密得到密文,拿第一个密文和第二个明文做异或,得到第二个密文,这样持续下去……
  2. 特点:思科的IPSec VPN只支持cbc模式;有一个明文的IV初始化向量位;

DES使用指南

经常修改秘钥,防止暴力破解,在一个安全的信道中交换DES秘钥,使用DES的CBC模式

3DES:

扩大DES的使用空间,秘钥长度放大三倍,168bit长度,暴力破解几乎不能实现,基于一个很好的算法DES;比较消耗资源,有延时

3DES原理:
(EDE加密)key1加密,key2解密,key3加密。解密反过来,key3解密,key2加密,key1解密;3次加密其实也算3DES加密;

AES:

高级加密标准,1997年颁布,用于替代DES
特点:

  • 变长秘钥和块长度,思科可以使用128,192,56bit秘钥;
  • 秘钥和块长度还能够以32bit为单位继续增长;
  • AES的软件和硬件运行效率非常高,广泛用于无线和语音的加密。

RC4:

流加密算法,软件运行效率非常高,广泛用于ssl加密,还有老的无线技术WEP

对称秘钥算法特点:

特点:同一个秘钥用于加密
优点:

  • 速度快;
  • 安全;
  • 紧凑(一个数据包平均增加4个字节,最多增加8个字节)

缺点:

  • 明文传输共享秘钥,容易出现中途劫持和窃听问题;
  • 秘钥数量以参与者数量平方速度增长;
  • 因为数量过多,管理和存储会有大问题;
  • 不支持数字签名和不可否认性;

非对称秘钥算法

被人熟知的是公共秘钥系统
秘钥长度一般在512-4096bit,因为和对称秘钥算法的数学理论基础有本质不同,所以秘钥长度没有可比性,一般要使用到2048bit,最起码使用1024bit

特点:

  • 与对称秘钥算法相比非常慢;
  • 基于已有的数学难题(大素数乘积);
  • 能够实现简单的秘钥管理;
  • 只能加密很小的数据,最多加密1000bit,一般加密500多bit,两大用途:签名(加密哈希)和秘钥交换(加密秘钥)

RSA:

1977年开发出来,当时是专利技术,公共密钥加密系统, 秘钥长度512-4096bit,基于大素数因式分解的数学难题,不可能从公钥导出私钥,一个秘钥加密,另一个秘钥解密,这些秘钥能够长时间保障安全性

RSA加密过程:
用户1从服务器上获取用户2的公钥,用公钥加密数据,传给用户2,用户2用私钥解密

注意:使用公钥加密,私钥解密,实现数据的私密性

RSA使用指南:

  • 速率,软件差100倍,硬件差1000倍;
  • 加密秘钥,实现秘钥交换;
  • 加密散列,完成数字签名,实现源认证和不可否认性

非对称秘钥特点

特点:

  • 用一个秘钥加密的东西只能用另一个秘钥解密;
  • 仅仅只用于秘钥交换(加密秘钥)和数字签名(加密散列)

优点:

  • 安全;
  • 不必发送秘钥给接受者,所以非对称加密不必担心秘钥交换被中途截获的问题;
  • 秘钥数目和参与者的数目一样;
  • 不需要事先在各参与者之间建立关系以交换秘钥;
  • 技术支持数字签名和不可否认性;

缺点:

  • 非常非常慢;
  • 密文会变长;

一个简洁而优雅的解决方案:

挑选算法的两个标准:

  • 算法是可信的;
  • 秘钥长度足够长,能够抵御暴力破解

对称秘钥算法,建议使用:DES 3DES AES RC4
非对称秘钥算法建议使用:RSA
希望加密算法达到的效果:抵御密码学攻击;密码长度可变并且足够长;雪崩效应;没有进出口限制
解决方案过程:明文用DES56bit秘钥和算法加密,用接受者公钥加密56bit秘钥,将密文和秘钥包打包发给接受方;接收方使用私钥解密DES的秘钥,再用秘钥解密密文得到明文。

版权声明:本文为runner1原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/runner1/articles/6388771.html