美文网首页
分组密码DES

分组密码DES

作者: suntwo | 来源:发表于2019-05-10 15:16 被阅读0次

分组密码的原理

DES是分组密码,分组密码将消息进行等长分组,使用同一密钥对每个分组进行加密。

DES算法

  • DES是一个迭代分组密码,使用64位长的密钥加密64位长的明文,获得64位长的密文,使用轮函数是Feistel,迭代16轮。
  • 加密流程:明文(64位)->初始置换ip->16轮Feistel->逆初始置换ip->密文(64位)

流程

1.给定一个明文m,首先通过一个固定的初始置换ip得到m0,然后将m0分为左右两部分,即m0=L0+R0,分别为m0的左右两部分,均为32位。ip置换的作用是使打乱原来的顺序。

初始ip置换表:

58,50,42,34,26,18,10,2,60,52,44,36,28,20,12,4,
62,54,46,38,30,22,14,6,64,56,48,40,32,24,16,8,
57,49,41,33,25,17,9,1,59,51,43,35,27,19,11,3,
61,53,45,37,29,21,13,5,63,55,47,39,31,23,15,7,

2.使用密钥对R0和L0进行16轮迭代运算,运算规则:


adaf2edda3cc7cd9ca7533aa3901213fb80e916c.jpg

3.DES的核心是非线性函数f,函数的输入有两个变量,一个是32bit的Ri-1,另一个是48bit的ki-1,输出的结果为32bit。

4.首先利用扩展置换E,将Ri-1扩展成一个48bit的串,然后将扩展后的结果和ki进行异或运算,将所得到得结果48bit分成8个6bit的串 IMG_20190510_154656.jpg

5.将上步得到的8个6bit的串,分别作为S盒的输入,每个S盒都将6bit的消息映射成一个4bit的消息,X1X6转换成十进制,对应表中的行号,X2X3X4X5转换成十进制,对应于表中的列号,通过对比S盒返回一个数字,将数字转换为四个二进制表示的数。

IMG_20190510_154714.jpg

6.运行完8个S盒后,返回32bit的串,再将这32bit使用P置换,即可得到f函数的输出。
7.最后一轮迭代,左右两个32bit并不叫唤,再对R16L16进行ip逆置换,即可得到密文c。


IMG_20190510_154726.jpg

相关文章

  • Java分组密码算法DES

    Java分组密码算法DES 1实验内容 掌握分组密码算法DES方法,能用高级语言实现分组密码算法DES。DES算法...

  • 分组密码DES

    分组密码的原理 DES是分组密码,分组密码将消息进行等长分组,使用同一密钥对每个分组进行加密。 DES算法 DES...

  • 4.分组密码

    重点:分组密码的设计思想分组密码的基本特点AES、DES密码算法AES和DES各自组成、每部分的实现过程以及特点A...

  • 密码技术(四)之分组模式概要

    分组密码的模式 ——分组密码是如何迭代的 简介  前面介绍的DES和AES都属于分组密码,它们只能加密固定长度的明...

  • 分组密码--DES算法

    什么是DES算法 DES是一种对称密码,加密和解密用的都是同一个密钥,有效密钥长度为56位。DES是一个分组密码算...

  • 分组密码之DES

    算法分析 DES是一个对称密码体制,加密解密使用同一秘钥,有效密钥长度为56比特。 DES是一个分组密码算法,明文...

  • 图解密码技术学习-第四章 分组密码的模式

    概述 什么是模式 第三章介绍的对称密码算法DES、AES都属于分组密码,分组密码的特点是分组的长度是固定的。但是由...

  • 5.1 密码学专题 - 对称加密算法 - 详解 DES 算法

    密码学专题 - 对称加密算法 - DES 算法 5.1 DES 的描述 DES 是一个分组加密算法,它以 64 位...

  • 【猫说系列】密码学

    【密码学】 1、对称加密 2、非对称加密3、DES 4、分组密码5、公钥密码学6、Hash7...

  • 对称加密三:分组加密常见分组模式

    3.分组密码的模式 前面介绍的DES和AES都属于分组密码,它们只能加密固定长度的明文。如果需要加密任意长度的明文...

网友评论

      本文标题:分组密码DES

      本文链接:https://www.haomeiwen.com/subject/kjbagqtx.html