对称加密系统解析

目录​​​​​​​

1.概述

2. 对称密码类型

3. 对称加密优缺点

4. 对称加密算法

4.1 DES

4.2 3DES

4.3 AES

​​​​​​4.4 SM1

4.5 SM4


1.概述

        对称加密,是指在加密和解密时使用同一秘钥的方式。秘钥的传送和保存的保护非常重要,务必不要让秘钥被他人窃取。

2. 对称密码类型

  • 序列密码体制

    • 序列密码是以一个字符为单位进行加密变换

    • 每一字符数据的加密与报文的其他部分无关

    • 明文和密文的长度一般不变,多用于通信领域

  • 分组密码体制

    • 分组密码将定长的明文块转换成等长的密文

    • 电子编码本(ECB)

    • 密码分组链接(CBC)或密码反馈(CFB)

3. 对称加密优缺点

  • 优点
    • 较非对称加密要快速
    • 密钥位数大的话很难被攻破
  • 缺点
    • 每一对使用者都需要唯一的密钥,密钥数量较大,管理难度增加
    • 提供机密性,但不提供认证和防抵赖功能

4. 对称加密算法

4.1 DES

        DES(Data Encryption Standard)是1977年美国联邦信息处理标准(FIPS)中所采用的一种对称密钥(FIPS 46-3)。

        然后,随着计算机的进步,DES已经能够被暴力破解,1999年的DES Challenge III中只用了22小时15分钟。由于DES的密文可以在短时间内被破译,因此除了用它来解密以前的密文以外,现在我们不应该再使用DES了。

        DES是一种64比特的明文加密成64比特的密文的对称密码算法,它的密钥长度是56比特。(尽管从规格上来说,DES的密钥长度是64比特,但由于每隔7比特会设置一个用于错误检查的比特,因此实质上其秘钥长度是56比特。)

        DES是以64比特的明文(比特序列)为一个单位来进行加密的,这个64比特的单位称为分组。一般来说,以分组为单位进行处理的密码算法称为分组密码(block cipher),DES就是分组密码的一种。

        DES每次只能加密64比特的数据,如果要加密的明文比较长,就需要对DES加密进行迭代(反复),而迭代的具体方式就称为模式(mode)。关于模式会在后续的博文中详细介绍。

4.2 3DES

        3DES(triple-DES)是为了增加DES的强度,将DES重复3次所得到的一种密码算法,也称为TDES(Triple Data Encryption Algorithm),通常缩写为3DES。

        明文经过三次 DES处理才能变成最后的密文,由于DES密钥的长度实质上是56比特,因此三重DES的密钥长度就是56x3=168比特。

        三重DES并不是进行三次DES加密(加密→加密一加密),而是加密一解密一加密的过程。在加密算法中加入解密操作让人感觉很不可思议,实际上这个方法是IBM公司设计出来的,目的是为了让三重DES能够兼容普通的DES。

        当三重 DES中所有的密钥都相同时,三重DES也就等同于普通的DES了。这是因为在前两步加密一解密之后,得到的就是最初的明文。因此,以前用 DES加密的密文,就可以通过这种方式用三重 DES来进行解密。也就是说,三重DES对DES具备向下兼容性。

        三重 DES 的解密过程和加密正好相反,是以密钥3、密钥2、密钥1的顺序执行解密一加密→解密的操作。

4.3 AES

        AES(Advanced Encryption Standard)是取代其前任标准(DES)而成为新标准的一种对称密码算法。全世界的企业和密码学家提交了多个对称密码算法作为AES的候选,最终在2000年从这些候选算法中选出了一种名为Rijndael的对称密码算法,并将其确定为了 AES。

        在AES的规格中,分组长度固定为128比特,密钥长度只有128、192和256比特三种。

        Rijndael的算法背后有着严谨的数学结构,也就是说从明文到密文的计算过程可以全部用公式来表达,这是以前任何密码算法都不具备的性质。如果Rijndael的公式能够通过数学运算来求解,那也就意味着Riindael能够通过数学方法进行破译。不过,这也只是一种假设而已,实际上到现在为止还没有出现针对Rijndael的有效攻击。

         一般来说,我们不应该使用任何自制的密码算法,而是应该使用AES。因为 AES 安全、快速,而且能够在各种平台上工作;在其选定过程中,经过了全世界密码学家所进行的高品质的验证工作,而对于自制的密码算法则很难进行这样的验证。

