奇妙的安全旅行之DES算法(一)

判断素数并求和用平方根算法(C语言) 阅读详情

hi,大家好,从今天开始我们介绍加密算法中的对称加密算法。相信大家看了前几篇文章,已经对摘要算法的使用已经有了比较深的认识,摘要算法由于其算法特性,只能单向加密,无法对数据反向解密,这时对称加密算法就出现了。对称算法主要有DES、3DES 和 AES,今天我们重点介绍一下对称加密算法中的DES 算法。

DES 算法介绍

DES (Data Encryption Standard)算法是世界上最常用的加密算法。在很长时间内,许多人心目中“密码生成”与DES一直是个同义词。尽管后来有个叫Electronic Frontier Foundation的组织造了台价值22万的机器尝试破解DES加密的数据,直到现在DES和它的变种3DES(三重数据加密算法)仍然在政府和银行中被广泛使用。

注:在2001年AES算法成为了DES算法的替代品。

国家标准局催生了DES

1973年5月,在尼克松任期,美国国家标准局下发了红头文件,征求加密算法来保护传输过程中的数据。国家标准局等了很久一直没有人投标,一直到1974年8月6日,尼克松卸任前三天,IBM才拿出了自己家开发的一套代号LUCIFER(金星)的东西。美国安全局评估后,在1977年7月15日采用了LUCIFER的一个变种作为数据加密标准DES。

DES很快被非数字媒体采用,比如电话线中的信号加密。在那些年里,国际香料组织IFF曾用DES来加密那些用电话线传输的秘密配方。(“With Data Encryption, Scents Are Safe at IFF,” Computerworld 14, No. 21, 95 (1980))

同时,作为政府之后第二大急需加密的银行业也将DES作为广泛应用的标准,美国国家标准协会ANSI制定了整个银行业的加密规范。1980年采用的ANSI X3.92指定了DES算法的应用。

DES 算法特点
  • DES加密算法属于对称加密,加密与解密用的是同一个密钥。

  • DES加密算法要求密钥必须是8个字节,即64bit长度;有效秘钥长度为56位,每个字节第8位用作奇偶校验。

  • 因为密钥是byte[8],代表字符串也可以是非可见的字节,可以与Base64编码算法一起使用。

  • 加密、解密都需要通过字节数组作为数据和密钥进行处理。

  • DES 算法是两种加密技术的组合:混乱和扩散。先替代后置换。

  • 易于实现,DES 算法只是使用了标准的算术和逻辑运算,其作用的数最多也只有64 位,因此用70年代末期的硬件技术很容易实现。

DES 算法的优缺点
优点:
  • 效率高,算法简单,系统开销小

  • 适合加密大量数据

  • 明文长度和密文长度相等

缺点:
  • 需要以安全方式进行秘钥交换

  • 秘钥管理复杂

DES算法具有很高的安全性,到目前为止,除了用穷举搜索法对DES算法进行攻击外,还没有发现更有效的办法。而56位长的密钥的穷举空间为256,这意味着如果一台计算机的速度是每一秒种检测一百万个密钥,则它搜索完全部密钥就需要将近2285年的时间,可见,这是难以实现的,当然,随著科学技术的发展,当出现超高速计算机后,我们可考虑把DES密钥的长度再增长一些,以此来达到更高的保密程度。

DES 加密原理:

DES 使用一个 56 位的密钥以及附加的 8 位奇偶校验位,产生最大 64 位的分组大小。这是一个迭代的分组密码,使用称为 Feistel 的技术,其中将加密的文本块分成两半。使用子密钥对其中一半应用循环功能,然后将输出与另一半进行"异或"运算;接着交换这两半,这一过程会继续下去,但最后一个循环不交换。DES 使用 16 个循环,使用异或,置换,代换,移位操作四种基本运算。

DES的加密过程
  1. 64位密钥经子密钥产生算法产生出16个48位子密钥:K1,K2,…,K16,分别供第1次,第2次,…,第16次加密迭代使用。

  2. 64位明文首先经过初始置换IP,将数据打乱重新排列并分成左右两半,左边32位构成L0,右边32位构成R0。

  3. 第i次加密迭代:由轮函数f实现子密钥Ki对Ri-1的加密,结果为32位的数据组f ( Ri-1 , Ki )。f ( Ri-1 , Ki )再与Li-1模2相加,又得到一个32位的数据组Li-1 ⊕ f ( Ri-1 , Ki )。以Li ⊕ f ( Ri-1 , Ki )作为下一次加密迭代的Ri,以Ri-1作为下一次加密迭代的Li ( i = 1,2,…,16)。

  4. 按照上一步的规则进行16次加密迭代。

  5. 第16次加密迭代结束后,以R16为左,L16为右,合并产生一个64位的数据组。再经过逆初始置换IP-1,将数据重新排列,便得到64位密文。

