des加密密码补位_密码学中的数据加密标准(DES)

des加密密码补位

This is a Data Encryption Standard that is the asymmetric key generation for the encryption of digital data in cryptography. Therefore, its short key length of 56 bits of character criticized from the beginning or starting makes it too insecure or safe for most current applications to use, it has been highly influential in the advancement of modern cryptography in the cryptoanalysis.

这是一种数据加密标准 ,它是用于加密中数字数据加密的非对称密钥生成。 因此,从一开始或一开始就批评它的56位字符的短密钥长度使其对于大多数当前应用程序来说太不安全或太安全了,它在密码分析的现代密码学发展中具有很大的影响力。

It was developed in the early 1970s at IBM and depends on an earlier design by Horst Feistel, the algorithm was submitted to the-National Bureau of Standards (NBS) following the agency's invitation to propose a candidate for the protection of sensitive, unclassified electronic government data in the cryptography. It will be developed in 1976, cryptography after consultation with the National Security Agency(NSA), the NBS eventually selected a slightly modified version in the cryptography as strengthened against differential cryptoanalysis, but weakened against brute force attack, which was described as an official Federal Information Processing Standard (FIPS) for the United States in 1977 in the whole world.

它是在1970年代初期由IBM开发的,并依赖于Horst Feistel的较早设计,该算法是在该机构邀请提出保护敏感的,未分类的电子政府的候选人之后,提交给国家标准局(NBS)的。加密中的数据。 它是在与国家安全局(NSA)协商后于1976年开发的密码学,国家统计局最终在密码学中选择了一个经过稍微修改的版本,以增强对差分密码分析的抵抗力,但对暴力破解的抵抗力却减弱了,这被描述为官方的联邦1977年,美国在全球范围内采用了信息处理标准(FIPS)。

加密过程 (Encryption Process)

It is a DES which is a block cipher, and encrypts data in blocks of size of 64 bit each of the messages, means 64 bits of plain text or original text goes as the input into the DES, which produces 64 bits of the character of ciphertext. A similar algorithm and key are used for encryption and decryption with minor differences between them. Here, the key length is 56 bits longs uses in cryptography in cryptoanalysis.

它是一种DES ,是一种分组密码,它以每个消息64位大小的块对数据进行加密,这意味着64位纯文本或原始文本将作为DES的输入,产生64位的字符。密文。 类似的算法和密钥用于加密和解密,它们之间的差别很小。 在此,密钥长度为56位长,用于密码分析中的密码学。

DES (1)

Here, DES is depended upon the Feistel Cipher, all that is required to specify DES in that way as,

此处,DES依赖于Feistel密码 ,以这种方式指定DES所需的全部条件如下:

  • Key Generation

    密钥生成

  • Round function

    圆形功能

  • Any additional processing − Initial and final permutation

    任何其他处理-初始和最终置换

密钥生成 (Key Generation)

The round-key generator forms sixteen 48-bit keys out of a 56-bit cipher key in the cryptography. The process of key generation is depicted in the following steps,

圆形密钥生成器在密码学中的56位密码密钥中形成16个48位密钥。 以下步骤描述了密钥生成的过程:

  • Initially key is of 64 bits.

    最初,密钥为64位。

  • Then it goes under PI(1) and after that, it develops key of 56 bits

    然后进入PI(1),此后,开发出56位的密钥

  • Then 56 bit of key divide into two half: left of 28 bit and right of 28 bit.

    然后将56位密钥分成两半:28位的左侧和28位的右侧。

  • In both half do the circular left shift according to the round with we perform.

    在两半中,根据我们执行的回合,圆形左移。

  • As we perform 1,2,9,16 we do circular left shift by one bit and remaining round circular left shift by 2 bit.

    当我们执行1,2,9,16时,我们将循环左移一位,而将剩余的循环左移2位。

  • After that combine the left and right half and form again 56 bit of key.

    之后,将左右一半结合起来再形成56位键。

  • Then again 56 bit of key goes under PI(2) as form a key of 48 bit.

    然后再将56位密钥作为48位密钥进入PI(2)。

  • This key is used in the DES block diagram.

    该密钥在DES框图中使用。

