现代密码学-密码学概论与基本知识(非常详细)从零基础到精通,收藏这篇就够了!

《现代密码学》 绪论 信息安全与密码学 经典的信息安全三要素(CIA)——机密性、完整性和认证性是信息安全的核心原则。 以密码学为基础的信息安全的五个方面:信息及信息系统的机密性、完整性、可用性、认证性和不可否认性。机密性可通过加密变换实现访问控制;完整性使用消息摘要算法防止篡改;认证性分为实体认证和消息认证。 攻击分为主动攻击(中断、篡改:对完整性的攻击、伪造:对认证性的攻击、重放:可使用... 阅读详情

目录

简介

密码学发展简史

创建

发展阶段

古典密码时期

近代密码时期

现代密码时期

密码主要功能

机密性

完整性

认证性

不可否认性

密码系统的组成

密码分析学

定义

密码攻击类型

针对对称密码体制

针对对称密码体制

常用方法

密码体制的安全性

无条件安全性

计算安全性

可证明安全性

思维导图

传统密码

对称密码

非对称密码

哈希函数与消息认证

数字签名

公钥管理

参考


简介

本文或本专栏针对现代密码学,传统密码有提及,但不会深入,想深入了解,请移步其他作者的专栏。算法没有自己实现,基本是采用Go语言去调库,感兴趣的读者请自行阅读crypto等标准库源代码。

密码学发展简史

创建

1949年,Shannon发表了“保密系统的通信理论(Communication Theory of Secrecy Systems)”一文,为密码学的发展奠定了坚实的理论基础,此后的密码技术才真正称得上密码学。提出了保密系统的数学模型、随机密码、纯密码、完善保密性、理想保密系统、唯一解距离、理论保密性和实际保密性等重要概念,并提出评价保密系统的5条标准,即保密度、密钥量、加密操作的复杂性、误差传播和消息扩展。(第一次飞跃)

1976年后,美国数据加密标准(DES)的公布使密码学的研究公开,密码学得到了迅速发展。(里程碑)

1976年,Diffe和Hellman发表了《密码学的新方向》,提出了一种新的密码设计思想,从而开创了公钥密码学的新纪元。(第二次飞跃)
1978年由Rivest、Shamire和Adleman首先提出第一个实用的公钥密码体制RSA,使公钥密码的研究进入了快速发展阶段。(里程碑)

发展阶段

密码学发展大致分为三个阶段:

前两个阶段又称为传统密码。

古典密码时期
起始时间:从古代到19世纪末,长达几千年。  
技术工具:手工。  
通信手段:信使。  
密码体制:纸、笔或者简单器械实现的**代换**及**置换**,是一种艺术(富有创造性的方式、方法)。  
典型密码:**凯撒密码**、**维吉尼亚密码**等。
近代密码时期
起始时间:从20世纪初到20世纪50年代,即一战及二战时期。  
技术工具:机械设备。  
通信手段:电报。  
密码体制:手工或电动机械实现复杂的**代换**及**置换**,仍是一门艺术。  
典型密码:**Vernam密码、转轮密码**等。
现代密码时期
起始时间:从1949年至今。  
技术工具:计算机。(针对二进制的比特位,而不是字符)  
通信手段:无线通信、有线通信、计算网络等。  
密码体制:**对称密码**(分组密码、序列密码)和**非对称密码**(公钥密码),有坚实的数学理论基础,成为一门科学。  
典型密码:**DES**、**AES**、RC4、**RSA**、SHA等。

密码主要功能

机密性

-我与你说话时,别人能不能偷听?

-别人偷听到了能不能听懂?

机密性是指保证信息不泄露给非授权的用户或实体,确保存储的信息和传输的信息仅能被授权的各方得到,而非授权用户即使得到信息也无法知晓信息内容,不能使用。

完整性

-收到的传真不太清楚?
-传送过程过程中别人篡改过没有?

完整性是指信息未经授权不能进行改变的特征,维护信息的一致性,即信息在生成、传输、存储和使用过程中不应发生人为或非人为的非授权篡改(插入、替换、删除、重排序等),如果发生,能够及时发现。

认证性

-我不认识你!
-你是谁?
-我怎么相信你就是你?
-要是别人冒充你怎么办?

认证性是指**确保一个信息的来源或源本身被正确地标识**,同时确保该标识的真实性,分为实体认证和消息认证。  
**消息认证**是指能向接收方保证该**信息确实来自于它所宣称的源。**  
**实体认证**是指参与信息处理的**实体是可信的**,即每个实体的确是它所宣称的那个实体,使得任何其它实体不能假冒这个实体。

不可否认性

-我收到货后,不想付款,想抵赖,怎么样?
-我将钱寄给你后,你不给发货,想抵赖,如何?

不可否认性是防止发送方或接收方抵赖所传输的信息,要求无论发送方还是接收方都不能抵赖所进行的行为。因此,当发送方发送一个信息时,接收方能证实该信息的确是由所宣称的发送方发来的;当接收方收到一个信息时,发送方能够证实该信息的确送到了指定的接收方。

密码系统的组成

一个密码系统(System)是由明文(Plaintext)、密文(Ciphertext)、密钥(Key)、加密算法(Encryption Algorithm)和解密算法(Decryption Algorithm)五部分组成的,即s={M,C,K,E,D}。

  • 信息的原始形式称为明文。
  • 明文经过编码变换所生成的称为密文。
  • 密钥是指控制明文与密文之间相互变换的,分为加密密钥和解密密钥。
  • 对明文进行编码变换生成密文的过程称为加密,编码的规则称为加密算法。
  • 将密文恢复出明文的过程称为解密,恢复的规则称为解密算法。

密码系统关系图

密码分析学

定义

研究如何分析或破解各种密码编码体制的一门科学。密码分析俗称为密码破译,是指在密码通信过程中,非授权者在不知道解密密钥的条件下对密文进行分析,试图得到明文或密钥的过程。

密码攻击类型

针对对称密码体制

这五种攻击的类型通常是依次增强的,抵御这五种类型的攻击是密码算法的基本要求。

惟密文攻击(Ciphertext Only Attack)

密码分析者除了拥有截获的密文外(密码算法是公开的,以下同),没有其它可以利用的信息。密码分析者的任务是恢复尽可能多的明文,或者最好能推算出解密密钥,这样就很容易解出被加密的信息。这种攻击的方法至少可采用穷举搜索法,即对截获一定数量的密文依次用所有的密钥尝试,直到得到有意义的明文。在这种情况下进行密码破译是最困难的,经不起这种攻击的密码体制被认为是完全不安全的。(仅仅搭线窃听)

已知明文攻击(Known Plaintext Attack)

密码分析者不仅掌握了相当数量的密文,还有一些已知的明-密文对可供利用。密码分析者的任务就是用密文信息推导出解密密钥或导出一个替代算法,此算法可以对所获得的密文恢复出相应的明文。

对于现代密码体制的基本要求:不仅要经受得住惟密文攻击,而且要经受得住已知明文攻击。(有内奸)

选择明文攻击(Chosen Plaintext Attack)

密码分析者不仅能够获得一定数量的明-密文对,还可以**选择任何明文并在使用同一未知密钥的情况下能得到相应的密文。**这种情况往往是密码分析者通过某种手段暂时控制加密机。(暂时控制加密机)

选择密文攻击(Chosen Ciphertext Attack)

密码分析者能选择不同被加密的密文,并还可得到对应的明文,密码分析者的任务是推出密钥及其它密文对应的明文。

这种情况往往是密码分析者通过某种手段暂时控制加密机和解密机。(暂时控制解密机)

选择文本攻击(Chosen Text Attack)

它是选择明文攻击和选择密文攻击的组合(暂时控制加密机和解密机)。

针对对称密码体制

惟密钥攻击

攻击者仅知道签名者的公钥。

已知消息攻击

攻击者可以获得一些消息和相应的权力,但没有选择的权力。

一般选择消息攻击

攻击者在知道签名者的公钥之前一次性选择所选择获得消息及其签名,即攻击者选择消息与签名者无关。

特殊选择消息攻击

攻击者在知道签名者的公钥之后一次性选择所获得消息及其签名,即攻击者选择消息与签名者有关。

常用方法

穷举攻击

密码分析者用试遍所有密钥的方法来破译密码。穷举攻击所花费的时间等于尝试次数乘以一次解密(加密)所需时间。(一般会有常用密码本,所以大家要常换密码,密码不要太简单呦~)

当解密(加密)算法的复杂性增大时,完成一次解密(加密)所需的时间也增大,从而使穷举攻击的时间也增加。(这也增加合法用户使用密码系统的计算量)

结论:抵御穷举攻击最好方法是有足够密钥空间

统计分析攻击

密码分析者通过分析密文和明文的统计规律来破译密码。统计分析攻击在历史上为破译做出过极大的贡献,大多数传统密码都可以通过统计分析的方法来破译。

结论:抵御统计分析攻击的方法是使明文的统计特征尽可能地不带入密文。如果密文不带有明文的痕迹,那么统计分析攻击成为不可能。(譬如重合指数法)

数学分析攻击

密码分析者针对加密变换所依赖的数学难题(如大整数的素因子分解、离散对数等),通过数学求解的方法(如二次筛法、积分指数法等)来设法找到相应的解密变化,从而实现破译。

结论:抵御数学分析攻击应该选用具有坚实的数学基础和足够复杂的加密方法。

密码体制的安全性

无条件安全性

不论提供的密文有多少,密文中所包含的信息都不足以惟一地确定其对应的明文;具有无限计算资源(诸如时间、空间、资金和设备等)的密码分析者也无法破译某个密码系统。

计算安全性

这涉及到攻破密码体制所做计算的工作量。  
计算出或估计出破译它的计算量下限,利用**已有的最好方法破译该密码系统**所需要的努力**超出了破译者的破译能力**(诸如时间、空间、资金等资源)。即破译密码系统的成本不能超过被加密信息本身的价值,以及破译密码系统的时间不能超过被加密信息的有效生命周期。

**任何密码总有一天都会被破译的。**

可证明安全性

通过有效的转化,将对密码体制的任何有效攻击归约到解一类已知难处理问题,即使用多项式归约技术形式化证明一种密码体制的安全性,称为可证明安全性。  
譬如,**如果**给定大整数的素因子分解是不可行的,那么RSA密码体制是不可破解的。  
**这种方法只是说明了安全性和另一个问题相关的,并没有完全证明它是安全的。**

思维导图

传统密码

现代密码学-传统密码技术(置换、代换密码)

对称密码

des

Go-Des和3Des算法详解与代码

aes

Go-AES算法详解与代码

非对称密码

rsa

ecc

哈希函数与消息认证

MD5

SHA

数字签名

公钥管理

数字证书

参考

《现代密码学教程(第2版)谷利泽,杨义先等》

更新中…

更多内容查看:网络安全-自学笔记

喜欢本文的请动动小手点个赞,收藏一下,有问题请下方评论,转载请注明出处,并附有原文链接,谢谢!如有侵权,请及时联系。如果您感觉有所收获,自愿打赏,可选择支付宝18833895206(小于),您的支持是我不断更新的动力。

本文转自 https://blog.youkuaiyun.com/lady_killer9/article/details/117395452?spm=1001.2014.3001.5502,如有侵权,请联系删除。

黑客/网络安全学习包

资料目录

  1. 成长路线图&学习规划

  2. 配套视频教程

  3. SRC&黑客文籍

  4. 护网行动资料

  5. 黑客必读书单

  6. 面试题合集

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

优快云大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

1.成长路线图&学习规划

要学习一门新的技术,作为新手一定要先学习成长路线图,方向不对,努力白费。

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图&学习规划。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。


因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

优快云大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

2.视频教程

很多朋友都不喜欢晦涩的文字,我也为大家准备了视频教程,其中一共有21个章节,每个章节都是当前板块的精华浓缩。


因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

优快云大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

3.SRC&黑客文籍

大家最喜欢也是最关心的SRC技术文籍&黑客技术也有收录

SRC技术文籍:

黑客资料由于是敏感资源,这里不能直接展示哦!

4.护网行动资料

其中关于HW护网行动,也准备了对应的资料,这些内容可相当于比赛的金手指!

5.黑客必读书单

**

**

6.面试题合集

当你自学到这里,你就要开始思考找工作的事情了,而工作绕不开的就是真题和面试题。

更多内容为防止和谐,可以扫描获取~

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

优快云大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

密码学基本理论 密码学基础知识、密码体制分类、常见密码算法、Hash函数与数字签名、密钥管理与数字证书、安全协议、密码学网络安全应用 阅读详情

相关推荐

密码学概述

1977年三位麻省理工学院的数学家 罗纳德·李维斯特(Ron Rivest)、阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Adleman)一起设计了一种算法,可以实现非对称加密。这个算法用他们三个人的名字命名,叫做RSA算法。对称加密(也叫私钥加密)指加密和解密使用相同密钥的加密算法。有时又叫传统密码算法,就是加密密钥能够从解密密钥中推算出来,同时解密密钥也可以从加密密钥中推算出来。而在大多数的对称算法中,加密密钥和解密密钥是相同的,所以也称这种加密算法为秘密密钥算法或单密钥算法。

