【探寻密码的奥秘】-001:解开密码的神秘面纱
目录
- 1、密码学概述
- 1.1、概念
- 1.2、目的
- 1.3、应用场景
- 2、密码学的历史
- 2.1、第一时期:古代密码时代
- 2.2、第二时期:机械密码时代
- 2.3、第三时期:信息密码时代
- 2.4、第四时期:现代密码时代
- 3、密码学的基本概念
- 3.1、一般通信系统
- 3.2、保密通信系统
- 3.3、加解密体制五元组
- 4、密码学基本属性
- 4.1、信息的机密性
- 4.2、信息的真实性
- 4.3、信息的完整性
- 4.4、抗抵赖性
- 5、密码体制分类
- 5.1、对称密码体制
- 5.2、非对称密码体制
1、密码学概述
1949 年香农(Shannon)发表《保密系统的通信理论》,通过将信息论引入密码学中,正式开启了密码学的大门,形成密码学科。
1.1、概念
概念:密码学是研究密码与密码活动本质和规律,以及指导密码实践的科学,主要探索密码编码和密码分析的一般规律,它是一门结合数学、计算机科学、信息通信系统等多门学科为一体的综合性学科。其主要是研究编制密码和破译密码的学科。
1.2、目的
目的:研究如何隐藏信息并把信息传递出去。
密码学是网络安全、信息安全、区块链等学科的基础。
1.3、应用场景
密码学的常见应用场景:信息通信加密解密、身份认证、消息认证、数字签名,是网络空间安全的核心技术。
2、密码学的历史
密码学是一门既年轻又古老的学科,它有着悠久而奇妙的历史。又被称为密码术或隐藏术。
2.1、第一时期:古代密码时代
从远古到第一次世界大战,这期间的密码称为古代密码。
使用的密码体制为古典密码体制,主要原理是文字内容的代替、移位和隐藏等技巧,主要应用于军事、政治和外交,通信是由信使来传递的,加密的手段是使用手工。
2.2、第二时期:机械密码时代
两次世界大战期间加密所使用的是机械密码机,因此这一时期的密码也称为机械密码。期间,研制和采用先进的密码设备,建立最严密的密码安全体系。
2.3、第三时期:信息密码时代
由于计算机的出现、信息论的产生和计算机通信网络的发展,密码学经历了一场彻底的革命,也进入信息密码时代。
将电子形式的文件转换成数字或数值符号,施以复杂的数学运算,达到数字符号的混淆、扩散和置换,实现加密、解密等各种控制的目的。传递信息的方法有无线通信、计算机网络等多种信息时代的传递方式。
2.4、第四时期:现代密码时代
1976年,美国斯坦福大学的密码专家Diffie和 Hellman发表划时代的论文——《密码学的新方向》(New Directions in Cryptography),提出密码学新的思想。该思想中不仅加密算法本身可以公开,同时用于加密消息的密钥也可以公开,这就是公钥加密。公钥密码的思想是密码发展的里程碑,实现了密码学发展史上的第二次飞跃。
随着科学的发展出现了很多新的密码技术: DNA 密码、混沌密码和量子密码等
3、密码学的基本概念
3.1、一般通信系统
在一般通信系统中,信号经过发信机的编码调制处理之后,经公开的信道传至收信机进行译码解码操作,最终将消息送至信宿。如下图所示:

缺点:在公开的信道中,信息的存储、传递与处理都是以明文形式进行运算的,很容易受到窃听、截取、篡改、伪造、假冒、重放等手段的攻击。
3.2、保密通信系统
保密通信系统是在一般通信系统中加入加密器与解密器,保证信息在传输过程中无法被其他人解读,从而有效解决信息安全问题。