DES的解密过程
  1. 64位密钥经子密钥产生算法产生出16个48位子密钥:K1,K2,…,K16,分别供第1次,第2次,…,第16次解密迭代使用。

  2. 64位密文首先经过初始置换IP,将数据打乱重新排列并分成左右两半,左边32位构成R16,右边32位构成L16。

  3. 第17-i次解密迭代:由轮函数f实现子密钥Ki对Li的解密,结果为32位的数据组f ( Li , Ki )。f ( Li , Ki )再与Ri模2相加,又得到一个32位的数据组Ri ⊕ f ( Li , Ki )。以Ri ⊕ f ( Li , Ki )作为下一次解密迭代的Li-1,以Li作为下一次解密迭代的Li-1 ( i = 16,15,…,1)。

  4. 按照上一步的规则进行16次解密迭代。

  5. 第16次解密迭代结束后,以L0为左,R0为右,合并产生一个64位的数据组。再经过逆初始置换IP-1,将数据重新排列,便得到64位明文。

奇妙的安全旅行之DES算法(二) hi,大家好,上一节我们详细介绍了对称加密算法DES的基本内容,由于明文的长度不固定,而加密算法只能处理特定长度的一块数据,所以就需要对比较长的明文进行分组后再加密,但是分组后,最后一组的长度可能又会出现位数长度不够的情况,所以就又需要根据填充模式来对最后一组报文进行填充。 对称加密的分组模式 对称加密一共有五种分组模式,下面我们来介绍一下。 1. ECB - Electronic Code Book, 电子密码本模式 优点: 简单,效率高 有利于并行计算 误差不会被传送 缺点: 密文有规律,容易被 阅读详情

相关推荐

奇妙的安全旅行之国密算法

hi,大家好,我是开发者FTD。今天我们来介绍一下我们国家密码局制定的加密算法 — 国密算法。 为什么要制定国密算法? 密码算法是保障信息安全的核心技术,尤其是我国最关键的银行业核心领域长期以来都是沿用MD5、3DES、SHA-256、RSA等这些国际通用的密码算法体系及相关标准。 随着金融安全上升到国家安全高度,近年来国家有关机关和监管机构站在国家安全和长远战略的高度提出了推动国密算法应用实施、加强行业安全可控的要求。摆脱对国外技术和产品的过度依赖,建设行业网络安全环境,增强我国行业信息系统的“安全可控”

ForTheDevelopers的博客 1469

奇妙的安全旅行之加密算法(完整版)

hi,大家好,我是开发者FTD。之前我在公众号写了一个工作中常用加密算法系列的文章终于肝完了,为了方便小伙伴们查看和收藏,我将这个系列汇集整理成了一个PDF文档,有需要的小伙伴可以关注公众号,在公众号后台回复 加密算法 就可以下载了。 优快云的小伙伴也可以直接在站内资源下载,地址为:https://download.youkuaiyun.com/download/ForTheDevelopers/15309483 加密算法属于比较冷门的知识内容,但是在我们的工作和生活中确是越来越重要的一部分了,了解这部分的知识还是非

ForTheDevelopers的博客 451

奇妙的安全旅行之AES算法

hi,大家好,今天开始我们来介绍一下对称加密算法中的AES算法。 AES简介 AES(英语:Advanced Encryption Standard,缩写:AES),即高级加密标准,在密码学中又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准。这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用。经过五年的甄选流程,高级加密标准由美国国家标准与技术研究院(NIST)于2001年11月26日发布于FIPS PUB 197,并在2002年5月26日成为有效的标准。2006年,AES算法已

ForTheDevelopers的博客 1400

奇妙的安全旅行之加密算法概述

前言 hi,大家好呀,信息安全作为当前社会中比较重要的一个课题,已经覆盖了人们生活的方方面面,虽然有时候我们可能并没有意识到,其实信息安全防护已经在背后默默的保护我们的信息安全了。例如,当你在互联网上浏览网站时;当你准备注册或者登陆一个网站,需要输入密码时;当你在购物网站买商品进行支付时;当你到银行取钱时… 可以说信息安全是关系国家、城市信息、行业用户、百姓利益的关键问题,尤其是数据安全,身份隐私等信息的安全对于每个人都很重要。互联网最初,大家的安全意识还没有那么高,很多信息都是明文传输,甚至数据库中也是明

ForTheDevelopers的博客 582

VS Code里写“日记”是什么体验?MarkWhen插件帮你把生活琐事变成可视化时间线

本文介绍了如何在VS Code中使用MarkWhen插件将生活琐事转化为可视化时间线。通过简单的文本输入,用户可以创建包含事件、标签、人物和地理位置的多维度时间轴,适用于日记记录、项目管理和健康跟踪等多种场景。这款时间轴插件不仅提升了记录效率,还能通过数据可视化帮助用户进行年度复盘和生活分析。

weixin_30723433的博客 664

C#数据科学应用:利用.NET for Apache Spark