javagty6778的博客 1848

密码学简述(非常详细),零基础入门到精通,看这一篇就够了

密码学简述(非常详细),零基础入门到精通,看这一篇就够了

分享Python知识 1万+

【Web实战】微信小程序逆向

2E 70 6E 67”为带存放路径的文件名称,“00 00 11 7C”对应文件在小程序包中的具体偏移位置,“00 01 01 F7“对应文件在小程序包中的数据长度。但这并不是最初的原项目文件结构,原因是微信服务器会将小程序源码中所有的“js”文件压入“app-service.js”文件中,将所有的“json”文件压入“app-config.json”中,将所有的“wxml”文件压入“page-frame.html”文件中,“wxss”则在处理之后以“html”文件的形式存留在对应页面目录之下。

若有战,召必回 1950

现代密码学-密码学概论与基本知识

密码学发展简史 1949年,Shannon发表了“保密系统的通信理论(Communication Theory of Secrecy Systems)”一文,为密码学的发展奠定了坚实的理论基础,于是,密码技术的研究迈上了科学的轨道,因而从严格的意义上讲,此后的密码技术才真正称得上密码学。 ...

关注网络安全、云原生安全 3万+

避坑指南:用pygrib处理ERA5气象数据时遇到的5个典型问题

本文总结了使用pygrib库处理ERA5气象GRIB数据时常见的五个典型问题及解决方案,涵盖数据获取、内存管理、时间处理、空间插值和性能优化。重点针对气象数据插值这一核心挑战,提供了处理不规则网格、缺失值和跨日期变更线的实用代码示例与优化策略,帮助用户高效、稳定地完成气象数据分析工作。

