术中导航_密码术中的计数器(CTR)模式

术中导航

The Counter Mode or CTR is a simple counter based block cipher implementation in cryptography. Each or every time a counter initiated value is encrypted and given as input to XOR with plaintext or original text which results in ciphertext block. The CTR mode is independent of feedback use and thus can be implemented in parallel in this mode. It generates the next keystream block by encrypting successive values as named as "counter". This counter can be any purpose or function which generates a sequence that is guaranteed not to call for a long time, although an actual increment-by-one counter is the simplest or easiest and most popular or famous. When utilization of the easiest deterministic input function or work used to be promoted or secret or controversial; attacker argued that "deliberately reveal a cryptosystem to a known systematic input represents an unnecessary or unused risk."

计数器模式或CTR是密码术中基于计数器的简单的块密码实现。 每次或每次对计数器的初始值进行加密,并以纯文本或原始文本作为XOR的输入时,都会产生密文块。 CTR模式与反馈的使用无关,因此可以在此模式下并行实现。 它通过加密名为“ counter”的连续值来生成下一个密钥流块。 该计数器可以是生成序列的任何目的或功能,该序列可以保证长时间不调用,尽管实际的逐一递增计数器是最简单,最简单,最受欢迎或最受欢迎的。 当使用最简单的确定性输入功能或以前曾被宣传,秘密或有争议的工作时; 攻击者认为“故意向已知的系统输入泄露密码系统表示不必要或未使用的风险”。

Its simple implementation is shown below as:

它的简单实现如下所示:

CTR


Image source: https://www.geeksforgeeks.org/block-cipher-modes-of-operation/

图片来源:https://www.geeksforgeeks.org/block-cipher-modes-of-operation/

We can be considered as a counter-based version of CFB mode without the feedback in this cryptography. In this mode, both the sender and receiver need to get access to a reliable counter, which finds out a new shared value each time a ciphertext block is exchanged or changes the value which is shared. This shared counter is not necessarily a secret value, but the challenge is that both sides must keep the counter synchronized at a time when both are active.

没有这种密码学的反馈,我们可以被视为CFB模式的基于计数器的版本。 在这种模式下,发送方和接收方都需要访问可靠的计数器,每次交换密文块或更改共享的值时,该计数器都会找到新的共享值。 该共享计数器不一定是一个秘密值,但是挑战在于,当双方都处于活动状态时,双方都必须保持计数器同步。

操作方式 (Operation)

Both encryption and decryption in CTR mode are depicted in the following illustration or steps. Steps in operation are,

下图或步骤描述了CTR模式下的加密和解密。 操作步骤如下:

  • Firstly, load the initial counter value in the top register is the same for both the sender and the receiver in this mode. It plays the same role as the IV in CFB (and CBC) mode similar way.

    首先,在此模式下,对于发送方和接收方,将初始计数器值加载到顶部寄存器中是相同的。 它在CFB (和CBC )模式下的作用与IV相似。

  • Then, encrypt the contents of the counter with the key and place the result in the bottom register in this mode.

    然后,用该密钥加密计数器的内容,并将结果放入此模式的底部寄存器中。

  • Then, take the first plaintext or original text block P1 and XOR this to the contents of the bottom register. The result of this is C1 as ciphertext. Send C1 as ciphertext to the receiver and update the counter in this mode. The counter update replaces the ciphertext feedback in CFB mode like no feedback required.

    然后,将第一个纯文本或原始文本块P1与其进行“异或”到底部寄存器的内容中。 其结果是C1作为密文。 将C1作为密文发送到接收器,并在此模式下更新计数器。 计数器更新将替换CFB模式下的密文反馈,就像不需要反馈一样。

  • Continue in this manner until the last plaintext block has been encrypted.

    以这种方式继续,直到最后一个明文块已被加密。

  • Thus, decryption is the reverse process. This ciphertext block is XORed with the output of encrypted contents of the counter value of shared. After decryption of each ciphertext, the block counter is updated as in case of encryption in the cryptography.

    因此,解密是相反的过程。 该密文块与共享计数器值的加密内容的输出进行异或。 在解密每个密文之后,与在加密中加密的情况一样,更新块计数器。

