当前位置: 首页 > news >正文

[密码学] 密码学基础

目录

一 为什么要加密?

二 常见的密码算法

三 密钥

四 密码学常识

五 密码信息威胁

六 凯撒密码


一 为什么要加密?

在互联网的通信中,数据是通过很多计算机或者通信设备相互转发,才能够到达目的地,所以在这个转发的过程中,如果通信包被其他人捕获到,那么数据就不再安全了。

  • 中间人攻击:这是一种常见的攻击方式,黑客可以利用这种攻击方式来拦截客户端和服务端之间的通信。在客户端和服务端之间建立一个虚假的连接,然后将通信数据传递给目标服务端,并在客户端和服务端之间进行窃取或修改数据。即拿到客户端的数据,进行修改,
  • 网络嗅探工具:   Wireshark、Tcpdump等,这些工具能够监听网络上的数据包,并将其显示在黑客的计算机上,使他们能够查看通信的内容

二 常见的密码算法

密码算法是一种特殊的算法,它通过数学和计算机科学的技术手段,实现对信息的加密和解密,确保信息在传输过程中不被未经授权的人员读取、篡改或伪造。密码算法的核心目标是保护数据的机密性、完整性和真实性,同时也可以用于实现鉴权和抗抵赖等功能。

  • 对称密码算法(Symmetric Cryptography):

    加密和解密过程使用同一密钥(即一把钥匙开锁,锁上后再用这把钥匙打开),例如DES、AES(高级加密标准)等。
  • 非对称密码算法(Asymmetric Cryptography)或公钥密码算法:

    使用一对密钥,一个公开(公钥)用于加密,另一个私有(私钥)用于解密,或者相反用于数字签名,例如RSA、ECC(椭圆曲线密码学)、DH(Diffie-Hellman密钥交换)等。
  • 哈希函数(Hash Functions)或散列函数:

    将任意长度的输入(明文)转化为固定长度的输出(哈希值或指纹),特点是不可逆(理论上不能从哈希值直接反推出原始输入),用于数据完整性校验、消息认证码(MAC)生成、密码存储等领域,例如MD5(已不推荐用于安全性要求较高的场合)、SHA系列(SHA-1至SHA-3)等。
  • 消息认证码(Message Authentication Code, MAC)和数字签名算法:

    用于确认数据发送者的身份并确保数据在传输过程中未被修改,如HMAC、RSA签名、ECDSA等。
  • 序列密码(Stream Ciphers):

    按位或逐字节进行加密操作,常见的有RC4(已不再安全)等。
  • 分组密码(Block Ciphers):

    把明文数据分割成固定长度的块进行加密处理,例如DES、AES等。

三 密钥

密钥就相当于是钥匙,如果要是丢了那么数据必然是不安全的,任何形式的密码,如果密钥丢了,数据的安全性就无法保证了。

四 密码学常识

  • 不要使用保密的密码算法

指不要依赖于自己开发的、没有经过广泛评审和测试的密码算法。通常情况下,开发人员和安全专家不建议自行设计密码算法,而是应该使用已经广泛测试和被认可为安全的标准密码算法,如AES、RSA等。这是因为自行设计的密码算法可能存在未知的漏洞或弱点,而公认的标准算法经过了大量的安全分析和测试。

  • 任何密码总有一天都会被破解

这个观点提醒我们,没有绝对安全的密码。尽管某些密码算法可能非常强大,但随着计算技术的进步和攻击方法的演变,总会有可能破解密码的方法出现。因此,密码应该被视为一种安全性措施,但不能完全依赖它们来保护数据。

  • 密码只是信息安全的一部分

这个观点强调了信息安全的多层次性质。除了密码之外,还有其他安全措施,如访问控制、加密、身份验证、网络安全等,都是信息安全的重要组成部分。密码只是其中的一部分,必须与其他安全措施结合使用,以建立更全面的安全性防御。

五 密码信息威胁

  • 不可否认性

对于否认行为来说,如果发送方丢失了自己的密钥,被攻击者拿到,

在这种情况下,虽然数字签名确实是合法发送者所用的签名,但实际上通信行为是由黑客发起的。这使得接收者很难辨别通信是否来自合法发送者,因为签名验证通过了。

为了防止这种情况发生,重要的是发送者应该采取适当的措施来保护其私钥,如使用安全的存储设备、定期更换密钥、限制私钥的使用权限等。同时,接收者也应该谨慎验证签名,确保通信的真实性和完整性。

六 凯撒密码