weixin_28224217的博客 185

​基于stm32的智能空气加湿器设计(含源代码和Proteus仿真)

课程设计分享

LoongSTUDIO的博客 2929

一文入门现代密码学,(非常详细)从零基础到精通,收藏这篇就够了!

密码技术最早应用于军事,并随着社会和信息技术的发展不断演变。密码技术的发展背景:军事和外交:密码技术的起源可以追溯到古代,最早的密码用于军事和外交通信,以保护敏感信息不被敌方获取。例如,古希腊的斯巴达使用简单的替换密码,而凯撒密码则是古罗马的一种著名加密方法。商业秘密:随着商业活动的增加,商人们也开始使用密码来保护交易信息和商业秘密。计算机和网络的兴起:20世纪中叶,计算机技术的快速发展和互联网的普及使得信息的传输和存储变得更加便捷,但同时也带来了信息安全的挑战。

Python_0011的博客 2079

Tessy单元测试软件安装与破解避坑指南(附个人使用路径设置详解)

本文详细介绍了Tessy单元测试软件的安装与配置全流程,包括系统需求、服务器连接设置、环境变量配置等关键步骤,帮助开发者避开常见陷阱。特别提供了个人使用路径设置详解,确保Tessy在嵌入式开发环境中高效运行,适用于汽车电子、工业控制等领域。