计数器模式分析 (Analysis of Counter Mode)

  • It does not have message dependency and hence a ciphertext block does not depend on the previous plaintext or original text blocks.

    它不具有消息依赖性,因此密文块不依赖于先前的明文或原始文本块。

  • Similar to CFB mode, CTR mode does not involve the decryption process of the block cipher in that way. This is because the CTR mode is using the block cipher to generate a key-stream, which is encrypted using the XOR function in cryptography. In other words, CTR mode also converts a block cipher to a stream cipher in cryptography.

    与CFB模式类似,CTR模式不以这种方式涉及分组密码的解密过程。 这是因为CTR模式使用分组密码生成密钥流,该密钥流使用密码学中的XOR函数进行了加密。 换句话说,CTR模式还将密码学中的块密码转换为流密码。

优点 (Advantages)

  • Wherever CTR mode has mostly all benefits of CFB mode. Just beside, it does not propagate the error of transmission at all in this mode.

    在任何地方,CTR模式都具有CFB模式的所有优势。 紧挨着,在这种模式下它根本不会传播传输错误。

缺点 (Disadvantages)

  • The main disadvantage of CTR mode is that it requires a synchronous counter at the sender and receiver in this mode. Decreases of synchronization lead to the incorrect recovery of plaintext or original text.

    CTR模式的主要缺点在于,在此模式下,发送方和接收方都需要一个同步计数器。 同步减少会导致不正确地恢复纯文本或原始文本。

翻译自: https://www.includehelp.com/cryptography/counter-ctr-mode-in-cryptography.aspx

术中导航

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/544190.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android社交类APP动态详情代码实现通用模板

Android社交类APP动态详情代码实现通用模板 Android平台上一些比较流行的社交类APP比如微信、陌陌等,都有动态详情页,在该页面,用户发表的动态详情,好友可以发起评论、点赞等等。这种设计在微信和陌陌上大…

聊聊并发编程的12种业务场景

前言并发编程是一项非常重要的技术,无论在面试,还是工作中出现的频率非常高。并发编程说白了就是多线程编程,但多线程一定比单线程效率更高?答:不一定,要看具体业务场景。毕竟如果使用了多线程,…

梳理50道经典计算机网络面试题

我梳理了50道计算机网络面试题,每一道题目都特别经典,大厂也非常喜欢问。相信大家看完,会有新的收获滴~1. 说说HTTP常用的状态码及其含义?思路: 这道面试题主要考察候选人,是否掌握HTTP状态码这个基础知识点。不管是不…

A successful Git branching model

原文:http://nvie.com/posts/a-successful-git-branching-model/ In this post I present the development model that I’ve introduced for all of my projects (both at work and private) about a year ago, and which has turned out to be very successful. I…

一文详解读写锁

作者 | 磊哥来源 | Java面试真题解析(ID:aimianshi666)转载请联系授权(微信ID:GG_Stone)读写锁(Readers-Writer Lock)顾名思义是一把锁分为两部分:读锁和写锁&#xff0c…

[实战]MVC5+EF6+MySql企业网盘实战(2)——用户注册