一种古老且简单的替换密码,它基于字母表的固定位移

  • 加密时,明文中的每个字母都按照一个固定的数目向右或向左移动(是基于字母表移动),产生密文。例如,当位移量为3时,字母A将被替换为D,字母B将被替换为E,依此类推。
  • 解密时,就是将密文中的每个字母向相反的方向移动相同的位移量。
  • 要注意是按照字母表中的顺序移动,比如移动三个那么F就变成I。

6.1 凯撒密码的实现

  • 为了跟图示保持一致,这里就使用上面图中的ABCDEF并且固定位移数设置为3
  • 原始数据ABCDEF:  
  • 加密后数据DEFGHI
  • 解密后数据:ABCDEF
#include <iostream>
#include <windows.h>
using namespace std;
string encryptCaesar(string plaintext,int shift)
{string ciphertext = "";for(char& c: plaintext){if(isalpha(c)){char base = islower(c) ? 'a' : 'A';c = ((c - base + shift) % 26)  + base;ciphertext += c;}}return  ciphertext;
}// 解密函数
string decryptCaesar(string ciphertext,int shift)
{return  encryptCaesar(ciphertext,26 - shift);
}int main()
{SetConsoleOutputCP(CP_UTF8);string plainText = "ABCDEF";int shift = 3;string ciphertext = encryptCaesar(plainText,shift);cout<<"加密前数据:"<<plainText<<endl;cout<<"加密前数据:"<<ciphertext<<endl;cout<<"解密后数据:"<<decryptCaesar(ciphertext,shift);return 0;
}

相关文章:

[密码学] 密码学基础

目录 一 为什么要加密? 二 常见的密码算法 三 密钥 四 密码学常识 五 密码信息威胁 六 凯撒密码 一 为什么要加密? 在互联网的通信中&#xff0c;数据是通过很多计算机或者通信设备相互转发&#xff0c;才能够到达目的地,所以在这个转发的过程中&#xff0c;如果通信包…...

上海:6月1日起取消企业复工复产白名单制

财经新闻5月29日消息&#xff1a;上海市人民政府关于印发《上海市加快经济恢复振兴行动计划》的通知。 《方案》包括千方百计缓解各类市场主体困难&#xff0c;全面有序推进复工复产和市场复工复产&#xff0c;多措并举稳外资稳外贸&#xff0c;大力促进消费加速复苏&#xff0…...

SpringBoot扩展篇:循环依赖源码链路

SpringBoot扩展篇&#xff1a;循环依赖源码链路 1. 相关文章2. 一个简单的Demo3. 流程图3.1 BeanDefinition的注册3.2 开始创建Bean3.3 从三级缓存获取Bean3.4 创建Bean3.5 实例化Bean3.6 添加三级缓存3.7 属性初始化3.8 B的创建过程3.9 最终流程 1. 相关文章 SpringBoot 源码…...

服务消费微服务

文章目录 1.示意图2.环境搭建1.创建会员消费微服务模块2.删除不必要的两个文件3.检查父子模块的pom.xml文件1.子模块2.父模块 4.pom.xml 添加依赖&#xff08;刷新&#xff09;5.application.yml 配置监听端口和服务名6.com/sun/springcloud/MemberConsumerApplication.java 创…...

uni-app纵向步骤条

分享一下项目中自封装的步骤条&#xff0c;存个档~ 1. 话不多说&#xff0c;先看效果 2. 话还不多说&#xff0c;上代码 <template><!-- 获取一个数组&#xff0c;结构为[{nodeName:"流程发起"isAudit:falsetime:"2024-02-04 14:27:35"otherDat…...

【JavaEE -- 文件操作IO有关面试题】

文件操作IO有关面试题 1.查找硬盘上的文件位置1.1 思路1.2 执行代码 2. 实现文件复制2.1 思路2.2 代码执行 3. 打印搜索的词的文件路径3.1 思路3.2 代码执行 1.查找硬盘上的文件位置 给定一个文件名&#xff0c;去指定的目录中进行搜索&#xff0c;找到文件名匹配的结果&#…...

Open WebUI大模型对话平台-适配Ollama

什么是Open WebUI Open WebUI是一种可扩展、功能丰富、用户友好的大模型对话平台&#xff0c;旨在完全离线运行。它支持各种LLM运行程序&#xff0c;包括与Ollama和Openai兼容的API。 功能 直观的界面:我们的聊天界面灵感来自ChatGPT&#xff0c;确保了用户友好的体验。响应…...

[2021]Zookeeper getAcl命令未授权访问漏洞概述与解决