DES (2)

舍入函数 (Round Function)

The main or important or we can say that the heart of this cipher is the DES function, (f). This DES function applies 48-bit key cryptography to the rightmost 32 bits to produce a 32-bit output as a right.

主要的或重要的,或者我们可以说此密码的核心是DES函数( f) 。 此DES函数将48位密钥加密应用于最右边的32位,以产生32位的输出作为右边。

This function follows some steps,

此功能遵循一些步骤,

  • Expansion Permutation box

    扩展排列框

  • Xor with the key of 48 bit.

    使用48位密钥进行异或。

  • Substitution Box

    替代箱

  • Permutation box.

    排列框。

DES (3)
  • Expansion Permutation Box

    扩展排列框

    Here, right half input is 32-bit and the round key is a 48-bit, we first need to expand right half input to 48 bits.

    在这里,右半边输入是32位,而回合键是48位,我们首先需要将右半边输入扩展为48位。

    So, we have to expand the character as we take the 4 bit of 8 characters. In this, we simply convert the 4 bit of each character into 6 bit.

    因此,我们必须扩展字符,因为我们采用8位字符的4位。 在此,我们只需将每个字符的4位转换为6位。

    So, we have to expand the 4 bit as in the starting put the bit which presents at the last character of the bit and in the end put the second character first bit.

    因此,我们必须扩展4位,就像在开始时将出现在该位的最后一个字符处的位放到最后将第二个字符在第一位中放置一样。

    For example, we have text GIVE ME SOME MONEY, we write it in a four-bit as giving MESO MEMO NEYX now add the bits as tells you further as XGIVEM EMESOM OMEMON ONEYXG and here 16-bit convert into 24 bits.

    例如,我们有文本GIVE ME SOME MONEY,我们将其写为四位,因为MESO MEMO NEYX现在将这些位添加为XGIVEM EMESOM OMEMON ONEYXG,并在此将16位转换为24位。

    DES (4)
  • XOR

    异或

    After that the expansion permutation, DES does XOR operation on the expanded right section of 48 bit and the round key of 48 bit. The round key is used only in this operation and gave the output as 48 bit.

    在扩展排列之后,DES对48位的扩展右部分和48位的循环密钥进行XOR操作。 回合密钥仅在此操作中使用,并提供48位输出。

  • Substitution Boxes

    替代箱

    Thus, the S-boxes carry out the real mixing as confusion. DES uses 8 S-boxes, each with a 6-bit input as plaintext and a 4-bit output as it substitutes it. We have to simply convert 6 bit of character into 4 bit of character.

    因此,S盒作为混淆进行了真正的混合。 DES使用8个S盒,每个S盒具有6位纯文本输入和4位替代输出。 我们必须简单地将6位字符转换为4位字符。

    As we take the first bit or last bit combine as a row and remaining middle four-bit as give a column.

    当我们将第一位或最后一位合并为行,其余的中间四位合并为列时。

    For example, 010010 110010 we take 1 character 00 as 0 rows and 1001 as 9 columns.

    例如,010010 110010我们将1个字符00作为0行,将1001作为9列。

    DES (5)
  • Permutation

    排列

    The 32-bit output of S-boxes is then subjected to the straight permutation as it has a table according to this we simply update the values by seen in the table and gave an output of 32 bit which further uses as of right.

    然后,S-box的32位输出将进行直接置换,因为它具有一个根据此表的表,我们只需通过在表中看到的值来更新值,并给出32位的输出,该输出将继续使用。

初始和最终排列 (Initial and Final Permutation)

Simply in starting we take plaintext of 64 bit and divide it into two halves as lest and right each of 32 bits. We use the right half and the key applies to the round function and gave the right half and after then it combines with as Xor of left and right. After that in the second round, left half with came after XOR become right half and original right half become left half and further do this process till round 16.

刚开始时,我们采用64位的明文,以免将其分为两半,而正确地分为32位。 我们使用右半部分,并且将键应用于舍入函数,并给出右半部分,然后将其与左和右的Xor合并。 在第二轮之后,XOR变成右半,原来的右半变成左半之后再加上左半,然后继续这一过程直到第16轮。