weixin_33709364的博客 346

现代密码学教程,零基础入门到精通,收藏这篇就够了

目录密码学总结第一章——只因础模型与概念1.1 密码学五元组(结合🐏皮卷)1.2 Dolev-Yao威胁模型1.3 攻击类型1.4 柯克霍夫原则(Kerckhoffs’s principle)1.5 对称、非对称加密1.6 密码的目标1.7 保密通信模型第二章——古典密码2.1 仿射密码2.2 Hill密码例题0 ——解同余方程组例题1——仿射密码例题2——希尔密码第三章——DES算法IP置换E扩展S盒压缩P盒置换秘钥生成分组加密扩散与混淆3DES第四章——高级加密标准4.1 x乘法4.2 AES算法。

Libra1313的博客 1953

Unity通过Vosk实现离线语音识别方法

以下是一个使用 Unity 和 Vosk(一个开源的离线语音识别库)的简单示例。将Vosk的DLL文件(如libvosk.dll、vosk.dll等)放入Assets/Plugins文件夹中。通过以上步骤,你可以在Unity中实现一个简单的离线语音识别功能。音频格式:确保录音的音频格式与Vosk模型要求的格式一致(通常是16kHz、16bit单声道)。首先,你需要下载Vosk的语音识别模型。在Assets文件夹中创建一个Plugins文件夹,用于存放Vosk的DLL文件。打开Unity并创建一个新的项目。

qq_39515892的博客 2071

