密码学:一文看懂初等数据加密一对称加密算法

2024-03-25 09:50

本文主要是介绍密码学:一文看懂初等数据加密一对称加密算法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在这里插入图片描述

文章目录

  • 对称加密算法简述
  • 对称加密算法的由来
  • 对称加密算法的家谱
  • 数据加密标准-DES
  • 简述
  • DES算法的消息传递模型
    • DES算法的消息传递过程
    • 和Base64算法的消息传递模型的区别
  • 算法的实现
  • 三重DES-DESede
    • 三重DES-DESede实现
  • 高级数据加密标准一AES
    • 实现
  • 国际数据加密标准-IDEA
    • 实现
  • 基于口令加密-PBE
    • 基于PBE算法的消息传递模型
  • 应用场景
  • 相关的Java API使用手册
  • 参考

我们都有使用密码保护私密信息的经历,甚至可以说是习惯。我们往往不希望无关的人窥探我们的隐私,从孩童时代就知道用“密码日记本”记录自己的一些隐私。密码日记本无非是一个带锁的日记本。不管是读日记还是写日记都离不开这个密码。
上述情形就好比我们应用黑匣子,需要读写操作,需要同一套密钥。写操作伴随加读操作伴随解密。加密和解密操作使用同一套密钥,这就是对称加密算法的核心。

对称加密算法简述

对称加密算法是当今应用范围最广,使用频率最高的加密算法。它不仅应用于软件行业,在硬件行业同样流行。各种基础设施但凡涉及安全需求,都会优先考虑对称加密算法。

对称加密算法的由来

对于大多数对称加密算法而言,解密算法是加密算法的逆运算,加密密钥和解密密钥相同。如果我们把Base64算法改良将其字符映射表作为密钥保存,就可以把这个改良后的Base64算法作为一种对称加密算法来看。当然,加密算法这样改良后的安全强度还远远不够,但足以让我们认识对称加密算法的特点。

对于Base64概念模糊的同学可以来这里报到:密码学:一文看懂Base64算法

对称加密算法易于理解,便于实现,根据加密方式又分为密码和分组密码,其分组密码工作模式又可分为ECB、CBC、CFB、OFB和CTR等,密钥长度决定了加密算法的安全性。
有关对称加密算法相关理论知识,可以来这里报到:密码学:一文读懂对称密钥体系

对称加密算法发展至今已相当完备。以DES算法为例,由于密钥长度的不满足,衍生出了DESede算法 (也称为TripleDES或3DES算法,翻译成中文是“三重DES”算法)。为了替代DES算法又有了AES (Rijndael) 算法。此外,还有RC系列算法包含RC2、RC4以及针对32位/64位计算机设计的RC5算法(细分为RC5-32和RC5-64,分别对应32位和64位计算机)
除了上述算法,我们还常常会用到Blowfish、 Twofish、Serpent、IDEA和PBE等对称加密算法。

对称加密算法的家谱

在对称加密算法中,DES算法最具有代表性,堪称典范。DESede是DES算法的变种。AES算法则作为DES算法的替代者,而IDEA算法作为一种

这篇关于密码学:一文看懂初等数据加密一对称加密算法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/844628

相关文章

如何使用 Python 读取 Excel 数据

《如何使用Python读取Excel数据》:本文主要介绍使用Python读取Excel数据的详细教程,通过pandas和openpyxl,你可以轻松读取Excel文件,并进行各种数据处理操... 目录使用 python 读取 Excel 数据的详细教程1. 安装必要的依赖2. 读取 Excel 文件3. 读

一文详解Java异常处理你都了解哪些知识

《一文详解Java异常处理你都了解哪些知识》:本文主要介绍Java异常处理的相关资料,包括异常的分类、捕获和处理异常的语法、常见的异常类型以及自定义异常的实现,文中通过代码介绍的非常详细,需要的朋... 目录前言一、什么是异常二、异常的分类2.1 受检异常2.2 非受检异常三、异常处理的语法3.1 try-

Spring 请求之传递 JSON 数据的操作方法

《Spring请求之传递JSON数据的操作方法》JSON就是一种数据格式,有自己的格式和语法,使用文本表示一个对象或数组的信息,因此JSON本质是字符串,主要负责在不同的语言中数据传递和交换,这... 目录jsON 概念JSON 语法JSON 的语法JSON 的两种结构JSON 字符串和 Java 对象互转

C++如何通过Qt反射机制实现数据类序列化

《C++如何通过Qt反射机制实现数据类序列化》在C++工程中经常需要使用数据类,并对数据类进行存储、打印、调试等操作,所以本文就来聊聊C++如何通过Qt反射机制实现数据类序列化吧... 目录设计预期设计思路代码实现使用方法在 C++ 工程中经常需要使用数据类,并对数据类进行存储、打印、调试等操作。由于数据类

一文带你搞懂Python中__init__.py到底是什么

《一文带你搞懂Python中__init__.py到底是什么》朋友们,今天我们来聊聊Python里一个低调却至关重要的文件——__init__.py,有些人可能听说过它是“包的标志”,也有人觉得它“没... 目录先搞懂 python 模块(module)Python 包(package)是啥?那么 __in

SpringBoot使用GZIP压缩反回数据问题

《SpringBoot使用GZIP压缩反回数据问题》:本文主要介绍SpringBoot使用GZIP压缩反回数据问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录SpringBoot使用GZIP压缩反回数据1、初识gzip2、gzip是什么,可以干什么?3、Spr

一文详解如何在Python中从字符串中提取部分内容

《一文详解如何在Python中从字符串中提取部分内容》:本文主要介绍如何在Python中从字符串中提取部分内容的相关资料,包括使用正则表达式、Pyparsing库、AST(抽象语法树)、字符串操作... 目录前言解决方案方法一:使用正则表达式方法二:使用 Pyparsing方法三:使用 AST方法四:使用字

SpringBoot集成Milvus实现数据增删改查功能

《SpringBoot集成Milvus实现数据增删改查功能》milvus支持的语言比较多,支持python,Java,Go,node等开发语言,本文主要介绍如何使用Java语言,采用springboo... 目录1、Milvus基本概念2、添加maven依赖3、配置yml文件4、创建MilvusClient

电脑死机无反应怎么强制重启? 一文读懂方法及注意事项

《电脑死机无反应怎么强制重启?一文读懂方法及注意事项》在日常使用电脑的过程中,我们难免会遇到电脑无法正常启动的情况,本文将详细介绍几种常见的电脑强制开机方法,并探讨在强制开机后应注意的事项,以及如何... 在日常生活和工作中,我们经常会遇到电脑突然无反应的情况,这时候强制重启就成了解决问题的“救命稻草”。那

SpringValidation数据校验之约束注解与分组校验方式

《SpringValidation数据校验之约束注解与分组校验方式》本文将深入探讨SpringValidation的核心功能,帮助开发者掌握约束注解的使用技巧和分组校验的高级应用,从而构建更加健壮和可... 目录引言一、Spring Validation基础架构1.1 jsR-380标准与Spring整合1