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

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

相关文章

批量导入txt数据到的redis过程

《批量导入txt数据到的redis过程》用户通过将Redis命令逐行写入txt文件,利用管道模式运行客户端,成功执行批量删除以Product*匹配的Key操作,提高了数据清理效率... 目录批量导入txt数据到Redisjs把redis命令按一条 一行写到txt中管道命令运行redis客户端成功了批量删除k

SpringBoot多环境配置数据读取方式

《SpringBoot多环境配置数据读取方式》SpringBoot通过环境隔离机制,支持properties/yaml/yml多格式配置,结合@Value、Environment和@Configura... 目录一、多环境配置的核心思路二、3种配置文件格式详解2.1 properties格式(传统格式)1.

解决pandas无法读取csv文件数据的问题

《解决pandas无法读取csv文件数据的问题》本文讲述作者用Pandas读取CSV文件时因参数设置不当导致数据错位,通过调整delimiter和on_bad_lines参数最终解决问题,并强调正确参... 目录一、前言二、问题复现1. 问题2. 通过 on_bad_lines=‘warn’ 跳过异常数据3

C#监听txt文档获取新数据方式

《C#监听txt文档获取新数据方式》文章介绍通过监听txt文件获取最新数据,并实现开机自启动、禁用窗口关闭按钮、阻止Ctrl+C中断及防止程序退出等功能,代码整合于主函数中,供参考学习... 目录前言一、监听txt文档增加数据二、其他功能1. 设置开机自启动2. 禁止控制台窗口关闭按钮3. 阻止Ctrl +

java如何实现高并发场景下三级缓存的数据一致性

《java如何实现高并发场景下三级缓存的数据一致性》这篇文章主要为大家详细介绍了java如何实现高并发场景下三级缓存的数据一致性,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 下面代码是一个使用Java和Redisson实现的三级缓存服务,主要功能包括:1.缓存结构:本地缓存:使

在MySQL中实现冷热数据分离的方法及使用场景底层原理解析

《在MySQL中实现冷热数据分离的方法及使用场景底层原理解析》MySQL冷热数据分离通过分表/分区策略、数据归档和索引优化,将频繁访问的热数据与冷数据分开存储,提升查询效率并降低存储成本,适用于高并发... 目录实现冷热数据分离1. 分表策略2. 使用分区表3. 数据归档与迁移在mysql中实现冷热数据分

C#解析JSON数据全攻略指南

《C#解析JSON数据全攻略指南》这篇文章主要为大家详细介绍了使用C#解析JSON数据全攻略指南,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、为什么jsON是C#开发必修课?二、四步搞定网络JSON数据1. 获取数据 - HttpClient最佳实践2. 动态解析 - 快速

一文解密Python进行监控进程的黑科技

《一文解密Python进行监控进程的黑科技》在计算机系统管理和应用性能优化中,监控进程的CPU、内存和IO使用率是非常重要的任务,下面我们就来讲讲如何Python写一个简单使用的监控进程的工具吧... 目录准备工作监控CPU使用率监控内存使用率监控IO使用率小工具代码整合在计算机系统管理和应用性能优化中,监

使用zip4j实现Java中的ZIP文件加密压缩的操作方法

《使用zip4j实现Java中的ZIP文件加密压缩的操作方法》本文介绍如何通过Maven集成zip4j1.3.2库创建带密码保护的ZIP文件,涵盖依赖配置、代码示例及加密原理,确保数据安全性,感兴趣的... 目录1. zip4j库介绍和版本1.1 zip4j库概述1.2 zip4j的版本演变1.3 zip4

一文详解如何使用Java获取PDF页面信息

《一文详解如何使用Java获取PDF页面信息》了解PDF页面属性是我们在处理文档、内容提取、打印设置或页面重组等任务时不可或缺的一环,下面我们就来看看如何使用Java语言获取这些信息吧... 目录引言一、安装和引入PDF处理库引入依赖二、获取 PDF 页数三、获取页面尺寸(宽高)四、获取页面旋转角度五、判断