今天在漏洞扫描的时候蹦出来一个zookeeper的漏洞问题&#xff0c;即使是非zookeeper的节点&#xff0c;或者是非集群内部节点&#xff0c;也可以通过nc扫描2181端口&#xff0c;获取极多的zk信息。关于漏洞的详细描述参考apache zookeeper官方概述&#xff1a;CVE-2018-8012: A…...

vscode添加gitee

1.创建仓库 2.Git 全局设置 3.初始化仓库 2.1 打开vscode打开需要上传到给git的代码文件 2.2.点击左边菜单第三个的源代码管理->初始化仓库 4.点击加号暂存所有更改 5.添加远程仓库 5.1 添加地址&#xff0c;回车 5.2 填写库名&#xff0c;回车 6.提交和推送 6.1 点击✔提交…...

数据库底层原理

本文将介绍数据库在储存和通讯时的原理 数据库储存 首先&#xff0c;数据库的作用持久化存储数据&#xff0c;数据库的存储形式就是文件&#xff0c;每一张表就是一个文件&#xff0c;其他数据也是文件形式&#xff0c;比如索引文件。 比如像mysql数据库&#xff0c;其中的数…...

JVM虚拟机-实战篇

专属小彩蛋:前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站(前言 - 床长人工智能教程) 目录 一、内存溢出和内存泄漏 什么是内存泄漏? 二、解决内存泄漏 解决内存泄漏的思路 top命令 发现问题 VisualVM 发现问…...

上岸跨考生的备考经验,送给零基础跨考计算机的你!

九个月的时间绝对是够用的&#xff0c;就算是跨考也够用&#xff01; 一般来说&#xff0c;专业课要复习三轮&#xff0c;九个月的时间&#xff0c;复习三轮完全够用 复习资料&#xff1a;王道四本书王道真题 打基础阶段&#xff1a;3-6月&#xff1a; 学习目标&#xff1a…...

js改变图片曝光度(高亮度)

方法一&#xff1a; 原理&#xff1a; 使用canvas进行滤镜操作&#xff0c;通过改变图片数据每个像素点的RGB值来提高图片亮度。 缺点 当前项目使用的是svg&#xff0c;而不是canvas 调整出来的效果不是很好&#xff0c;图片不是高亮&#xff0c;而是有些发白 效果 代码 …...

【NLP笔记】大模型prompt推理(提问)技巧

文章目录 prompt概述推理&#xff08;提问&#xff09;技巧基础prompt构造技巧进阶优化技巧prompt自动优化 参考链接&#xff1a; Pre-train, Prompt, and Predict: A Systematic Survey of Prompting Methods in Natural Language Processing预训练、提示和预测&#xff1a;NL…...

【目标检测】西红柿成熟度数据集三类标签原始数据集280张

文末有分享链接 标签名称names: - unripe - semi-ripe - fully-ripe D00399-西红柿成熟度数据集三类标签原始数据集280张...

Java File类(文件操作类)

背景&#xff1a; 在Java编程语言中&#xff0c;操作文件和目录是一项常见的任务。而File类&#xff0c;则是java.io包中的重要类&#xff0c;它是唯一代表磁盘文件本身的对象。通过File类提供的方法&#xff0c;我们可以轻松地创建、删除、重命名文件和目录等操作。 构造方法&…...

正则表达式 vs. 字符串处理:解析优势与劣势

title: 正则表达式 vs. 字符串处理&#xff1a;解析优势与劣势 date: 2024/3/27 15:58:40 updated: 2024/3/27 15:58:40 tags: 正则起源正则原理模式匹配优劣分析文本处理性能比较编程应用 1. 正则表达式起源与演变 正则表达式&#xff08;Regular Expression&#xff09;最早…...

1、goreplay流量回放

目的 在实际项目中&#xff0c;会有大量的回归测试工作&#xff0c;通常会使用自动化代码的手段来实现回归&#xff0c;但是对于一个庞大的系统来说&#xff0c;通过自动化脚本的方式来实现回归测试&#xff0c;又显得很费时费力。并且如果有定期将线上数据同步到测试环境的需求…...

Transformer的前世今生 day06(Self-Attention和RNN、LSTM的区别)

Self-Attention和RNN、LSTM的区别 RNN的缺点&#xff1a;无法做长序列&#xff0c;当输入很长时&#xff0c;最后面的输出很难参考前面的输入&#xff0c;即长序列会缺失上文信息&#xff0c;如下&#xff1a; 可能一段话超过50个字&#xff0c;输出效果就会很差了 LSTM通过忘…...

UDP send 出现大量“Resource temporarily unavailable”