​​​​​​4.4 SM1

        其加密强度与AES相当。该算法不公开,调用该算法时,需要通过加密芯片的接口进行调用。

4.5 SM4

        我国自主设计的分组对称密码算法,用于实现数据的加密/解密运算,以保证数据和信息的机密性。要保证一个对称密码算法的安全性的基本条件是其具备足够的密钥长度,SM4算法与AES算法具有相同的密钥长度分组长度128比特。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Nginx04-Nginx代理、反向代理实验、LNMP流程详解与排错思路

目录 写在前面Nginx04LNMP流程详解Nginx处理静态资源流程Nginx处理动态资源流程 LNMP排错LinuxNginxPHPMysql Nginx 代理概述正向代理反向代理区别 反向代理实验(Proxy模块)环境准备front配置lb01配置测试流程梳理总结 写在前面 这是Nginx第四篇&#xf…

Web 自动化测试(基于Pytest极简)

Pytest 初体验 在使用 Python 进行 Web UI 自动化测试时,我们除了使用 unittest 单元测试框架,还可以使用 pytest,本节实验就给大家简单的介绍一下 pytest。 环境配置 本系列实验我们借助 VS Code 工具编写代码,使用的 Python …

MySQL: 表的增删改查(基础)

文章目录 1. 注释2. 新增(Create)3. 查询(Retrieve)3.1 全列查询3.2 指定列查询3.3 查询字段为表达式3.4 别名3.5 去重: distinct3.6 排序: order by3.7条件查询3.8 分页查询 4. 修改 (update)5. 删除(delete)6. 内容重点总结 1. 注释 注释:在SQL中可以使用“–空格…

【自动部署】4.阿里云ECS服务器 IDEA自动部署项目

如何在IDEA中,自动部署项目到阿里云ECS服务器?今天我们就来实现一键部署功能。 执行maven命令打包免密登录,在IEDA中连接服务器执行stop脚本上传jar包到服务器执行start脚本查看运行日志 1.安装Alibaba Cloud Toolkit 2.配置host 3.自动化部…

VSCode超过390万下载的请求插件

Thunder Client 是一款在 VSCode(Visual Studio Code)中非常受欢迎的 REST API 客户端插件,由Ranga Vadhineni开发,现在已经有超过390万的下载量。它允许开发者直接在编辑器内发送 HTTP 请求,查看响应。Thunder Client…

【C++】函数模板和类模版

目录 前言 模板参数 类型模板参数 非类型模板参数 模板的特化 函数模板的特化 类模板的特化 全特化 偏特化 模板的分离编译 模板总结 前言 函数模板和类模板是C模板编程中的两个核心概念,它们允许程序员编写泛型代码,这些代码可以在多种数据…

《Brave New Words 》2.2 阅读理解的未来,让文字生动起来!

Part II: Giving Voice to the Social Sciences 第二部分:为社会科学发声 The Future of Reading Comprehension, Where Literature Comes Alive! 阅读理解的未来,让文字生动起来! Saanvi, a ninth grader in India who attends Khan World S…

【Python教程】2-函数、逻辑运算与条件判断

在整理自己的笔记的时候发现了当年学习python时候整理的笔记,稍微整理一下,分享出来,方便记录和查看吧。个人觉得如果想简单了解一名语言或者技术,最简单的方式就是通过菜鸟教程去学习一下。今后会从python开始重新更新&#xff0…

JAVA:通过电信ctg.ag.sdk从电信物联平台AIOT获取设备上报数据的简单示例

