密码学_DES加密算法

news2025/1/10 16:51:34

目录

DES(Data Encryption Standard)

IP置换:

E盒扩展

S盒压缩

P盒置换

K密钥生成

PC-1置换表(通常用此表):

PC-2置换表(通常用此表):

IP-1逆置换表


DES(Data Encryption Standard)

对称加密-分组加密(块加密),虽然已经被破解,但是值得学习!
典型流程:16轮运算,当n个64位明文经过DES加密处理后,得到的n个64位数据串起来密文

如图示其中一组64位明文的加密过程:


 

IP置换:

        IP置换通过IP置换表来进行,该表为一个8X8的表,格子中的数字代表位置。该表的值通常是固定的,置换后的数据表和置换前的数据表的关系是:

举例:将输入的64位明文的第58位置换到第1位,第50位置换到第2位。

查看源图像

E盒扩展

        通过扩展,将32位的R数据扩展为48位的,以便下一步和48位的密钥进行异或。扩展方式如下。

 经过如此操作之后,32位的R数据将被扩展到48位。

S盒压缩

        S盒压缩是通过将8组6位的数据进行依次转换得到32位数据的过程,需要依靠八张S表。

首先看转换过程:

假设第一组数据为:101001

第一步:取其头尾组合再转10进制:10100变为:11,将其转换为十进制后变为:3

第二步:取其中间在转16进制:101001 变为:0100 ,将其转换为十进制后变为:4

第三步:以3为行,4为列,找到S1表中的对应的值再将其转换为二进制,得到4个bit

如S1表中的3行4列对应的数字为:13,将其转换为二进制就是:1101

总共8张S表,对应八组6个bit的数据,经过转换后得到8组4位数据,也就是32位的数据。

注意:一个bit就是一个位,8个bit就是一个字节,一个字就是2个字节,也就是16位。

八张S表如下:

P盒置换

        原理和IP置换一样,这里不再讲述。

 P盒置换表(通常用此表):

K密钥生成

        16轮运算会有16个不同的k密钥作为输入在F轮函数中与E盒扩展后的48位数据做异或。DES的密钥本来是64位,但是有8位是作为校验位,将通过置换选择(PC-1)被剔除,剩下的56位将通过置换选择(PC-2)运算再剔除8位,得到48位的密钥,这16个密钥的生成如下:

        置换选择(PC-1):首先对64位的k密钥进项PC-1置换,剔除了8,16,24,32,40,48,56,64这8个位置的数据,最后根据置换原理(同上IP和P盒置换)得到一个8X7的表。

PC-1置换表(通常用此表):

        现在就只有56位数据了,然后通过置换选择(PC-2)通过移位技术,得到48位的k密钥。剔除了9,18,22,25,35,38,43,54具体如下:

PC-2置换表(通常用此表):

IP-1逆置换表

  查看源图像

 个人学习,若有错误,欢迎指正。

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

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

相关文章

MyBatis的SQL执行结果和客户端执行结果不一致问题排查

MyBatis的SQL执行结果和客户端执行结果不一致问题排查问题引入测试表、测试数据问题介绍排查问题调试 MyBatis源码JDBC 执行 SQL解决问题待解决问题最近遇到一个调试很久的问题,MyBatis 查询 Oracle 数据库查询结果与在客户端查询结果不一致。 问题引入 测试表、测…

自动化审批流程有哪些?使用中的优点是什么

自动化审批对HR管理有多重要呢?相信每一位HR都会希望让审批流程实现自动化,从而释放更多的时间去处理更加复杂的工作。 在人力资源管理过程中,自动化审批可以有效帮助HR提高流程效率。当管理人员每天收到很多审批请求之后,如果不…

AVS3中的AMVR和EMVR

在AVS2中运动预测中使用的MV都是1/4像素精度,通过在整像素间插值能显著提升非整像素运动预测的精度,同时带来的问题是随着MV精度的提高编码MVD所需的比特数也会增加。 AMVR AMVR支持的MVD编码5种精度的MVR{1/4,1/2,1,2,4},索引为0到4&#x…

IU5706 外置MOS、33V输出大功率同步升压芯片产品介绍

概要 IU5706E是高性能宽输入范围(4.5V~24V)同步升压控制器,支持高达33V的输出电压。输出电压采用恒定频率电流模式脉宽调制(PWM)控制来实现调节。 芯片通过外部定时电阻器或通过与外部时钟信号同步来设置开关频率。在电…

PGL 系列(五)DeepWalk

DeepWalk 通过随机游走(truncated random walk)学习出一个网络的表示,在网络标注顶点很少的情况也能得到比较好的效果。随机游走起始于选定的节点,然后从当前节点移至随机邻居,并执行一定的步数,该方法大致可分为四个步骤: (a) 展示了原始的用户行为序列。(b) 基于这些用…

Redis架构 - Sentinel哨兵模式

简介 Redis Sentinel是Redis官方提供的一个高可用方案。是一种用于监控、提醒和自动故障转移的系统。它可以监控多个Redis实例,并在主服务器出现故障时执行故障转移,将从服务器升级为主服务器。 在Sentinel模式下,可以设置多个Sentinel实例…

6.1 函数基础