背景 最近排查用户现场环境&#xff0c;查看日志出现大量的“send: Resource temporarily unavailable”错误&#xff0c;UDP设置NO_BLOCK模式&#xff0c;send又发生在进程上下文&#xff0c;并且还设置了SO_SNDBUF 为8M&#xff0c;在此情况下为什么还会出现发送队列满的情况…...

KubeSphere 容器平台高可用:环境搭建与可视化操作指南

Linux_k8s篇 欢迎来到Linux的世界&#xff0c;看笔记好好学多敲多打&#xff0c;每个人都是大神&#xff01; 题目&#xff1a;KubeSphere 容器平台高可用&#xff1a;环境搭建与可视化操作指南 版本号: 1.0,0 作者: 老王要学习 日期: 2025.06.05 适用环境: Ubuntu22 文档说…...

synchronized 学习

学习源&#xff1a; https://www.bilibili.com/video/BV1aJ411V763?spm_id_from333.788.videopod.episodes&vd_source32e1c41a9370911ab06d12fbc36c4ebc 1.应用场景 不超卖&#xff0c;也要考虑性能问题&#xff08;场景&#xff09; 2.常见面试问题&#xff1a; sync出…...

论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(二)

HoST框架核心实现方法详解 - 论文深度解读(第二部分) 《Learning Humanoid Standing-up Control across Diverse Postures》 系列文章: 论文深度解读 + 算法与代码分析(二) 作者机构: 上海AI Lab, 上海交通大学, 香港大学, 浙江大学, 香港中文大学 论文主题: 人形机器人…...

《从零掌握MIPI CSI-2: 协议精解与FPGA摄像头开发实战》-- CSI-2 协议详细解析 (一)

CSI-2 协议详细解析 (一&#xff09; 1. CSI-2层定义&#xff08;CSI-2 Layer Definitions&#xff09; 分层结构 &#xff1a;CSI-2协议分为6层&#xff1a; 物理层&#xff08;PHY Layer&#xff09; &#xff1a; 定义电气特性、时钟机制和传输介质&#xff08;导线&#…...

Linux相关概念和易错知识点(42)(TCP的连接管理、可靠性、面临复杂网络的处理)

目录 1.TCP的连接管理机制&#xff08;1&#xff09;三次握手①握手过程②对握手过程的理解 &#xff08;2&#xff09;四次挥手&#xff08;3&#xff09;握手和挥手的触发&#xff08;4&#xff09;状态切换①挥手过程中状态的切换②握手过程中状态的切换 2.TCP的可靠性&…...

大数据零基础学习day1之环境准备和大数据初步理解

学习大数据会使用到多台Linux服务器。 一、环境准备 1、VMware 基于VMware构建Linux虚拟机 是大数据从业者或者IT从业者的必备技能之一也是成本低廉的方案 所以VMware虚拟机方案是必须要学习的。 &#xff08;1&#xff09;设置网关 打开VMware虚拟机&#xff0c;点击编辑…...

学校招生小程序源码介绍

基于ThinkPHPFastAdminUniApp开发的学校招生小程序源码&#xff0c;专为学校招生场景量身打造&#xff0c;功能实用且操作便捷。 从技术架构来看&#xff0c;ThinkPHP提供稳定可靠的后台服务&#xff0c;FastAdmin加速开发流程&#xff0c;UniApp则保障小程序在多端有良好的兼…...

Python 包管理器 uv 介绍

Python 包管理器 uv 全面介绍 uv 是由 Astral&#xff08;热门工具 Ruff 的开发者&#xff09;推出的下一代高性能 Python 包管理器和构建工具&#xff0c;用 Rust 编写。它旨在解决传统工具&#xff08;如 pip、virtualenv、pip-tools&#xff09;的性能瓶颈&#xff0c;同时…...

打手机检测算法AI智能分析网关V4守护公共/工业/医疗等多场景安全应用

一、方案背景​ 在现代生产与生活场景中&#xff0c;如工厂高危作业区、医院手术室、公共场景等&#xff0c;人员违规打手机的行为潜藏着巨大风险。传统依靠人工巡查的监管方式&#xff0c;存在效率低、覆盖面不足、判断主观性强等问题&#xff0c;难以满足对人员打手机行为精…...

解析奥地利 XARION激光超声检测系统:无膜光学麦克风 + 无耦合剂的技术协同优势及多元应用

在工业制造领域&#xff0c;无损检测&#xff08;NDT)的精度与效率直接影响产品质量与生产安全。奥地利 XARION开发的激光超声精密检测系统&#xff0c;以非接触式光学麦克风技术为核心&#xff0c;打破传统检测瓶颈&#xff0c;为半导体、航空航天、汽车制造等行业提供了高灵敏…...