【密码学】一、概述

article/2025/10/2 8:19:02

概述

  • 1、密码学的发展历史
    • 1.1 古代密码时代
    • 1.2 机械密码时代
    • 1.3 信息密码时代
    • 1.4 现代密码时代
  • 2、密码学的基本概念
  • 3、密码学的基本属性
  • 4、密码体制分类
    • 4.1 对称密码体制
    • 4.2 非对称加密体制
  • 5、密码分析

1、密码学的发展历史

起因:保密通信和身份认证问题
根据时间顺序、加密原理和加密方式,可以将密码学的发展历史分为:古代密码时代、机械密码时代、信息密码时代和现代密码时代

1.1 古代密码时代

使用的密码体制为古典密码体制,应用的主要技巧是文字内容的代替、移位和隐藏等。
如:密码棒、凯撒密码(移位)、隐写术、阴符、阴书等。
隐写术是将信息隐藏再公开信息种,并通过公开渠道进行信息传递。

1.2 机械密码时代

两次世界大战期间加密所使用的是机械密码机,因此这一时期的密码也被称为机械密码。
初步:(无线电报的发展和使用)加密主要原理是字母的替换和移位,加密和解密的手段采用了机械和手工操作,破译则使用简单的词频分析,以及基于经验和想象的试探方法。
后期:大量的数学和统计知识被应用到,加密原理从传统的单表替换发展到复杂度大大提高的多表替换,基于机械和电器原理的加密和解密装置全面取代以往的手工密码。
如:恩尼格玛密码机、Typex打字密码机、哈格林密码机等。
对于复杂的多表古典密码加密方法,利用密文的重合指数方法与密文中字母统计规律相结合,同样可以破译。

1.3 信息密码时代

原因:在具有超强计算能力的计算机面前,所有的机械密码都显得不堪一击。
加密对象:电子形式的文件
大量的信息论、概率论、数理统计等数学理论被运用到密码技术中,使得密码学成为数学的一个新分支。
①香农发表的《通讯的数学原理》创立了信息论;
②随着计算机网络的发展,信息时代要保证计算机通信网络和数据传递的安全,这是密码学的新任务;
③1949年香农发表的==《保密系统的通信原理》==为密码学建立了理论基础,是密码发展史上的第一次飞跃,人类从此进入信息密码时代。
DES—AES.

1.4 现代密码时代

斯坦福密码学专家发表《密码学的新方向》提出了密码学新的思想。该思想中不仅加密算法本身可以公开,同时同于加密消息的密钥也可以公开,这就是公钥加密。(第二次飞跃)
现代密码学的任务已经不局限于传统密码的保密通信,而是含义更广的信息安全,其中包括保密通信、数据加密、身份认证、数字签名、密钥协商、秘密分享等重要的功能。
第一个实用的公钥密码体制RSA。(RSA密码算法的安全性基于数论中的大整数影子分解问题)
椭圆曲线密码体制ECC。基于椭圆曲线上离散对数求解问题。
③我国研究并推出系列商用密码算法,包括祖冲之序列密码算法、SM2公钥密码算法、SM3密码杂凑算法、SM4分组密码算法、SM9标识密码算法等。随着其他相关学科的快速发展,促使密码学中出现了新的密码技术,如DNA密码、混沌密码和量子密码等。

2、密码学的基本概念

通信系统模型
在一般的通信系统中,从信源发出的信号经过编码器的编码调制处理之后,经过公开的信道传到解码器进行译码或者编码操作,最终传到信宿。
但是在过程中要保护明文不被攻击,所以引入了保密通信的概念。
是指在一般通信系统中加入加密器与解密器,保证信息在传输过程中无法被其他人解读,从而有效解决信息传输过程中存在的安全问题。
保密通信系统模型
一个密码体制可以描述为一个五元组==(M,C,K,E,D)==

系统的保密性不依赖于对加密体制或算法的保密,而依赖于密钥,这是柯克霍夫原则。

3、密码学的基本属性

应用密码技术是保障网络与信息安全最有效、最可靠、最经济的手段,可以实现信息的机密性、信息的真实性、数据的完整性和行为的不可否认性。

信息的机密性是保证信息不被泄露给非授权者等实体的性质。
信息的真实性是指保证信息来源可靠、没有被伪造和篡改的性质。
数据的完整性是指数据没有受到非授权者的篡改或破坏的性质。(密码杂凑算法)
行为的不可否认性也称为抗抵赖性,是指一个发生的操作行为无法否认的性质。