3.3、加解密体制五元组
明文(Plaintext/Message):未加密的数据或解密还原后的数据。
密文(Ciphertext):加密后的数据。
加密(Encryption):对数据进行密码变换以产生密文的过程。
解密(Decryption):加密过程对应的逆过程。
加密算法(Encryption Algorithm):对明文进行加密时所采用的一组规则。
解密算法(Decryption Algorithm):对密文进进行解密时所采用的一组规则。
加密和解密算法的操作通常是在一组密钥控制下进行的,分别称为加密密钥和解密密钥。
一个密码体制可以描述为一个五元组(M,C,K,E,D) 它必须满足下述条件。
- (1)M是可能明文的有限集。
- (2)C是可能密文的有限集。
- (3)K是可能密钥的有限集。
- (4)E是加密有限空间集合。
- (5)D是解密有限空间集合。
实例说明:
密钥为k∈K,此时密钥需要经过安全的密钥信道由发送方传给接收方。
加密变换EK:M→C,由加密器完成。
解密变换DK:C→M,由解密器完成。
对于明文m∈M,发送方加密c=EK(m),m∈M,k∈K
接收方解密m=DK(c),c∈C,k∈K。
对于攻击者或密码分析者而言,由于不知道密钥k,无法对截获的密文c进行解密。
4、密码学基本属性
4.1、信息的机密性
信息的机密性是指保证信息不被泄露给非授权的个人、进程等实体的性质。
4.2、信息的真实性
信息的真实性是指保证信息来源可靠、没有被伪造和篡改的性质。
4.3、信息的完整性
数据的完整性是指数据没有受到非授权的篡改或破坏的性质。
4.4、抗抵赖性
行为的不可否认性也称抗抵赖性,是指一个已经发生的操作行为无法否认的性质。
5、密码体制分类
密码体制主要分为对称密码体制和非对称密码体制。
5.1、对称密码体制
对称密码体制又称单钥体制,是加密和解密使用相同密钥的密码算法。采用单钥体制的系统的保密性主要取决于密钥的保密性,与算法的保密性无关。
对称密码体制加解密过程如下图所示:

密钥可由发送方产生然后经过一个安全可靠的途径(如信使递送)送至接收方,或由第三方产生后安全可靠地分配给通信双方。
5.2、非对称密码体制
非对称密码体制也称公钥密码体制,在加密和解密过程中使用不同的方法。其中一个密钥可以公开,称为公钥,另一个密钥必须保密,称为私钥。
非对称密码体制加解密过程如下图所示:

非对称密码体制的主要特点是将加密和解密分开,因而可以实现多个用户加密的消息只能由一个用户解读,或由一个用户加密的消息而使多个用户可以解读。
非对称密码体制的另一个重要用途是数字签名。非对称密码体制不仅可以保障信息的机密性,还具有认证和不可否认性等功能。
相关文章:
【探寻密码的奥秘】-001:解开密码的神秘面纱
目录 1、密码学概述1.1、概念1.2、目的1.3、应用场景 2、密码学的历史2.1、第一时期:古代密码时代2.2、第二时期:机械密码时代2.3、第三时期:信息密码时代2.4、第四时期:现代密码时代 3、密码学的基本概念3.1、一般通信系统3.2、保…...
ElasticSearch7.x入门教程之集群安装(一)
文章目录 前言一、es7.x版本集群安装二、elasticsearch-head安装三、Kibana安装总结 前言 在工作中遇到了,便在此记录一下,以防后面会再次遇到。第一次使用是在2020年末,过了很久了,忘了些许部分了。 在工作当中,如果…...
c++ 笔记
基础知识 1. 指针、引用2. 数组3. 缺省参数4. 函数重载5. 内联函数6. 宏7. auto8. const9. 类和对象10. 类的6个默认成员函数11. 初始化列表12. this指针13. C/C的区别14. C 三大特性15. 结构体内存对齐规则16. explicit17. static18. 友元类、友元函数19. 内部类20. 内存管理&…...
【腾讯云】AI驱动TDSQL-C Serveress 数据库技术实战营-如何是从0到1体验电商可视化分析小助手得统计功能,一句话就能输出目标统计图
欢迎来到《小5讲堂》 这是《腾讯云》系列文章,每篇文章将以博主理解的角度展开讲解。 温馨提示:博主能力有限,理解水平有限,若有不对之处望指正! 目录 背景效果图流程图创建数据库基本信息数据库配置设置密码控制台开启…...
10 —— Webpack打包模式
开发模式:development ;场景:本地开发 生产模式:production ; 场景:打包上线 设置: 方式1.webpack.config.js 配置文件设置mode选项 module.exports { mode:production }; 方式2.在packa…...
【ArcGIS微课1000例】0132:从多个GIS视角认识与攀登珠穆朗玛峰
文章目录 1. Map Viewer中打开2. 场景查看器中打开3. ArcGIS中打开4. QGIS中打开5. Globalmapper中打开6. ArcGIS Earth中打开官网地址:https://www.arcgis.com/home/item.html?id=504a23373ab84536b7760c0add1e0c1c 1. Map Viewer中打开 以下展示不同底图样式的珠穆朗玛峰壮…...
vue2 - 20.json-server
json-server 目标:基于 json-server 工具,准备后端接口服务环境 1. 安装全局工具 json-server (全局工具仅需要安装一次)【官网】 yarn global add json-server 或 npm i json-server -g yarn global add json-server npm i …...
echarts4r 教程1:Get Started
❝ 写在前面 本文为 R 语言 echarts4r 包的学习笔记。本着自己学习、分享他人的态度,分享学习笔记,希望能对大家有所帮助。软件可能随时更新,建议配合官方文档一起阅读。 目录 1 Video & Article 2 Your first plot 3 Options 4 Navigate…...
蚁群算法(Ant Colony Optimization, ACO)
简介 蚁群算法(Ant Colony Optimization, ACO)是一种基于自然启发的优化算法,由意大利学者马可多里戈(Marco Dorigo)在1992年首次提出。它受自然界中蚂蚁觅食行为的启发,用于解决离散优化问题。 在自然界…...
使用IDEA构建springboot项目+整合Mybatis
目录 目录 1.Springboot简介 2.SpringBoot的工作流程 3.SpringBoot框架的搭建和配置 4.用Springboot实现一个基本的select操作 5.SpringBoot项目部署非常简单,springBoot内嵌了 Tomcat、Jetty、Undertow 三种容器,其默认嵌入的容器是 Tomcat,…...
苹果系统中利用活动监视器来终止进程
前言 苹果系统使用的时候总是感觉不太顺手。特别是转圈的彩虹球出现的时候,就非常令人恼火。如何找到一个像Windows那样任务管理器来终止掉进程呢? 解决办法 Commandspace 弹出搜索框吗,如下图: 输入“活动”进行搜索ÿ…...
宝塔安装雷池网站防护
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、 加载镜像二、使用步骤三、如果启动不成三、 启动成功以后三、 进入雷池不知道密码 前言 提示:这里可以添加本文要记录的大概内容:…...
JavaScript完整原型链
在 JavaScript 中,每个函数都有一个prototype属性,这个属性是一个对象。当通过一个构造函数创建一个新的对象时,这个新对象会自动拥有一个内部属性[[Prototype]](在一些浏览器中可以通过__proto__访问,不过这是一个非标…...
Vue 内置组件 keep-alive 中 LRU 缓存淘汰策略和实现
LRU(Least Recently Used,最近最少使用)是通过记录缓存项的访问顺序来决定淘汰的策略:当缓存满时,移除最久未被使用的项。 核心概念: 缓存存储:使用 Map 存储键值对,用于快速访问缓…...
李宏毅机器学习课程知识点摘要(14-18集)
线性回归,逻辑回归(线性回归sigmoid),神经网络 linear regression , logistic regression , neutral network 里面的偏导的相量有几百万维,这就是neutral network的不同,他是…...
《AI大模型开发笔记》Faster-Whisper 免费开源的高性能语音识别模型
1 Whisper模型,免费开源的语音识别模型 Whisper模型是OpenAI公开的语音识别模型。这是一个免费可商用的模型。 Whisper模型根据参数量来区分,有多个不同的版本,分别是tiny,base,small medium,large&#x…...
蓝队基础,网络七杀伤链详解
声明! 学习视频来自B站up主 泷羽sec 有兴趣的师傅可以关注一下,如涉及侵权马上删除文章,笔记只是方便各位师傅的学习和探讨,文章所提到的网站以及内容,只做学习交流,其他均与本人以及泷羽sec团队无关&#…...
golang开发一个海盗王的登录更新器
前段时间,用golang配合界面库govcl开发一个海盗王的登陆更新器,实现多区注册和文件更新分离不同服务器等新功能。 由于govcl没有更换皮肤的功能,界面都是默认,不好看。 找了很多go语言的gui库,都没有符合要求的。 后来…...
李宏毅机器学习课程知识点摘要(6-13集)
pytorch简单的语法和结构 dataset就是数据集,dataloader就是分装好一堆一堆的 他们都是torch.utils.data里面常用的函数,已经封装好了 下面的步骤是把数据集读进来 这里是读进来之后,进行处理 声音信号,黑白照片,红…...
003 STM32基础、架构以及资料介绍——常识
注: 本笔记参考学习B站官方视频教程,免费公开交流,切莫商用。内容可能有误,具体以官方为准,也欢迎大家指出问题所在。 01什么是STM32(宏观) STM32属于一个微控制器,自带了各种常用通…...
eNSP-Cloud(实现本地电脑与eNSP内设备之间通信)
说明: 想象一下,你正在用eNSP搭建一个虚拟的网络世界,里面有虚拟的路由器、交换机、电脑(PC)等等。这些设备都在你的电脑里面“运行”,它们之间可以互相通信,就像一个封闭的小王国。 但是&#…...
在软件开发中正确使用MySQL日期时间类型的深度解析
在日常软件开发场景中,时间信息的存储是底层且核心的需求。从金融交易的精确记账时间、用户操作的行为日志,到供应链系统的物流节点时间戳,时间数据的准确性直接决定业务逻辑的可靠性。MySQL作为主流关系型数据库,其日期时间类型的…...
React 第五十五节 Router 中 useAsyncError的使用详解
前言 useAsyncError 是 React Router v6.4 引入的一个钩子,用于处理异步操作(如数据加载)中的错误。下面我将详细解释其用途并提供代码示例。 一、useAsyncError 用途 处理异步错误:捕获在 loader 或 action 中发生的异步错误替…...
高等数学(下)题型笔记(八)空间解析几何与向量代数
目录 0 前言 1 向量的点乘 1.1 基本公式 1.2 例题 2 向量的叉乘 2.1 基础知识 2.2 例题 3 空间平面方程 3.1 基础知识 3.2 例题 4 空间直线方程 4.1 基础知识 4.2 例题 5 旋转曲面及其方程 5.1 基础知识 5.2 例题 6 空间曲面的法线与切平面 6.1 基础知识 6.2…...
学习STC51单片机31(芯片为STC89C52RCRC)OLED显示屏1
每日一言 生活的美好,总是藏在那些你咬牙坚持的日子里。 硬件:OLED 以后要用到OLED的时候找到这个文件 OLED的设备地址 SSD1306"SSD" 是品牌缩写,"1306" 是产品编号。 驱动 OLED 屏幕的 IIC 总线数据传输格式 示意图 …...
C++中string流知识详解和示例
一、概览与类体系 C 提供三种基于内存字符串的流,定义在 <sstream> 中: std::istringstream:输入流,从已有字符串中读取并解析。std::ostringstream:输出流,向内部缓冲区写入内容,最终取…...
DeepSeek 技术赋能无人农场协同作业:用 AI 重构农田管理 “神经网”
目录 一、引言二、DeepSeek 技术大揭秘2.1 核心架构解析2.2 关键技术剖析 三、智能农业无人农场协同作业现状3.1 发展现状概述3.2 协同作业模式介绍 四、DeepSeek 的 “农场奇妙游”4.1 数据处理与分析4.2 作物生长监测与预测4.3 病虫害防治4.4 农机协同作业调度 五、实际案例大…...
Go 语言并发编程基础:无缓冲与有缓冲通道
在上一章节中,我们了解了 Channel 的基本用法。本章将重点分析 Go 中通道的两种类型 —— 无缓冲通道与有缓冲通道,它们在并发编程中各具特点和应用场景。 一、通道的基本分类 类型定义形式特点无缓冲通道make(chan T)发送和接收都必须准备好࿰…...
AI+无人机如何守护濒危物种?YOLOv8实现95%精准识别
【导读】 野生动物监测在理解和保护生态系统中发挥着至关重要的作用。然而,传统的野生动物观察方法往往耗时耗力、成本高昂且范围有限。无人机的出现为野生动物监测提供了有前景的替代方案,能够实现大范围覆盖并远程采集数据。尽管具备这些优势…...
快刀集(1): 一刀斩断视频片头广告
一刀流:用一个简单脚本,秒杀视频片头广告,还你清爽观影体验。 1. 引子 作为一个爱生活、爱学习、爱收藏高清资源的老码农,平时写代码之余看看电影、补补片,是再正常不过的事。 电影嘛,要沉浸,…...