通过今天的探险,我们不仅学会了如何在C#中使用.NET for Apache Spark处理和分析大规模数据,还了解了如何构建和训练机器学习模型。这不仅仅是一场技术的旅行,更是一次思维的飞跃,让我们从数据的海洋中,提炼出了宝贵的洞察和知识。愿你在数据科学的道路上,越走越远,愿你的代码之路充满魔法与惊喜。让我们一起在数据的奇幻世界里,继续探索和成长吧!🚀🌟🌈小贴士:记得在处理大量数据时,适时使用缓存和持久化操作,以提高数据处理的效率哦!彩蛋。

java专栏 1930

LUCIFER加密解密算法

LUCIFER加密算法.zip

LUCIFER加密算法.zip

5-->详解《switch 数据接收驱动框架、mtk7621集成交换芯片mt7530》之一

SWITCH 交换芯片驱动配置: 一、 配置 MDIO 总线 二、配置 MAC 接口 三、基于 MAC 的 DMA 配置 四、设备驱动结构体 五、数据收发包

weixin_38387929的博客 1万+

rk3588 Android HDMI IN热插拔解决

1、公司在使用 别的厂商的板卡遇到一个问题,开机我们的app自启就会闪退,后来定位发现是camera 的open出错了,这个问题的出现是因为没有插HDMI IN输入的问题导致的,所以需要对HDMI IN的热插拔进行检测,后面我把这个问题也顺利解决了。下面是我的尝试和使用的解决办法。3、话不多说,我用的是读取系统文件实现的,但是这个方法,需要有status文件的系统读权限,可以修改设备下的/vendor/etc/init/hw/init.rk3588.rc文件修改的权限,这个问题交给自己或者厂家协商解决。

qq_54089476的博客 1920

【EtherCAT实践篇一】TwinCAT 3安装、使用

FULL(XAE)安装包:包含了XAR的功能,并能进行多种语言的编程和硬件组态,通常安装在编程电脑上;XAR安装包:包含了ADS的功能,是实时运行环境,对 TwinCAT 模块进行加载、执行、管理、实时运行与调用,通常安装在PLC中;RM安装包:在装了高版本的TwinCAT 3后,发现PLC中的TwinCAT版本较低,就需要安装相应低版本的RM安装包切换版本使用(注:4024无法使用RM安装包切换到低于4022的版本,如4020/4018/4016版本。

JXES智能生态系统 5128

材料仿真软件:Quantum Espresso_(15).声子与振动模式计算

通过上述步骤和代码示例,您应该能够使用 Quantum Espresso 进行声子与振动模式的计算。声子计算是材料科学研究中的重要工具,可以帮助我们更好地理解和设计材料的性能。希望本节内容对您有所帮助。

kkchenjj的博客 1185

在 TASKPROCESSING 上为 ABAP OData 服务添加多个系统别名:从原理到落地的完整实践

本文面向SAP Gateway与ABAP开发者,详细讲解如何在TASKPROCESSING OData服务上添加系统别名。首先介绍了系统别名的概念与设计初衷,阐述了添加别名的业务场景需求,包括多系统接入、用户分流和灰度发布等。随后提供了标准配置步骤,从SPRO路径到具体操作说明,并分享了三个实际案例说明如何实现跨区域统一待办、按用户角色分流和灰度发布。最后给出了验证方法和常见问题解决方案,帮助开发者掌握这项基础但关键的配置技能,实现服务路由的可控管理。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 137

【ComfyUI】Wan2.2 Animate 背景保留动作迁移视频生成

本文介绍了一个基于ComfyUI的高精度视频生成工作流"Wan2.2 Animate",该系统融合动作捕捉、图像拼接和LoRA加权等技术,能自动识别人脸并完成精准动作迁移,同时保持背景稳定。工作流采用模块化设计,包含输入提取、图像融合、模型加载等关键节点,核心模型Wan2.2-Animate-14B支持fp8精度与BlockSwap控制。流程分为图像输入、动作提取、多图合成等五个阶段,通过文本提示编码器和图像语义编码器实现语义驱动的动作生成,最终输出高质量视频,适用于虚拟形象驱动和

Mr数据杨 2271

【数据集】CMIP6气候模式数据下载

简介CMIP6及其气候模式数据下载

WW、forever的博客 9359

UNet + Shuffle Attention:一种轻量高效的医学图像分割注意力机制

本文提出了一种轻量高效的医学图像分割方法,将Shuffle Attention模块嵌入UNet的上采样路径中。Shuffle Attention通过通道分组注意力机制增强关键特征,同时保持计算轻量化。该方法在上采样后应用注意力模块,有效融合高层语义与低层细节,计算开销小且易于部署。实验表明,该模型在保持UNet原有优势的基础上,通过注意力机制提升了特征聚焦能力,适用于多种图像分割任务。未来可进一步结合空间注意力或Transformer模块以增强模型性能。

Henry的博客 240

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

上一篇: 奇妙的安全旅行之HMAC算法
下一篇: 2020,再见;2021,我来了!
我是开发者FTD
博客等级 码龄6年 13粉丝 25原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值