4、密码体制分类

主要分为对称密码和非对称密码体制。

4.1 对称密码体制

又称为单钥体制,是加解密的密钥相同的密码算法。其保密性取决于密钥的保密性,而非算法的保密性。
如何产生满足保密要求的密钥以及如何将密钥安全、可靠地分配给通信双方是这类体制设计和实现的主要课题。
对称密码体制分为序列密码或流密码(按字符加密)、分组密码(按分组加密)。

4.2 非对称加密体制

也称为公钥密码体制。加解密过程使用的密钥不一样(公钥和私钥)。
一方面可以解决对称密码体制中的密钥分发和管理问题,另一方面可以解决不可否认问题。
另一个重要用途是数字签名(用私钥签名,所有人可以用公钥验证)

5、密码分析

攻击分为被动攻击(截获密文进行攻击)和主动攻击(向系统注入假消息)。
密码分析分为:
唯密文攻击(只用密文进行密码分析)最难攻击,是利用穷举法。
已知明文攻击(利用大量相互对应的明文和密文)
选择明文攻击(选择特定明文和对应密文)
选择密文攻击(选择特定密文和对应明文)

自适应选择明文攻击:是指密码分析者不仅能够选择要加密的明文,还可以根据加密的结果对以前的选择进行修正
选择密钥攻击:表示密码分析者知道不同密钥之间的关系,并不表示密码分析者能够选择密钥。

计算安全:
满足1.破译密文的代价超过被加密信息的价值
2.破译密文所花费的时间超过信息的有用期。

密文没有泄露足够多的明文信息,无论计算能力有多强,都无法由密文唯一确定明文,满足此条件的加密算法称为无条件安全。


http://chatgpt.dhexx.cn/article/8XJwKKhA.shtml

相关文章

密码学浅尝辄止

总结不易,如果对你有帮助,请点赞关注支持一下 微信搜索程序dunk,关注公众号,获取博客源码、数据结构与算法笔记、面试笔试题 本文加密算法源码 文章目录 密码学浅尝辄止密码学的基本概念古典密码学替换法移位法恺撒加密中国古代加…

密码学前提知识了解(一)

目录 一、密码学基础知识 1.密码的定义 2.密码算法 3.对称密码算法 4.非对称密码算法 5.摘要密码算法 二、历史上的密码 1.凯撒密码 2.简单替换密码 三、对称密码 1.ASCII 2.异或 ​编辑 四、试题 一、密码学基础知识 1.密码的定义 密码是一种用来混…

【密码学】二、古典密码

古典密码 1.置换密码1.1列置换密码1.2周期置换密码 2.代换密码2.1单表代换密码2.1.1凯撒密码2.1.2仿射密码 2.2多表代换密码2.2.1维吉尼亚密码2.2.2普莱费尔密码 3.轮转密码3.1恩尼格玛密码机Enigma3.1.1Enigma加密3.1.1Enigma解密 4.古典密码的分类5.古典密码的统计分析5.1单表…

格密码与最短向量上界

目录 前言 一. BLICHFELD理论 二. 闵可夫斯基凸体定理 三. n维球体体积结论 四. 闵可夫斯基第一定理 五. 闵可夫斯基第二定理 结论 前言 本节主要讨论闵可夫斯基提出的关于连续最小值的上界问题。为了简化分析过程,仅讨论满秩的格,将结果类推到非…

一个苹果成就了牛顿,一个苹果杀死了图灵。

今天不发技术文章了。 假期看了一部电影《模仿游戏》,讲的是人工智能之父图灵的故事。 说起图灵,可能你知道他是计算机科学之父、人工智能之父。计算机领域最负盛名的奖项「图灵奖」都用他的名字命名。 但你可能不知道,二战期间,他…

使用 python 实现恩尼格码的加密

使用 python 实现恩尼格码的加密 又是摸鱼的一天查阅资料,尝试理解恩尼格码字符的映射混淆的次数反射板和转接线的设置描述转子转动的规律完整代码的实现 实现过程的复盘 又是摸鱼的一天 今天在问答胡混的时候,看到一个提问,关于恩尼格码的 …

密码分析学-Enigma机破解

密码分析学 Enigma机破解 目录 作业要求摘要正文一:Enigma机加密1.1 背景1.2 加密原理1.3 安全性分析1.4 加密算法实现 二:Enigma解密2.1 历史上的解密2.2 Enigma机破解原理2.2.1 寻找明密文对关系 -- Ciber2.2.2 通过环路屏蔽接线板2.2.3 还原接线板 2…

