第十八个知识点:画一个描述ECB,CBC,CTR模式的操作
第十八个知识点:画一个描述ECB,CBC,CTR模式的操作
第8周是画三个图的任务,但是维基百科上已经有人画的很好了
- https://en.wikipedia.org/wiki/File:ECB_encryption.svg
- https://en.wikipedia.org/wiki/File:CBC_encryption.svg
- https://en.wikipedia.org/wiki/File:CTR_encryption_2.svg
因此我将解释这后面的原理.
操作模式:块密码的安全性依赖于加解密一个固定长度的明文块.当加密或者解密消息的时候,块是被需要的.我们使用一种操作模式将明文的多个块链接在一起.我们会知道,这种链接在一起的方法是十分重要.
电子密码本(ECB)模式:加密,解密.ECB模式是最直接的方法.明文被分割成m块.每一个块被独立的加密.ECB的遗留问题就是重复明文将得到相同的密文.对这个问题最好的说明是对图像进行加密,在加密后的图像中重新出现原始图像中的重复模式.看,例如源图像,和在ECB之后的加密图像
密码块链(CBC)模式:加密,解密.CBC模式将解决ECB模式的限制.每个明文被之前的密文异或,其中第一个块的文明和一个随机的向量(IV)异或.通过XOR操作和初始IV提供的随机性和错误传播,消除了ECB模式加密产生的密文块中的重复模式。CBC是实践中最常用的模式。
计数器(CTR)模式:加密,解密.计数器模式不同于ECB和CBC,它像流密码一样.CTR模式产生一个流密钥重复的使用一个计数器的值,这个计数器初始的向量是被设置的.为连续加密而增加计数器的操作可以简单到将初始计数器增加1。计数器的每个加密都像一个流密码一样,与下一个明文块并行,以生成下一个密文块.
未来的阅读的材料:一些操作模式除了保证明文的机密性外,还保证明文的真实性。更多信息请参见AEAD模式。
第十八个知识点:画一个描述ECB,CBC,CTR模式的操作的更多相关文章
- 第二十八个知识点:什么是公钥密码学的IND-CCA安全定义?
第二十八个知识点:什么是公钥密码学的IND-CCA安全定义? 我们将在这篇博客中讨论公钥加密的IND-CCA安全. IND-CCA安全代表选择明文的不可伪造性.这样的安全方案的思想就是给定一个密文,攻 ...
- 第四十八个知识点:TPM的目的和使用方法
第四十八个知识点:TPM的目的和使用方法 在检查TPM目的之前,值得去尝试理解TPM设计出来的目的是为了克服什么样的问题.真正的问题是信任.信任什么?首先内存和软件运行在电脑上.这些东西能直接的通过操 ...
- 【第十八期】分享一个网易go面经
自我介绍 未来的主要方向 介绍下之前的项目用到的优化点.难点 为什么不要大量使用goroutine gpm模型 go里面goroutine创建数量有限制吗? 线程和协程有什么区别 golang支持哪些 ...
- 第七十八篇:写一个按需展示的文本框和按钮(使用ref)
好家伙, 我们又又又来了一个客户 用户说: 我想我的页面上有一个搜索框, 当我不需要他的时候,它就是一个按钮 当我想要搜索的时候,我就点一下它, 然后按钮消失,搜索框出现, 当我在浏览其他东西时,这个 ...
- Bristol大学密码学博士生的五十二个知识点
Bristol大学密码学博士生的五十二个知识点 这个系列,是Bristol大学的密码安全工作组为密码学和信息安全相关的博士准备了52个基本知识点. 原地址:http://bristolcrypto.b ...
- MyBatis基础入门《十八》动态SQL(if-where)
MyBatis基础入门<十八>动态SQL(if-where) 描述: 代码是在<MyBatis基础入门<十七>动态SQL>基础上进行改造的,不再贴所有代码,仅贴改动 ...
- 第二十四个知识点:描述一个二进制m组的滑动窗口指数算法
第二十四个知识点:描述一个二进制m组的滑动窗口指数算法 简单回顾一下我们知道的. 大量的密码学算法的大数是基于指数问题的安全性,例如RSA或者DH算法.因此,现代密码学需要大指数模幂算法的有效实现.我 ...
- 第三十五个知识点:给针对ECDLP问题的Pollard rho,Pollard "Kangaroo",parallel Pollard rho攻击的一个粗略的描述
第三十五个知识点:给针对ECDLP问题的Pollard rho,Pollard "Kangaroo",parallel Pollard rho攻击的一个粗略的描述 我们的目标是对任 ...
- 第四十九个知识点:描述在IPsec和TLS后的基本想法
第四十九个知识点:描述在IPsec和TLS后的基本想法 网络安全协议(Internet Protocol Security,IPsec)和安全传输层协议(Transport Layer Securit ...
随机推荐
- SQLITE_BTREE_H
sqlite3.c, 237436行 = 全部源文件,找东西比多文件查找方便多了:-),字符串查找一点都不慢. 不要太害怕,SQLite说它的代码里有非常多是用来做数据完整性检查和测试的.但愿B树,虚 ...
- ache
ache和pain可能没啥差别,头疼和头好痛都对.从词典来看,有backache, bellyache, earache, headache, heartache, moustache/mustach ...
- Spark基础:(五)Spark编程进阶
共享变量 (1)累加器:是用来对信息进行聚合的,同时也是Spark中提供的一种分布式的变量机制,其原理类似于mapreduce,即分布式的改变,然后聚合这些改变.累加器的一个常见用途是在调试时对作业执 ...
- canal从mysql拉取数据,并以protobuf的格式往kafka中写数据
大致思路: canal去mysql拉取数据,放在canal所在的节点上,并且自身对外提供一个tcp服务,我们只要写一个连接该服务的客户端,去拉取数据并且指定往kafka写数据的格式就能达到以proto ...
- midi的一些概念,包括一些音乐的概念
参考:http://www.yueqixuexi.com/jita/20180918205363.html https://blog.csdn.net/meicheng777/article/deta ...
- 容器之分类与各种测试(三)——slist的用法
slist和forward_list的不同之处在于其所在的库 使用slist需要包含 #include<ext\list> 而使用forward_list则需要包含 #include< ...
- 基于jar的Spring Boot工程
一.Spring Boot简介 Spring Boot是由Pivotal[ˈpɪvətl]团队(一家做大数据的公司)提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框架 ...
- 通过静态分析和持续集成 保证代码的质量 (Helix QAC)2
续上.... 第二章 部署示例:Jenkins and Helix QAC工具 第一节 Jenkins 作为持续集成系统 现在有很多持续集成工具,既有免费的,也有商业的.最近的研究显示,Jenkins ...
- 【JavaWeb】【MySQL】【edu01】jdbc.properties配置文件的编写
前提准备 导入 mysql-connector-java-版本号 的jar包 下面为大家提供几个jar包下载地址 点击进入下载界面 >>推荐 MySQL官方 多版本选择 点击进入下载界面 ...
- shell脚本 binlog方式增量备份mysql
一.简介 源码地址 日期:2018/4/12 介绍:复制Binlog日志方式的增量备份脚本,并保存固定天数的备份 效果图: 二.使用 适用:centos6+ 语言:中文 注意:使用前先修改脚本中变量 ...