In the end, the same steps follow and at last left half and right half of 32 bits combine or merge and form a ciphertext of 64 bits in the cryptography in the cryptoanalysis.

最后,执行相同的步骤,最后在加密分析的密码学中,32位的左半部分和右半部分组合或合并并形成64位的密文。

DES (6)

解密过程 (Decryption Process)

It is just the reverse of the encryption process it takes the ciphertext and gave the plain text by just follow the encryption process steps just reverse.

它只是加密过程的逆过程,它采用密文并通过遵循恰好相反的加密过程步骤来给出纯文本。

DES分析 (DES Analysis)

This DES satisfies both the desired properties of a block cipher in cryptography. There are two properties make cipher very strong as,

该DES满足密码术中分组密码的两个所需特性。 有两个属性使密码非常强大,因为:

  • Avalanche effect: In this, a small change in plaintext results in a very great change in the ciphertext in the cryptography.

    雪崩效应 :在这种情况下,明文的微小变化会导致密码术中的密文发生很大的变化。

  • Completeness: In each bit of ciphertext depends on many bits of plaintext in the cryptography.

    完整性 :密文的每一位都取决于密码术中许多明文。

Image references:

图片参考:

  • https://www.tutorialspoint.com/cryptography/data_encryption_standard.htm

    https://www.tutorialspoint.com/cryptography/data_encryption_standard.htm

翻译自: https://www.includehelp.com/cryptography/data-encryption-standard-des-in-cryptography.aspx

des加密密码补位

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

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

相关文章

报告老板:这次的缓存事故是这样的...

事故背景公司最近安排了一波商品抢购活动,由于后台小哥操作失误最终导致活动效果差,被用户和代理商投诉了。老板让我带同事们一起复盘这次线上事故。什么原因造成的?抢购活动计划是零点准时开始,22:00 运营人员通过后台…

隐式转换

2019独角兽企业重金招聘Python工程师标准>>> 1:隐式转换应用 1.1 隐式转换为期望类型 隐式转换为期望类型是编译器会使用隐式操作的第一个地方。一旦编译器看到了X,但是需要Y,就会检查从X到Y的隐式转换函数。例如: val…

双“11”搞促销?用贪心算法来盘他!

作者 | 王磊来源 | Java中文社群(ID:javacn666)转载请联系授权(微信ID:GG_Stone)这几年商家为了刺激消费是变着花样的推出各种各样的活动,以某多多为首的运营式电商更是让我们看到了营销的无限“…

AndroidStudio使用入门

AndroidStudio使用入门1_AndroidStudio activity的基本使用1.1_MainActivity和activity_main的初识1.2_Activity的清单文件简介1.3_几种重要文件的介绍1.4_基本布局的认识与使用1.4.1_RelativeLayout(相对布局)1.4.2_线性布局2_访问资源的方式2.1_java访问资源的方式2.2_xml访问…

面试官:你说说互斥锁、自旋锁、读写锁、悲观锁、乐观锁的应用场景?

前言生活中用到的锁,用途都比较简单粗暴,上锁基本是为了防止外人进来、电动车被偷等等。但生活中也不是没有 BUG 的,比如加锁的电动车在「广西 - 窃格瓦拉」面前,锁就是形同虚设,只要他愿意,他就可以轻轻松…

2万字,看完这篇才敢说自己真的懂线程池!

前言 线程池可以说是 Java 进阶必备的知识点了,也是面试中必备的考点,可能不少人看了一些文章后能对线程池工作原理说上一二,但这还远远不够,如果碰到比较有经验的面试官再继续追问,很可能会被吊打,考虑如下…

西南大学校园GIS平台

原文:西南大学校园GIS平台系统架构是B/S,开发语言是C#、silverlight,开发平台是.NET,数据库为sqlserver,这是我读研究生时候自己做的作品,以自己的母校为地图,进行GIS相关的功能分析,核心的模块有&#xff…

Android studio小问题解决

1_代码识别不出来问题 2_项目SDK与本地不匹配 先查看项目的SDK 增加本地SDK