一、问题场景 物联设备比如NB设备通过NB协议将数据传到电信平台后,我们的应用服务如何从电信平台获取可用的上报数据。以下通过电信开发者平台提供的SDK来简单演示下整个过程。 二、使用电信 SDK进行开发 电信AIOT物联平台提供了两种方式获取平台数据&#xff0c…

阿里云 MQTT 服务器搭建与测试(上传和下发数据finish)

一、 MQTT 概念 MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的"轻量级"通讯协议,该协议构建于 TCP/IP协议上,由 IBM 在 1999 年发布。MQTT 最大优点在于,可以以极少的代码和有限的带宽,…

JVM对象分配和垃圾回收机制

一、对象创建 1.1 符号引用 new 创建一个对象,需要在JVM创建对象。 符号引用:目标对象采用一个符号表示,类A加载的时候,如果成员变量类B还没有被加载进来,采用一个符号(字面量)来表示&#x…

Vulnhub靶机之reven 1

一、信息收集 nmap扫描网段,靶机地址为192.168.145.129。 nmap -sP 192.168.145.* 扫一下端口,开放了22、80、111、50967。 nmap -sT -T4 -p1-65535 192.168.145.129 再看一下目录情况,发现一个疑似后台登录的地址。 dirsearch -u http://…

基于Python + Flask+ Mysq实现简易留言板

使用Python Flask Mysql实现简易留言板,包括网友编辑留言、修改留言,删除留言、分页显示四大功能。 写出留言板建设过程,包括开发使用工具、留言板模块设计、数据库设计、页面设计、关键技术。 留言板建设过程总结 一.开发使用…

图像处理ASIC设计方法 笔记28 无效像元检测

(一)无效像元检测 P149 基于场景的红外焦平面无效像元检测 空间噪声的两个来源1 各探测源相应的非均匀性产生 2 IRFPA组件制造过程中产生 先进的工艺水平可以做到成品期间不存在连续分布或中心分布的无效像元,无效像元率在0.5%以内。国内…

LeetCode | 1.两数之和

这道题,很容易想到的是暴力解,直接一个双重循环,对于数组中的每一个数,都去遍历其他数字,看能不能找到数字等于target-nums[i]的数字,时间复杂度为 O ( n 2 ) O(n^2) O(n2) 但是通过其他题目,我…

动态规划(多重背包+完全背包)

P2851 [USACO06DEC] 最少的硬币 G 题解:从题目上看到那个有n种不同的货币,对于买家来说每个货币有C[ i ]个,是有限个数的,但是对于卖家来说 每个货币都是无限的,题目中要我们求的是买到这个物品的最小交易的货币数&…

transformer - 注意力机制

Transformer 的注意力机制 Transformer 是一种用于自然语言处理任务的模型架构,依赖于注意力机制来实现高效的序列建模。注意力机制允许模型在处理一个位置的表示时,考虑输入序列中所有其他位置的信息,而不仅仅是前面的几个位置。这种机制能…

3.大模型高效微调PEFT

大模型高效微调(PEFT)技术 预训练模型的背景 预训练与微调:传统的微调方法通常涉及对整个预训练模型的参数进行再训练,以适应特定任务。这虽然有效,但计算成本高,且需要大量的标记数据。模型结构:像BERT或GPT这样的模型通常包含数亿甚至数十亿个参数,构成一个深层次的…

JWT 从入门到精通

什么是 JWT JSON Web Token(JWT)是目前最流行的跨域身份验证解决方案 JSON Web Token Introduction - jwt.ioLearn about JSON Web Tokens, what are they, how they work, when and why you should use them.https://jwt.io/introduction 一、常见会…

转型AI产品经理(6):“ 序列位置效应”如何应用在Chatbot产品中

序列位置效应是心理学中的一个记忆现象,指的是人们对一系列信息的记忆效果受到信息在序列中位置的影响。具体来说,人们通常更容易记住列表的开头和结尾部分的项目,而对中间部分的项目记忆较差。这个效应可以进一步分为“首因效应”和“近因效…