分组密码和流密码

密码算法可以分为分组密码和流密码。

  1. 分组密码:每次只能处理特定长度的一块数据的一类密码算法。一个分组的比特数叫做分组长度。DES的分组长度是64比特,DES一次只能加密64比特的明文,并生成64比特的密文。按组处理,不需要通过内部状态来记录加密的进度。
  2. 流密码:对数据进行连续处理的一类密码算法。一般来说以1比特、8比特或32比特为单位进行加密和解密。对一串数据流进行加密和解密,需要保持内部状态。一次性密码本属于流密码。

分组密码的模式

由于分组密码处理长度有限,所以当处理长明文数据时,需要对分组密码算法进行迭代,迭代的方法叫做分组密码的模式。主要的模式有:

  1. ECB模式:电子密码本模式。
    ECB模式将明文分组加密后的结果直接作为密文分组。明文分组和密文分组是一一对应的关系。缺点:攻击者无需破译密码就能操纵明文(操纵密文顺序,因为明文分组和密文分组关系一一对应)。

  2. CBC模式:密码分组链接模式。
    CBC模式首先将明文分组与前一个密文分组进行XOR运算,然后再进行加密。明文分组和密文分组之间有XOR和密码算法两个步骤。

  3. CFB模式:密文反馈模式。(将密文分组反馈到密码算法中)
    CFB模式会将前一个密文分组送回到密码算法的输入端,再进行XOR运算。明文分组和密文分组之间只有XOR运算。

  4. OFB模式:输出反馈模式。(密码算法的输入是前一个密码算法的输出)
    OFB模式密码算法的输出会反馈到密码算法的输入中。通过明文分组和密码算法的输出进行XOR产生密码分组。

  5. CTR模式:计数器模式。
    CTR模式是一种通过逐次累加的计数器进行加密来生成密钥流的流密码。最终的密文分组是通过将计数器加密得到的比特序列,与明文分组进行XOR得到。

密码技术---分组密码的模式相关推荐

  1. 精读《图解密码技术》--第四章 分组密码的模式

    一.分组密码的模式 1.分组密码和流密码   密码算法可以分为分组密码和流密码两种.   分组密码是每次只能处理特定长度的一块数据的一类密码算法.流密码则是对数据流进行连续处理的一类密码算法. 2.什 ...

  2. 《图解密码技术》分组密码(1) 概览

    1. 定义 DES 和AES都只能加密固定长度的明文.如果需要加密任意长度的明文,就需要对分组密码进行迭代. 1.1 分组密码的迭代方法就称为分组密码的"模式". ECB模式:El ...

  3. 图解密码技术学习笔记

    主题:图解密码技术 简介:密码技术入门学习 参考:译者分享 作者:ybb 时间:2021年12月15日 周自恒直播课学习笔记 4.分组密码的模式 4.1 DES和AES作为对称加密时使用的分组密码只能 ...

  4. 《图解密码技术》读后的总结

    <图解密码技术>我认为是一本密码学入门的易读书,身边的几个做密码相关工具的朋友都推荐我看看,这次有时间就看了下. 本书是我11月份开始阅读的,一共用了25天,每天读完后都会把一些我认为是重 ...

  5. 密码学入门(3):分组密码的模式

    密码学入门(3):分组密码的模式 文章目录 密码学入门(3):分组密码的模式 分组密码与流密码 ECB模式 CBC模式 CFB模式 OFB模式 CTR模式 应该使用那种模式 参考 DES和AES都属于 ...

  6. 阅读 《图解密码技术 第三版》的归纳和总结

    文章目录 简述 图解密码学 相关密码词汇和缩写介绍 密码技术介绍 RSA 非对称加密介绍 什么是非对称加密(公钥密码)? RAS 加解密算法公式 AES 下的模式介绍 (分组密码 || 对称密码模式介 ...

  7. 《图解密码技术》——读书笔记

    好书,强烈推荐! 密码学家的工具箱 对称密码 公钥密码 单向散列函数 消息认证码 数字签名 伪随机数生成器 Enigma密码机 推荐电影:模仿游戏 The Imitation Game (2014) ...

  8. 密码技术学习一:密码

    0.前言 本文是作者阅读<图解密码技术>时,学习总结的一些知识,在此推荐想要深入学习密码知识的同志,将此书作为入门书来看还是比较适合的. 1.密码技术简介 1.1加密与解密 在两者通信过程 ...

  9. 开发常见密码技术概念RSA使用示例

    一.单向散列函数 1.1 概念及术语 单向散列函数(one-way hash function)有一个输入和一个输出,其中输入称为消息(message),输出称为散列值(hash value).单向散 ...

最新文章

  1. 用指针和函数的方法完成两个数的交换
  2. m_Orchestrate learning system---十三、thinkphp的验证器支持多语言么
  3. python【蓝桥杯vip练习题库】ADV-183分苹果(差分数组 离线区间)
  4. SVN服务器更换地址解决方法
  5. .NET Core开发实战(第8课:配置框架:让服务无缝适应各种环境)--学习笔记
  6. pycharm常用快捷键详解,让你编程 事半功倍。
  7. 【转载】Latex对中文的支持 模版
  8. 微型计算机原理及应用 湖南大学,2011年10月自考02277微型计算机原理及应用真题及答案...
  9. phpddos***器1.0-6.0
  10. DNS数据配置文件SOA和NS
  11. MATLAB拉格朗日插值公式代码
  12. 音响无声或声音不正常的原因有哪些?
  13. 用前端框架开发一款APP要多少钱
  14. Unity 之 2D水插件推荐和模拟水效果制作分享
  15. 自定义实现IOC与DI
  16. 【重构-改善代码】笔记
  17. Mybatis 任务二:配置文件深入
  18. autojs之多线程-Threads
  19. Python 学习入门(5)—— 发送邮件
  20. cad指北针lisp_auto cad指北针图块下载|CAD指北针

热门文章

  1. Photoshop 面试题
  2. Bootstrap轮播插件
  3. 最新美团-青龙——5-25
  4. windows平台基础工作软件整理【持续更新】
  5. IOS 调用第三方地图APP导航
  6. XCTF-PWN welpwn
  7. nowcoder 点击消除 (字符串 + 栈)
  8. 计算机任务计划程序已损坏,Win7-该任务映像已损坏或已篡改。(异常来自HRESULT:0x80041321)解决办法...
  9. 最成熟的网格化系统及支撑平台
  10. Unity3d bounds包围盒 和collider碰撞器区别