zoukankan      html  css  js  c++  java
  • [转]对称加密和分组加密中的四种模式(ECB、CBC、CFB、OFB)

    这几天在研究如何将openssl与加密卡结合, 需要自己编写engine部分, 以前对对称加密了解不够深入,

    问了下度娘, 发现下文, 文字不多, 一看就懂, 谢谢原作者. 特转载留下, 以作收藏.

    . AES对称加密:


                                                          AES加密

                             分组

    . 分组密码的填充


    分组密码的填充

    e.g.:

                                                             PKCS#5填充方式

    . 流密码:


    . 分组密码加密中的四种模式:

    3.1 ECB模式

    优点:

    1.简单;

    2.有利于并行计算;

    3.误差不会被传送;

    缺点:

    1.不能隐藏明文的模式;

    2.可能对明文进行主动攻击;


    3.2 CBC
    模式:

    优点:

    1.不容易主动攻击,安全性好于ECB,适合传输长度长的报文,是SSL、IPSec的标准。

    缺点:

    1.不利于并行计算;

    2.误差传递;

    3.需要初始化向量IV

    3.3 CFB模式:


    优点:

    1.隐藏了明文模式;

    2.分组密码转化为流模式;

    3.可以及时加密传送小于分组的数据;

    缺点:

    1.不利于并行计算;

    2.误差传送:一个明文单元损坏影响多个单元;

    3.唯一的IV;

    3.4 OFB模式:


    优点:

    1.隐藏了明文模式;

    2.分组密码转化为流模式;

    3.可以及时加密传送小于分组的数据;

    缺点:

    1.不利于并行计算;

    2.对明文的主动攻击是可能的;

    3.误差传送:一个明文单元损坏影响多个单元;

    敦品厚德 格物致知
  • 相关阅读:
    ORM框架
    js获取浏览器和元素对象的尺寸
    js中的兼容问题
    JS页面上的流氓广告功能
    JS计算1到10的每一个数字的阶乘之和
    JS中 有一个棋盘,有64个方格,在第一个方格里面放1粒芝麻重量是0.00001kg,第二个里面放2粒,第三个里面放4,棋盘上放的所有芝麻的重量
    JS中99乘法表
    JS 中计算 1
    JS中判断一个数是否为质数
    JS水仙花数
  • 原文地址:https://www.cnblogs.com/crunchyou/p/2772625.html
Copyright © 2011-2022 走看看