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

《现代密码学》 绪论 信息安全与密码学 经典的信息安全三要素(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.面试题合集

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

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

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

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

密码学——现代密码体制总结(别再管哈希叫加密了哦) 本文以区分哈希、编解码和加解密为引,总结了各类密码体制。包括了对称密钥体制和非对称密钥(公钥)体制的特点,与DES、AES、RC4、RSA及ElGamal等经典算法的实现思想。本文应该能助你对各类密码体制有一个较为清晰的认识。 阅读详情

相关推荐

现代密码学(Introduction to Modern Cryptography)

现代密码学三个基本原则: 1.Formulation of exact definitions 2.Reliance on precise assumptions 3.Rogorous proofs of security

ma_sherlock的博客 4544

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

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

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

【总结一】现代密码学

密码是指采用特定变换的方法对信息进行加密保护、安全认证的技术、产品和服务。--------《中华人民共和国密码法》密码学是研究编制密码和破译密码的技术科学。研究密码变化的客观规律,应用于编制密码以保护通信秘密的成为密码编码学,应用于破译密码以获取通信情报的,称为密码分析学。​如上图,在Alice向Bob发送信息的过程中存在着许多安全问题,是否有其他人看到信息内容(机密性),信息内容是否被改动(完整性),是否是Alice发送的信息(消息源认证),是否是发给Bob的信息(通信实体认证。

FansMing的博客 2034

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

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

Python_0011的博客 2078

树莓派5首次开机保姆级教程(无显示器通过VNC连接树莓派桌面)

选择 Interface Options > VNC > Yes 启用服务。2.在Windows电脑上安装VNC软件。重启树莓派:sudo reboot。3.使用VNC远程访问树莓派桌面。

qq_34184505的博客 2350

避免bank conflict的使用共享内存的矩阵转置。及其循环展开。转置前后都是行主序,中间共享内存中是列主序

为了避免bank conflict,可以使用padding的方式将数组中的每一行各自占据一个bank,这样每个线程读取不同行的数据时就不会发生bank conflict。padding的方式是在每行数据后面添加一定数量的空数据,使得每行的字节数恰好是bank的整数倍,这样就能保证每行数据各自占据一个bank。具体来说,当一个线程访问共享内存中的一个元素时,GPU会根据该元素在共享内存中的地址计算出其所在的bank,然后将该元素从该bank中读取出来。

weixin_55035144的博客 2144

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

目录密码学总结第一章——只因础模型与概念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

告别抖动与滞后:深入博能传动伺服DSC功能,用105报文提升多轴同步性能

本文深入解析博能传动伺服DSC功能如何通过105报文实现多轴同步性能提升,有效解决工业自动化中的抖动与滞后问题。详细介绍了DSC技术原理、105报文实现机制及多轴同步工程实践,帮助工程师优化伺服系统性能,实现绝对齿轮同步。

weixin_30394981的博客 184

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

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

Libra1313的博客 1467

SRAM:SRAM入门指南与工作原理

SRAM(Static Random Access Memory),即静态随机存取存储器,是一种能够读取和写入数据的内存(RAM)。它使用由晶体管组成的触发器来存储数据,只要有电源供应,数据就可以稳定地保存。与动态随机存取存储器(DRAM)不同,SRAM 不需要周期性地刷新来保持数据。

weixin_42896509的博客 1万+

使用Metasploit生成木马控制Windows系统

使用Metasploit生成木马控制Windows系统

weixin_56956399的博客 2508

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

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

分享Python知识 1万+

【软件分享】天若OCR文字识别V4.48(翻译功能免费)

软件简介 吾爱破解论坛大佬天若幽心开发的一款OCR文字识别工具。支持快速截图识别,以及文本翻译。 下载地址 蓝奏云盘:点击下载 百度网盘:点击下载(密码:4dm4) 坚果云盘:点击下载 天翼云盘:点击下载 微软云盘:点击下载 使用教程 1、下载后对压缩包进行解压 2、双击天若OCR文字识别.exe 3、发现桌面右下角出现软件图标 4、双击软件图标即可开始截图识别 原帖地址 https://www.52pojie.cn/thread-692917-1-1.html ...

XavierJ的博客 1万+

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

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

Javachichi的博客 1192

zemax双透镜公差分析

蒙特卡罗分析: 评估公差的整体影响,模拟过程中产生一系列随机的lens,满足指定的公差,然后再按照标准评估。公差分析,就是在设计了一个理想的系统后,想看看实际生产过程中如果产生公差(误差),系统会坏到什么程度,也就是光学性能受到多大影响。反灵敏度分析:分别对每个公差在性能方面的一个给定的最小允许减少量来计算公差,也就是限制了系统性能的变化,和灵敏度分析方向相反。灵敏度分析对每个公差单独求值,分别计算每个公差操作数的最大、最小、标准值(如上图)所有设计上可能的公差都列出来了。注意要固定透镜的口径。

fendoudecheng的博客 3207

Python爬虫实战:链家/贝壳租房数据抓取与可视化分析平台

本文详细介绍了如何使用Python爬虫技术抓取链家/贝壳网站的租房信息,并构建一个完整的数据可视化分析平台。文章涵盖了从数据抓取、数据清洗、数据存储到数据可视化的全流程,使用最新的Python技术栈,包括AsyncIOPandasMongoDB和Pyecharts等库。本系统可作为毕业设计项目,提供了完整的代码实现和架构设计。关键词:Python爬虫、数据抓取、数据可视化、链家、贝壳、租房信息、毕业设计。

2201_76125261的博客 1207

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的博客 1779

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

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

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

Spontaneous_0的博客 1286

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

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

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

Javachichi的博客 769

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

上一篇: 大模型时代下,算法工程师该何去何从?(非常详细)从零基础到精通,收藏这篇就够了!
下一篇: 网络安全-跨站脚本攻击(XSS)的原理、攻击及防御,非常详细,从零基础到精通,收藏这篇就够了!
程序员_大白
博客等级 码龄5年 1万+粉丝 4001原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值