`
ShXin
  • 浏览: 13037 次
  • 性别: Icon_minigender_2
  • 来自: 天津
社区版块
存档分类
最新评论

DES讲解

阅读更多

        DES加密算法整体来说分为两部分:明文部分、密钥部分,两部分分别处理后合并,继续执行某些操作行成密文。它的安全性取决于密钥的不可预测性,而不是加密方法的保密性。那么其实每一步的操作都是公开的,只是密钥无法被破解,之所以无法破解是因为密钥是8字节的,即64位二进制,破解起来很困难。

        由于一系列操作都是以8字节为基础,所以明文输入应该是为8字节,那显然,明文只能输8字节这并不合理,所以要给明文分组,每8字节一组,不足8字节就补0。(这里其实存在一个问题,补0固然可以加密,但是解密时,如何判断0是补的0还是明文本身就有的0,所以补足位的选取很重要,有兴趣的可以一起探讨。)

        这里设置了3个循环变量i,j,k。j代表了明文的组数,i代码明文循环的次数(即明文的组数),k代表密钥循环的次数。

        明文主要涉及的模块有:初始置换,扩展变换等。

        密钥主要涉及的模块有:置换选择1,循环移位等,置换选择2。

        明文和密文通过乘积变换组合在一起,其中包括S盒操作,置换运算P,以及初始逆置换,由此便可以形成密文。

        其中很重要的一个模块是S盒,S盒主要提供分组密码算法所必须的混淆作用,是许多密码算法的唯一非线性部件,它的密码强度决定了整个密码算法的安全强度。

        附件为DES的流程图,具体的操作步骤及方法请看附件。流程图可能有一些不标准的地方,欢迎指正。

        DES的解密即以上的逆过程。

  • 大小: 58.4 KB
0
1
分享到:
评论

相关推荐

    DES算法讲解.rar_des_des算法 64位_visual c_算法讲解

    一个很好的DES讲解

    DES算法讲解方法PDF

    DES算法讲解,DES算法讲解,DES算法讲解,DES算法讲解

    实际项目DES实例实际项目DES实例

    实际项目DES实例实际项目DES实例实际项目DES实例实际项目DES实例

    des-3225交换机配置讲解

    这份配置讲解将深入介绍如何设置和管理这款交换机,以确保网络的稳定运行和高效通信。 一、Des-3225交换机概述 Des-3225交换机拥有丰富的端口配置,通常包括千兆以太网接口和PoE(Power over Ethernet)功能,支持...

    nodejs实现3des(2倍长)加密方式,与DES加密工具一致

    本篇文章将详细讲解如何使用Node.js实现3DES(三重DES)加密,这是一种强化版的DES(数据加密标准)加密算法,以满足更高的安全性需求。 DES是一种古老的对称加密算法,它使用56位密钥对数据进行加密。然而,由于其...

    Qt DES_ECB加密解密类

    本文将详细讲解如何在Qt环境中使用DES_ECB进行加密和解密操作,并探讨其在JAVA和PHP中的通用性。 首先,DES_ECB加密解密类的核心在于实现DES算法的加密和解密过程。DES算法基于64位的数据块进行操作,通过一系列的...

    基于Java实现的加解密方法(DES、3DES、AES)以及五种分组密码工作模式

    本教程主要探讨了如何使用Java编程语言实现DES(Data Encryption Standard)、3DES(Triple DES)和AES(Advanced Encryption Standard)这三种常见的对称加密算法,并且详细讲解了五种分组密码的工作模式。...

    DESC3.js ,前端数据DES3加密\解密

    本文将详细讲解"DESC3.js",一个用于前端数据DES3加密和解密的JavaScript库,以及与其相关的基础知识。 DES(Data Encryption Standard)是一种古老的对称加密算法,它使用56位的密钥对数据进行加密和解密。由于其...

    des_JAVA演示

    本篇将详细讲解基于Java实现DES加密的原理、步骤以及如何参考提供的源代码进行实践。 DES算法起源于1970年代,由IBM公司开发,后被美国国家标准局采纳为标准。它采用64位的数据块和56位的密钥进行加密,通过一系列...

    DES加密python源码

    本篇将详细讲解DES加密算法的基本原理,以及如何通过Python代码实现这个过程。 首先,DES算法基于Feistel结构,它将一个64位的数据块分成左半部分L和右半部分R,然后通过一系列的迭代过程(16轮)进行加密。每轮...

    DES密码的matlab实现

    下面,我将详细讲解DES密码系统的原理以及MATLAB实现的关键步骤。 DES算法基于Feistel结构,包含16轮迭代过程,每轮包括分组、扩展、异或、置换四个步骤。具体流程如下: 1. **初始置换**:原始64位明文数据经过...

    3des计算工具

    资源包内含有 【des工具】, 包含 des 3des 异或 mac运算 分散运算 功能 如有疑问,可以添加微信 wx_16620104801 详细讲解

    des,3des,aes,md5,rsa

    本篇将详细讲解标题"des,3des,aes,md5,rsa"中涉及的五种加密算法,并在Java环境下如何使用它们。 1. DES(Data Encryption Standard):DES是一种古老的对称加密算法,使用56位的密钥,通过一系列置换和混淆操作对...

    des差分攻击

    在此,我们仅对一个s盒进行讲解。Ei中取前六位E,Ci中取前四位C。设s盒的直接六位输入为B,ki的前六位为K。则有: 接着,我们可以对输入B用000000-111111遍历一遍,找到满足两组异或的明文对,并分别和E异或得到的...

    des.rar_des_nios DES_nios 加密

    6. **移植到Nios**:这部分会讲解如何将C语言的DES代码编译为Nios处理器能理解的汇编代码,可能涉及优化代码以适应Nios处理器的特性,如内存访问和指令流水线等。 在实际应用中,Nios处理器上的DES加密可能会用于...

    DES+BASE64源代码

    本篇文章将深入探讨DES加密解密原理以及BASE64编码机制,并结合Java编程语言,讲解如何实现不依赖外部库的纯Java实现。 DES是一种对称加密算法,由IBM在1970年代初开发,后来被美国国家标准局采纳为标准。它基于一...

    用C语言实现DES加密与解密.doc

    本文主要讲解了使用C语言实现DES加密与解密的过程。DES(Data Encryption Standard)是一种对称加密算法,广泛应用于数据加密和解密领域。 首先,文章通过定义了多个数组,例如IP、IP_1、E和P等,这些数组都是DES...

    DES算法(delphi)

    DES算法(delphi),讲解了用delphi来实现经典加密算法的过程。

    DES加密算法设计

    从网上下载的一个文章,感觉这个是讲解DES加密算法写的最好的文章了。拿来分享。

Global site tag (gtag.js) - Google Analytics