zoukankan      html  css  js  c++  java
  • 加密第一节_加密方式介绍

    加密第一节_加密方式介绍

    本节内容

    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的秘钥,再用秘钥解密密文得到明文。

  • 相关阅读:
    第一次个人编程作业
    第一次软工作业
    [Manacher]最长回文子串
    面向对象程序设计 总结作业
    面向对象程序设计 小黄衫晒单
    面向对象程序设计 作业三
    面向对象程序设计 作业二
    面向对象程序设计 作业一
    SSD/Memory技术学习拼图
    第一次结对编程作业
  • 原文地址:https://www.cnblogs.com/huxianglin/p/6386484.html
Copyright © 2011-2022 走看看