密码学基础概念

加密性

什么是加密?

1.对原有的明文数据,执行某种运算,得到密文数据。

2.密文数据对于未授权人员而言,在一定上程度上加大了解读的难度

3.加密功能用于实现机密性

什么是密钥?

1.如同持有保险柜钥匙才能打开保险柜一样。

2.执行加密或解密过程中,均需要"密钥"的参与

明文+算法+密钥=密文

什么是算法?

1.依据密钥的使用方法,可以将算法分为两种,包括对称加密算法,非对称加密算法。

什么是对称加密算法?

1.使用"同一把密钥"来执行加密和解密(明文加密密钥和密文解密密钥相同)

2.对称加密算法有 DES、3DES、AES

明文加密密钥 Huawei@123

密文解密密钥 Huawei@123

对称加密算法-DES

1.DES(数据加密标准),IBM开发于1975年。

2.将数据包划分为等长的64比特,从而进行加密的对称密码算法:

1)加密数据块大小为64比特

2)密钥长度为64比特,实际长度为56比特,剩下的8位用来校验

3.由于密钥长度太短问题,DES算法存在较大的风险。

对称加密算法 3DES

1.基于DES密钥长度导致的安全问题,IBM在1999年创建了3DES

2.3DES密钥长度放大3倍,达到168bi6

3.3DES处理速度不高

原始数据---key1(加密)---key2(解密)---key3(加密)---加密数据

加密数据---key3(解密)---key2(加密)---key1(解密)---原始数据

对称加密算法-AES

1.高级加密标准,用于真正替代DES算法

2.美国国家标准与技术研究院于2001年11月26日发布

3.将数据包划分为等长的128比特(DES的2倍),从而进行加密的对称算法

1)块大小为128比特

2)密钥长度有三种:128、192、256比特(密钥的长度越长越安全,消耗的资源也越多)

4.AES是现在主流的国家密码算法

中国国家商用密码算法-对称算法

1.兼容性不强,外国的厂商设备可能不支持

2.SM1,分组与密钥长度均为128位,不公开算法

3.SM4,分组与密钥长度均为128位,公开算法

4.SM7,分组与长度均为128位,不公开算法,常用于身份识别卡、电子门票等。

5.祖冲之算法

什么是分组密码?

1.每次只能处理特定长度的一块数据。

2.一块就是一个分组

3.分组的大小被称为分组长度

分组密码块加密的两种模式之一:ECB

1.电子密码本块加密方式

1)将一个数据包,分为多个64位的块

2)通过DES算法,用相应的密钥,加密对应的块

3)得到对应的密文

2.该加密模存在的问题:

1)相同的明文,相同的密钥和算法,得到相同的密文

2)块之间加解密是独立的,加解密的失败不会影响后续块的进行

分组密码块加密的两种模式之一:CBC

1.加密块链接方式

1)将一个数据包,分位多个64位的块

2)在发送的时候,附加一个明文IV初始化向量位(随机数)

3)利用初始化向量位,和第一个包做混淆

4)通过DES算法,用相应的密钥,加密对应的块

5)得出对应的密文

4)再利用得到的密文与第二个明文做混淆,以此类推

2.该加密模式的优点:

1)依靠初始化向量位的扰乱,相同的明文,得到不同的密文

2)块之间加密是联系的,加解密的失败会影响后续块的进行

对称加密算法的优缺点

1.优点:算法简单,加密速度快,效率高

2.缺点:使用同一把密钥加解密,如何解决密钥安全共享问题?

什么是非对称加密算法?

1.使用"不同密钥"来执行加密和解密

2.常见非对称加密算法有RSA,DH

非对称加密算法-RSA

1.公共密钥加密系统

2.支持密钥长度为1024、2048位甚至更长

3.工作原理 使用公钥/私钥加密,就必须使用私钥/公钥解密

1)接收方使用RSA算法,生成一对密钥(公钥+私钥)

2)接收方将公钥发给发送方,私钥自己严格保存

3)发送方使用接收方发送的公钥对数据进行加密,再把加密后的数据发送给接收方

4)接收方使用自己的私钥来解密数据

非对称加密算法的优缺点

1.优点:更高的安全性

2.缺点:算法复杂,加解密效率低

非对称加密算法存在的风险: 接收方无法判断接收到的公钥是否是发送方发的

完整性

什么是完整性?

1.确保发送的数据和接收的数据一致,称为完整性

2.使用的技术"单向散列函数"

什么是单向散列函数?

1.单向散列函数,有一个输入和输出:

1)输入称为'消息'

2)输出称为'散列值',又称'哈希值'

2.依据消息的内容来计算出散列值,再利用散列值来验证'数据完整性'。

3.单向散列函数算-MD4/MD5,能够产生128比特的散列值。

4.单向散列函数算法-SHA

1)SHA0,1993年发布,已撤回

2)SHA1,1995年发布,2005年被破解

3)SHA2,可固定输出224/256/384/512比特的散列值,SHA2为目前的主流算法

4)SHA3,未完全普及,相关资料较少

5)中国国密的算法SM3,类似于SHA2-256

5.单向散列函数的特点

1)依据任意长度的消息计算出固定长度的散列值

2)能够快速计算出散列值

3)散列值具有唯一性

4)具备单向性

什么是认证?

1.为了确保发送源的合法性,需要对发送源执行认证

什么是消息认证码?

1.一种确认'完整性'并进行'认证'的技术。

2.输入任意长度的消息和共享的密钥,输出固定长度的MAC值。

消息认证码的工作流程,共享密钥不会从发送者发给接受者

消息认证码常用算法

1.HMAC。

2.一种使用单向散列函数来构造消息认证码的方法

3.任何高强度的单向散列函数都可以被用于HMAC,例 HMAC-SHA-224

相关推荐
思诺学长12 小时前
密码学及其应用 —— 密码学的经典问题
密码学
魔力之心1 天前
密码学原理精解【5】
密码学
Mr.zwX1 天前
【密码学基础】对随机不经意传输(Random Oblivious Transfer)的理解
密码学·隐私计算·不经意传输
couldn3 天前
yaklang window安装 vscode运行得到“hello world”
ide·vscode·网络安全·编辑器·密码学·密钥·yaklang
魔力之心3 天前
密码学原理精解【4】
密码学
思诺学长3 天前
法国工程师IMT联盟 密码学及其应用 2023年期末考试补考题
密码学
思诺学长3 天前
法国工程师IMT联盟 密码学及其应用 2023年期末考试题
运维·服务器·密码学
Qaijam4 天前
应用密码学—(扩展)欧几里得、DES、RSA、SHA-1算法
算法·安全·密码学
大草原的小灰灰6 天前
密码学基础之ASN.1编码
网络安全·密码学
tutu-hu6 天前
【SGX系列教程】(八)Intel-SGX 官方示例分析(SampleCode)——Seal Unseal
c++·算法·安全·密码学·硬件架构