文章目录编写函数调用函数形参和实参函数的形参列表函数的返回类型局部对象自动对象局部静态对象函数声明在头文件中进行函数的声明分离式编译编译和链接多个源文件一个典型的函数 定义包括以下部分:返回类型、函数名字、由0个或多个形参组成的 列表以及函数体。其中&#xff0…

数据库,计算机网络、操作系统刷题笔记20

数据库,计算机网络、操作系统刷题笔记20 2022找工作是学历、能力和运气的超强结合体,遇到寒冬,大厂不招人,可能很多算法学生都得去找开发,测开 测开的话,你就得学数据库,sql,oracle…

第三十章 数论——扩展中国剩余定理

第三十章 数论——扩展中国剩余定理一、中国剩余定理的弊端二、扩展中国剩余定理1、作用2、内容3、问题4、代码一、中国剩余定理的弊端 在第二十九章中,作者详细地讲解了中国剩余定理的使用,在开始本章节的讲解之前,建议读者先去看上一章节的…

Tensorflow2 图像分类-Flowers数据深度学习模型保存、读取、参数查看和图像预测

目录 1.原文完整代码 1.1 模型运行参数总结 1.2模型训练效果 ​编辑2.模型的保存 3.读取模型model 4.使用模型进行图片预测 5.补充 如何查看保存模型参数 5.1 model_weights 5.2 optimizer_weights 使用之前一篇代码: 原文链接:Tensorflow2 图像分…

English Learning - L1-7 介词 2022.12.26 周一

English Learning - L1-7 介词 2022.12.26 周一7 介词7.1 介词功能 1 - 表示动作的方向,范围和程度7.2 介词功能 2 - 胶水词,链接不同的名词7.3 介词功能 3 - 与 be 动词连用代替动词7.4 江南四大介词on核心意义:在。。。上; 在(某…

融云 x OHLA:「社交+游戏」双轮驱动,逐鹿中东陌生人社交

完整报告,关注公众号文章限免下载 走过十多年的出海历程,中国创业者面临的机遇和挑战正在发生根本性变化。TikTok、SHEIN 在全球大获全胜的背后,不仅有中国产业链成熟、工程师红利的厚积薄发,也有一代代出海人布局全球商业路径的思…

Ubuntu20.04部署KVM并安装Ubuntu Server 20.04

kvm虚拟化技术 KVM介绍 KVM是Linux开源社区大力支持的虚拟化技术,基于Intel和AMD的硬件虚拟化技术。KVM(Kernel-bashdVirtual Machine,即基于内核的虚拟机),它是用于Linux内核中的虚拟化环境设施,是Linux…

python:什么?你听MP3居然还要付费?看我一键......

前言 大家早好、午好、晚好吖 ❤ ~ 在我们上班空闲\游玩\散步的时候,总会习惯的拿出手机放首音乐来听一听 但是吧,有时候我们听一首歌起劲的时候,它会你提醒你 这时候怎么办呢?通常我们是下一首,或者充值 但是手头不宽裕但又想听怎么办? …

JavaEE-Spring(IoC控制反转,DI依赖注入,Spring项目创建和基本使用,ApplicationContext和BeanFactory的区别)

文章目录1. IoCDI2. Spring项目创建和使用ApplicationContext和BeanFactory的区别1. IoC Spring是一个包含多个工具方法的IoC容器 tomcat是web容器 List/Map是数据存储容器 IoC:Inversion of Control(控制反转) 将对象的控制权交给Spring&…

RK3399+PCIe+FPGA 在高速AD采样中的应用

一、需求 要实现高速AD/DA的数据采集,并发送到高性能arm核进行数据处理; 方案RK3399pcieFPGAAD/DA。 二、器件介绍 一、RK3399 RK3399是一款低功耗、高性能处理器,用于计算、个人移动互联网设备和其他智能设备应用。基于Big.Little架构&…

计算机发展史之查尔斯·巴贝奇

查尔斯巴贝奇(Charles Babbage,1791年12月26日—1871年10月18日)是一名英国数学家、发明家、科学家,科学管理的先驱者,出生于一个富有的银行家的家庭,曾就读于剑桥大学三一学院。 他在24岁时就被选为英国皇…

智慧医院数据可视化(数据大屏)

本次分享的作品是用软件Axure8.0(兼容9和10)制作的针对智慧医院设计的数据可视化大屏,其作品内容主要是对医院的运营情况、门诊、住院、手术、药品、医务、医疗设备、卫生耗材以及医疗质量数据进行综合可视分析。 运营情况:对医院的整体数据…

左神算法学习:第一天-------位运算

前言 位运算是在算法设计中的一种非常重要和高效的方法,常见的有与运算,非运算,异或运算。我们常用的比较多的可能就是异或运算,又叫无进位相加。 1.1 取非运算----(~) 取非运算其实就是和我们的无符号数…

cadence SPB17.4 - 用元件管理器来更新原理图中的元件属性信息

文章目录cadence SPB17.4 - 用元件管理器来更新原理图中的元件信息概述笔记修正原理图库修正CIS库的元件登记表ENDcadence SPB17.4 - 用元件管理器来更新原理图中的元件信息 概述 画好图后, 出了BOM. 同学指出BOM中有些元件型号信息不合适, 影响元件购买, 想改一下. 更新了原…