对称密钥【密码学】(四)

news/2024/11/24 4:51:39/

一、前言 

在使用单向散列函数校验数据完整性时,需要保证原始的散列值不能被更改。

因此,在很多场景下,我们并不能仅仅通过单向散列函数来解决完整性问题,还需要其他技术来解决这个问题,如加密技术。

本篇博客就来介绍一下第一类加密技术------对称加密技术

二、加密、解密、密钥

加密数据的安全性依赖于:加密算法的质量和密钥的保密性。(注意:算法应该是公开的才经得起考验,同时,要做好密钥的保密)

三、什么是对称密钥 

对称密钥:每个参与者,都持有相同的密钥。

非对称密钥:每个参与者,都持有不同的密钥。  

四、怎么选择对称密钥算法 

跟单向散列函数一样,对称密钥算法也可以分为退役的,遗留的和现行的算法。

相比于对称散列函数,加密、解密的算法是一种很快的运算,虽然快,但也是要额外的运算的,会影响性能,但并不显著。

序列算法和分组算法 

之前讲过,为了能够处理任意大小的数据,并输出固定长度的结果,单向散列函数会对数据进行分组,然后按数据组进行计算;在对称密钥的算法里,因为输出结果的长度没有限制,对数据的处理方式,也就有了更多的想象空间。

从数据分组的角度:

进行数据分组,然后按数据组进行运算,就是分组算法

不进行数据分组,按照原始数据的大小进行运算,就是序列算法(效率更高)。 

怎么计算序列算法? 

从对称密钥里推导出一段和明文数据相同长度的密钥序列,然后密钥序列和明文进行异或运算得到密文,和密文进行异或运算得到明文。

关键:怎么通过固定长度的密钥推导出任意长度的密钥序列。

对比:

☆由于不需要分组,序列算法的安全性主要取决于密钥序列的推导算法,而不用考虑数据分组带来的种种陷阱。对于应用程序而言,这是一个便于使用,不易出错的选择。

☆分组算法的安全性,除了算法本身之外,还取决于数据分组的策略。

因此,更倾向于优先使用序列算法。


http://www.ppmy.cn/news/457502.html

相关文章

leetcode 5 最长回文子串

题目 给你一个字符串 s,找到 s 中最长的回文子串。 如果字符串的反序与原始字符串相同,则该字符串称为回文字符串。 示例 输入:s “babad” 输出:“bab” 解释:“aba” 同样是符合题意的答案。 解析 这道题和之…

#HTML列表学习指南 - 创建有序和无序列表增强网页内容

引言 HTML列表是网页设计中一项关键的元素,它们允许我们以有序或无序的方式呈现信息、数据或事项。在本详细指南中,我们将深入了解HTML中的列表,探讨有序列表和无序列表的创建方法,以及如何利用列表标签来增强网页内容的可读性和…

【面试】线上Java程序占用 CPU 过高请说一下排查方法?

文章目录 前言模拟一个高 CPU 场景排查步骤第一步,使用 top 找到占用 CPU 最高的 Java 进程第二步,用 top -Hp 命令查看占用 CPU 最高的线程第三步,保存线程栈信息第四步,在线程栈中查找最贵祸首的线程 前言 这个问题可以说是 Ja…

第七篇:双管齐下,JVM内部优化与JVM性能调优

文章目录 一、前言二、编译时优化2.1 Javac编译器2.2 Java语法糖2.2.1 泛型和泛型擦除2.2.2 自动装箱、自动拆箱、遍历循环2.2.3 条件编译 三、运行时优化(核心:JIT编译器/即时编译器)3.1 HotSpot虚拟机内的JIT编译器3.1.1 编译器和解释器并存…

渗透安全测试

渗透安全测试 PTES(渗透测试执行标准),渗透测试的过程包括交互,信息收集建模,Vul-可行性分析,开发,后期开发等。渗透测试旨在提高系统的安全性,而不是为了破坏,不会影响…

java高级进阶面试题

JVM 面试题目 1.请简单描述下 JVM 运行时数据区包括哪些部分? JVM 在执行 Java 程序的过程中会把它管理的内存分为若干个不同的区域,这些组成部 分有些是线程私有的,有些则是线程共享的 线程私有的:程序计数器,虚拟机栈…

以太网OAM

OAM 链路级以太网OAM网络级以太网OAMOAM故障联动 参考协议以太网CFM原理描述基本概念 CFM协议报文1.3.1 Encoding of CFM Protocol Data Units1.3.1.1 Structure, representation, and encoding1.3.1.2 CFM encapsulation1.3.1.3 CFM request and indication parameters1.3.1.4…

Java面试八股文(素材来自网络)

不定时更新,素材来自网络,都附注有超链接,侵删联系邮箱:zhenyu_li1998163.com 数据量太大在线更新不方便,有需要的可以邮箱联系给原稿(typora文档) 我是2022届双非软件工程应届生,…