2万字长文包教包会 JVM 内存结构

点击蓝色“Java中文社群”关注我哟加个“星标”,一起成长,做牛逼闪闪的技术人JVM ≠ Japanese Videos Man写这篇的主要原因呢,就是为了能在简历上写个“熟悉JVM底层结构”,另一个原因就是能让读我文章的大家也写上这句话&#xf…

虹软安卓人脸识别初学

1_下载SDK 进入虹软官网: 点击人脸识别SDK 进入开发者中心(注册登录) 新建应用并添加SDK 输入相应信息,确认 下载sdk 2_run示例代码注意事项 跑不起来的解决方法(SDK版本不一致) 3_激活并使用

css圆在中心根据宽度缩放_根据CSS中的容器宽度重新缩放字体

css圆在中心根据宽度缩放Introduction: 介绍: Dealing with fonts is a very interesting thing to do as fonts bring out the appearance of your website or a web page so you must choose the ideal fonts for your website or web page that helps in making…

Java中不可或缺的59个小技巧,贼好用!

来源:https://blog.dogchao.cn/?p70《Effective JavaJava》名著,必读。如果能严格遵从本文的原则,以编写API的质量来苛求自己的代码,会大大提升编码素质。以下内容只记录了我自己整理的东西,还是建议读原文。为了聚焦…

第一次使用Sourcetree成功上传gitee记录

第一次使用Sourcetree成功上传gitee记录2_克隆gitee仓库到本地1_设置密钥公钥3_上传本地工作区进而上传到gitee4_最后一步,将文件从本地master提交到gitee5_小问题汇总5.1_git远端打不开5.2_当有多个仓库在使用时设置多个密钥公钥5.3_账户公钥和仓库公钥使用ssh密钥…

SUBSTR函数的使用

http://docs.oracle.com/cd/E11882_01/server.112/e41084/functions181.htm#i87066Substr语法:substr函数返回字符的部分,从postition开始定位,返回可选的字符长度substring_length。substr根据char字符集的字节数来计算长度。substrb则使用位…

坑爹的 Lombok,把我害惨了!

来源:juejin.im/post/6881432532332576781序言去年在项目当中引入了Lombok插件,着实解放了双手,代替了一些重复的简单工作(Getter,Setter,toString等方法的编写),但是,在使用的过程当中,也发现了一些坑&…

数据结构学习笔记(六)链表算法题

假期结束,看点题目。 第一题 问题 设顺序表用数组A[]表示,表中元素存储在数组下标1~mn的范围内,前m个元素递增有序,后n个元素递增有序,设计一个算法,使得整个顺序表有序。 (1)给出算…

安卓第一次搭建C/S架构

1_数据库 2_服务端 服务端简单搭建准入门 使用json,导入jar包复制这段内容后打开百度网盘手机App,操作更方便哦 提取码: 3afj 在项目中建一个文件夹并粘贴进去 json与list的互转: import com.alibaba.fastjson.JSON;import j…

面试官不讲武德,竟然问了我18个JVM问题!

前言GC 对于Java 来说重要性不言而喻,不论是平日里对 JVM 的调优还是面试中的无情轰炸。这篇文章我会以一问一答的方式来展开有关 GC 的内容。本文章所说的 GC 实现没有特殊说明的话,默认指的是 HotSpot 的。我先将十八个问题都列出来,大家可…

2月第3周国内域名商TOP10:爱名网排名升至第八

IDC评述网(idcps.com)02月26日报道:根据WebHosting.info公布的最新数据显示,在2月第3周,国内域名商域名总量十强总体呈下降趋势。其中,降幅最大的是DNSPod,净减16,762个。另外,中国数…

Android JSON数据与实体类之间的相互转化-------GSON的简单用法

Android JSON数据与实体类之间的相互转化-------GSON的用法1_Gson的导入1.1_方法一:直接导入jar包1.2_方法二:引入依赖2_json形式的字符串互转实体对象2.1_json字符串与单个实体对象互转2.2_json与list互转3_遇到的问题3.1_前后端对象成员变量类型不一致…