写在前面 上篇文章简单介绍了项目的结构,这篇文章将实现用户的注册。当然关于漂亮的ui,这在追后再去添加了,先将功能实现。也许代码中有不合适的地方,也只有在之后慢慢去优化了。 系列文章 [EF]vs15ef6mysql code first方式 [实战…

下个十年高性能 JSON 库来了:fastjson2!

作者 | 磊哥来源 | Java中文社群(ID:javacn666)转载请联系授权(微信ID:GG_Stone)fastjson2 是 fastjson 项目的重要升级,目标是为下一个十年提供一个高性能的 JSON 库,同一套 API 支…

THEOS的第一个TWeak的成功创建

THEOS的第一个TWeak的成功创建THEOS的第一个TWeak的成功创建参考资料:成功的创建一个TWeak的弹出步骤1:安装Xcode和Xcode command line步骤2:安装theosa:下载theos前,设置保存的路径:环境变量b:下载theosc:下载头文件d:下载ldid签名工具e:配置MoblieSubstrate环境f:安装dpkg步骤…

查询中,有没有可能多个索引一起用呢?

其实我们之前所讲的回表,就是两个索引树同时使用,先在二级索引树中搜索到对应的主键值,然后在再去主键索引树中查询完整的记录。但是我今天的问题是,两个不同的二级索引树,会同时生效吗?理论上来说&#xf…

ThreadLocal夺命11连问

前言前一段时间,有同事使用ThreadLocal踩坑了,正好引起了我的兴趣。所以近期,我抽空把ThreadLocal的源码再研究了一下,越看越有意思,发现里面的东西还真不少。我把精华浓缩了一下,汇集成了下面11个问题&…

Spring Boot 优雅配置多数据源

大约在19年的这个时候,老同事公司在做医疗系统,需要和HIS系统对接一些信息,比如患者、医护、医嘱、科室等信息。但是起初并不知道如何与HIS无缝对接,于是向我取经。最终经过讨论采用了视图对接的方式,大致就是HIS系统提…

(转)新ITC提交APP常见问题与解决方法(Icon Alpha,Build version,AppIcon120x120)(2014-11-17)...

1)ICON无法上传,提示图片透明(有Alpha通道)苹果现在不接受png里的Alpha了,提交的图标带有Alpha通道就提示:简单处理:用自带的预览打开,导出时不勾选Alpha,仍保存为png格式…

Spring 夺命 35 问!

有人说,“Java程序员都是Spring程序员”,可以看出Spring在Java世界里举足轻重的作用。基础1.Spring是什么?特性?有哪些模块?Spring Logo一句话概括:Spring 是一个轻量级、非入侵式的控制反转 (IoC) 和面向切…

Android百度地图开发03之地图控制 + 定位

前两篇关于百度地图的blog写的是,一些基本图层的展示 和 覆盖物的添加地理编码和反地理编码。 接下来,这篇blog主要说一些关于地图控制方面的内容和定位功能。 百度地图提供的关于地图的操作主要有:单击、双击、长按、缩放、旋转、俯视等。 地…

IDEA 版 Postman 面世了,功能真心强大!

IDEA是最常用的开发工具,很多程序员都想把它打造成一站式开发平台,于是安装了各种各样的插件。最近发现了一款IDEA插件RestfulFastRequest,细节做的真心不错,说它是IDEA版的Postman也不为过,推荐给大家!Res…

DNS子域授权

转载于:https://blog.51cto.com/changeflyhigh/1697257

mongo数据库插入数据_深入研究Mongo数据库

mongo数据库插入数据More popularly known as "mongoDB". It is a no-sql based database. 俗称“ mongoDB” 。 这是一个基于无SQL的数据库。 BASIC STRUCTURE OF MONGO DB MONGO DB的基本结构 A COLLECTION IN MONGODB having 3 DOCUMENTS MONGODB中有3个文档的集…

五分钟,手撸一个Spring容器!

Spring是我们最常用的开源框架,经过多年发展,Spring已经发展成枝繁叶茂的大树,让我们难以窥其全貌。这节,我们回归Spring的本质,五分钟手撸一个Spring容器,揭开Spring神秘的面纱!从什么是IOC开始…

Spring Cloud OpenFeign 的 5 个优化小技巧!

作者 | 磊哥来源 | Java中文社群(ID:javacn666)转载请联系授权(微信ID:GG_Stone)OpenFeign 是 Spring 官方推出的一种声明式服务调用和负载均衡组件。它的出现就是为了替代已经进入停更维护状态的 Feign&am…

Java常用类:7000字一次性帮你总结好啦!

来源:cnblogs.com/lwtyyds/p/15678152.html常用类概述内部类内部类的分类:1.成员内部类(非静态内部类)2.局部内部类4.匿名内部类Object类Object类常用方法:1.equals方法2.hashCode方法3.toString方法4.finzlize方法包装…