密码学基础

一、1.古典密码注重算法(密钥比较简单),如凯撒密码,移位密码,仿射密码, 棋盘密码,培根密码等

凯撒密码示意图:

明文:ab

密文:de

 棋盘密码:

明文:ab

密文:11 12

2.现代密码注重密钥

明文+加密算法+密钥=密文

密文+解密算法+密钥=明文

密码攻击的四种方式

 惟密文攻击已知加密算法和明文  推出密钥或明文

已知明文 已知明文     推出密钥和加密算法

二·、编码

编码和加密的区别

  • 编码:通俗来理解就是将字符编码成计算机理解的语言
  • 加密:对数据进行加密,保障数据的保密性

url   主要是在url中也就是网址中进行使用的,%23代表#,%0a代表回车

ascii  ASCII (American Standard Code for Information Interchange):美国信息交换标准代码是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言。只有256个字符不能满足其他国家语言的需求,所以出现其他语言的编码

utf(unicode)统一码,可以表示任意全世界所有国家的字符

utf-8可变长utf编码,所占字节可以根据字符来决定

gbk   关于汉字的编码

base64  一种基于64个可打印字符来表示二进制数据的方法。

加密后的数据多带+和=号,如1编码后:MQ==

三、对称加密

现代加密分为对称加密和非对称加密,对称加密是加解密使用同一个密钥,而非对称加密加解密使用不同公钥。如:RC4,DES,3DES,AES

根据加密对象:

流加密,每次加密通过密钥生一个密钥流,使用密钥流进行加密,如RC4

块加密,把加密和解密序列分成了一个个分组,最后在组装起来,如DES,AES

3DES只要保证第一次和第二次的密钥不同即可

 DES加密模式

四、非对称加密

非对称加密有两个密钥,公钥和私钥,私钥是在自己手里的,公钥是传给对方的,用对方的公钥加密,不能通过公钥推出对方的私钥。对称加密算法:RSA,椭圆曲线,dh等

主机A       ————》主机B

A用B的公钥加密,B用自己的私钥解密

对称加密优点:

  • 加密快
  • 结构紧凑        数据原来是1M,加密后1.1M

缺点:

  • 密钥管理不方便        很多个人通信就需要穿许多密钥

非对称加密优点:

  • 密钥管理方便

缺点:

  • 速度慢
  • 结构不紧凑         数据加密后空间占用变得很大

对称加密和非对称加密结合,数据用非对称加密,密钥用对称加密传输。

四、数字证书和数字签名

公钥怎么保证是自己的,不被第三方篡改

pki公开密钥体系

ca 中心  (公安局)数字证书包含公钥,还可能被伪造,需要数字签名

数字签名 用私钥签名,验证对方身份

五、hash算法

hash 算法:SHA-1(160),SHA-2,MD5(128),主要用来保证数据的完整性

一些软件,镜像下载,有md5值,防止为被篡改

hash函数特点:

  • 单项不可逆
  • 定长输出
  • 雪崩效应
  • 防碰撞
posted @   mushangqiujin  阅读(25)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
· SQL Server 2025 AI相关能力初探
点击右上角即可分享
微信分享提示