content-pipeline:一条可落地的内容生产流水线

content-pipeline 是一种将内容创作工程化的系统性方法,其核心在于用确定性流程替代碎片化人工操作。它基于结构化提示(prompt)、预置叙事框架与品牌参数固化三大原理,实现从素材输入到多平台发布的端到端自动化。技术价值体现在显著降低认知负荷、保障输出一致性、支持本地化资源绑定与闭环反馈校验。典型应用场景包括技术教程批量生成、跨平台(公众号/小红书/即刻)内容适配、AI写作质量可控迭代等。本文深入解析其作为‘内容制造业’基础设施的底层设计逻辑与实操路径,尤其聚焦Claude Code环境下的真实

weixin_31199559的博客 270

一文入门现代密码学,从零基础到精通,收藏这篇就够了!

密码技术最早应用于军事,并随着社会和信息技术的发展不断演变。密码技术的发展背景:军事和外交:密码技术的起源可以追溯到古代,最早的密码用于军事和外交通信,以保护敏感信息不被敌方获取。例如,古希腊的斯巴达使用简单的替换密码,而凯撒密码则是古罗马的一种著名加密方法。商业秘密:随着商业活动的增加,商人们也开始使用密码来保护交易信息和商业秘密。计算机和网络的兴起:20世纪中叶,计算机技术的快速发展和互联网的普及使得信息的传输和存储变得更加便捷,但同时也带来了信息安全的挑战。

Libra1313的博客 1467

【计算机组成原理】课程设计四:控制器设计(二)

本文主要是介绍了计算机组成原理课程设计四其二,即控制器设计(二),属于计算机课程设计专栏

superiony的博客 1430

【2025版】一文入门现代密码学,从零基础到精通,收藏这篇就够了!

密码技术最早应用于军事,并随着社会和信息技术的发展不断演变。密码技术的发展背景:军事和外交:密码技术的起源可以追溯到古代,最早的密码用于军事和外交通信,以保护敏感信息不被敌方获取。例如,古希腊的斯巴达使用简单的替换密码,而凯撒密码则是古罗马的一种著名加密方法。商业秘密:随着商业活动的增加,商人们也开始使用密码来保护交易信息和商业秘密。计算机和网络的兴起:20世纪中叶,计算机技术的快速发展和互联网的普及使得信息的传输和存储变得更加便捷,但同时也带来了信息安全的挑战。

喜欢Python编程的程序员柚柚呀 1085

R语言中的summarise函数和mutate函数用于计算分组占比。下面是关于这两个函数的详细介绍以及相应的源代码示例:

R语言中的summarise函数和mutate函数用于计算分组占比。

CodeByte的博客 1183

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

CTF密码学Crypto超详细总结!收藏这篇就够了

(一)古典密码1.摩斯密码2.移位密码(1)凯撒密码(2)栅栏密码①常规型②W型(3)曲路密码(4)列移位(5)rot133.替换密码(1)行置换密码(2)棋盘密码(3)vigenere维吉尼亚密码(4)培根密码(5)猪圈密码(6)键盘密码①电脑键盘②键盘围成的密码(7)盲文密码(8)幂数加密/云影密码(10)Ook(11)标准银河字母(12)简单替换密码(二)编码1.ASCII编码2.Base编码3.unicode编码4.url编码。

leah126的博客 1786

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

密码学属于什么专业(非常详细),零基础入门到精通,看这一篇就够了

密码学属于信息安全专业。

Spontaneous_0的博客 1287

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

密码学基础之进制与编码,从零基础到精通,收藏这篇就够了!

第二颗🌰,现在我们设 ,有 ,其中的每一个元素我们用两个十六进制字符来表示,即 ,然后拼接。转化为十进制就是 ,不过由于256进制下的一个元素又是有两个16进制字符表示的,所以其实整个 也可以看作是 16 进制数,以第一个元素为例, ,于是 也可以记为。对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图&学习规划。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。这也是耗费了大白近四个月的时间,吐血整理,文章非常非常长,觉得有用的话,希望粉丝朋友帮忙点个**「分享」

Javachichi的博客 769
上一篇: 网络安全-跨站脚本攻击(XSS)的原理、攻击及防御,非常详细,从零基础到精通,收藏这篇就够了!
下一篇: 网络-IP协议详解(报文格式、分类、NAT、子网、CIDR、抓包分析)非常详细,从零基础到精通,收藏这篇就够了!
黑客大白
博客等级 码龄5年 1万+粉丝 3206原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值