密码学的发展(第二篇:恩尼格码机)

1、恩尼格玛机 恩尼格码机又叫英格玛机、哑谜机器或者奇谜机,它在二战中大放异彩。它使用的本质还是第二代机密法----替代和移位。但因为可以切换无穷种加密配套组合,所以在对抗频率分析上极为有效。 恩尼格玛机是一种机械电子式的加密机,由…

密码学简史(一)--- 谍战中的古典密码学

文章目录 1. 隐藏法2. 移位法与替代法3. 维吉尼亚加密法3.1 维吉尼亚加密法的破解3.2 维吉尼亚加密法2.0版3.3 维吉尼亚加密法3.0版 4. 恩尼格玛密码机(Enigma)4.1 第一代恩尼格玛机的破解4.2 第二代恩尼格玛机的破解 更多文章: 密码学数千年的发展史,加…

MATLAB实现Enigma 密码机

Matlab 模拟实现 enigma 密码机。密码机包含三个转子和反射器,满足以下条件: 1. 输入信号从左往右通过各个转子(在到达反射器之前); 2. 根据输入信号的流经次序,从左到右将转子依次标号为转子 1、转子 2、…

通过Java实现恩尼格玛密码机

1 简介 前一段时间看了B站介绍恩尼格玛密码机的视频,试了试用Java来实现一台恩尼格玛密码机,在此文章中来简单介绍自己实现的思路和代码以供大家学习参考,如有错误,欢迎指出。 单表替换密码会由于字母分布的规律被破解出来&…

加密解密工具 之 恩尼格玛密码机密码

工具链接:http://www.atoolbox.net/Tool.php?Id993 恩尼格码密码机及加密原理 恩尼格码密码机是二战时期的纳粹德国及其盟国,特别是德国军方所使用的一种高级机械加密系统,以转子结构为主体。 密码机一般装在一个盒子里。当要加密一串字符…

恩尼格玛密码机原理解析(Enigma principle )

恩尼格玛机也结合了机械系统与电子系统。机械系统包括了一个包含了字母与数字的键盘,相邻地排列在一个轴上的一系列名为“转子” 的旋转圆盘,还有一个在每次按键后就使一个或几个转子旋转的装置。各种恩尼格玛机上的机械系统都各为不同,但是&…

使用HttpClient模拟POST请求

HttpClient 是 Apache Jakarta Common 下的子项目,可以用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 HTTP 协议最新的版本和建议。当前官网最新版介绍页是:http://hc.apache.org/httpcomponents-client-4…

fastmock模拟post、get请求

参考资料: fastmock 帮助文档 初学者可以根据这个文档了解如何创建项目 【前端必备基本技能】-fastMock平台使用_哔哩哔哩_bilibili 如果觉得文档不好理解的小伙伴可以看这个视频,本人觉得讲的很仔细。 Mock.js 实例练习: get请求 …

TCP模拟HTTP请求

HTTP的特性 HTTP是构建于TCP/IP协议之上,是应用层协议,默认端口号80 HTTP协议是无连接无状态的 HTTP报文 请求报文 HTTP协议是以ASCⅡ码传输,建立在TCP/IP协议之上的应用层规范。 HTTP请求报文由请求行(request line)、…

使用postman模拟post、get请求

postman通常作为一种接口测试工具,如:采用post、get等方式,模拟对接口进行访问,用于查看接口功能是否正常。 模拟POST请求 选择请求方式为POST 设置请求url地址 http://localhost:8081/webside/subSystemLogin.html 选择Header…

如何简单的模拟发送http post请求

有天在做项目演示的时候要用到post请求的模拟发送,为此总不至于写一个html页面,当时只记得百度了一下模拟发送http post请求,方法大概都是说用fiddler工具或者使用cmd内置telnet客户端模拟http请求。 这里抄送附上fiddler工具和telnet模拟po…

接口测试中模拟post四种请求数据

转自 作者:隋胖胖LoveFat 链接:https://www.jianshu.com/p/3b6d7aa2043a 来源:简书 一、背景介绍 在日常的接口测试工作中,模拟接口请求通常有两种方法,fiddler模拟和HttpClient模拟。 Fiddler是一个简单的http协议调…

谷歌学术访问

https://via.hypothes.is/ 不需要镜像,不需要任何操作,只需打开这个网站,输入你要访问的学术网站,秒开 第一步: 第二步: