Skip to content

Latest commit

 

History

History
148 lines (64 loc) · 6.64 KB

EncryptionAndDecryptionAlgorithm.md

File metadata and controls

148 lines (64 loc) · 6.64 KB

加解密算法

信息常识

1、保密性

也称机密性,是不将有用信息泄漏给非授权用户的特性。可以通过信息加密、身份认证、访问控制、安全通信协议等技术实现,信息加密是防止信息非法泄露的最基本手段,主要强调有用信息只被授权对象使用的特征。

2、完整性

是指信息在传输、交换、存储和处理过程中,保持信息不被破坏或修改、不丢失和信息未经授权不能改变的特性,也是最基本的安全特征。

3、可用性。

也称有效性,指信息资源可被授权实体按要求访问、正常使用或在非正常情况下能恢复使用的特性(系统面向用户服务的安全特性)。在系统运行时正确存取所需信息,当系统遭受意外攻击或破坏时,可以迅速恢复并能投入使用。是衡量网络信息系统面向用户的一种安全性能,以保障为用户提供服务。

4、可控性。

指网络系统和信息在传输范围和存放空间内的可控程度。是对网络系统和信息传输的控制能力特性。

5、不可抵赖性

又称拒绝否认性、抗抵赖性,指网络通信双方在信息交互过程中,确信参与者本身和所提供的信息真实同一性,即所有参与者不可否认或抵赖本人的真实身份,以及提供信息的原样性和完成的操作与承诺。

一、对称性加密算法有:AES、DES、3DES //todo

二、非对称性算法有:RSA、DSA、ECC 、DH //todo

总述:

  • 概念

非对称加密需要两个密钥:公钥 (publickey) 和私钥 (privatekey)。

如果用公钥对数据加密,那么只能用对应的私钥解密。如果用私钥对数据加密,只能用对应的公钥进行解密。因为加密和解密用的是不同的密钥,所以称为非对称加密

公钥和私钥是一对,先有私钥,再用函数生成公钥。 公钥包含了私钥的信息,但也掺杂了其他随机变量,因此不能反推。 即 私钥-》公钥 (可以)。公钥-》私钥(不可以)

注: 公开或提供给外界的是公钥,私钥不公开,不提供出去。无论对应发送方还是接收方

具体有两种情形:

别名:自己-A;对方-B;第三方/拦截方/别人-L

常识: 信息传输过程中/在传输通道内 存在泄露/被拦截可能。即发送的公钥、信息均存在泄露的风险;

​ 保密性:哪怕对方得到信息,但不解其意,就是保密性的体现

​ 不可抵赖性:你给好友寄信,哪怕中间被别人看到,过程中经过很多人。但仍是你寄出的信。

情形一:公钥加密,私钥解密 

  **特点:**具有保密性,不具有 不可抵赖性。信息是保密的,别人发现也只是发现密文

  场景是(特别注意): 信息B-> A 对方发送信息给你

            你自己生成密钥对,把公钥给对方B,对方B用公钥加密信息给你。

​ 不是自己用公钥加密,私钥给别人,发送信息给别人。

  分析:

​ **保密性 --具备:**发送方发送信息给你 即使泄露,第三方也只能看到密文

​ 因为私钥在只在自己这保存,不对外提供,只有你自己才能看到明文。

不可抵赖性 -- 不具备: 你给发送方公钥这一行为可能存在 公钥泄露风险。可能被别人L看到得到公钥。

​ 别人用得到的公钥加密后。就可以伪装真正的发送方 发送给你。

​ 因为信息存在是别人L发送的可能。所以B可以抵赖。说某条信息(包括是他发送的信 息)不是他发的,是可能存在的L发的,故可以抵赖,不具备不可抵赖信息

解决方案:传输过程加入情形二,比B->A B外层的信息再用 对方生成的密钥对, 私钥加密。并把私钥给你, 你再通过 B提供的公钥解密,解密后的 密文再通过自己的私钥解密得到最终明文。

情形二:私钥加密,公钥解密

​ **特点:**不具有保密性,具有不可抵赖性。

​ 你自己发送去的信息不可抵赖,别人L可能获得信息并解密为明文,但是不能伪造信息给其他人

场景是(特别注意): 信息A-> B 你发送信息给对方

​ 你自己生成密钥对,把公钥给对方。自己用私钥加密信息发送给对方。

​ 不是对方用自己提供的私钥加密发送信息给自己。

分析:

​ **保密性 --不具备:**自己A把公钥提供给对方B。发送信息给B。均存在泄露可能。

​  发送信息给B的时候,若被看到,拦 截。第三方L可用泄露的公钥解密得到明文, 故不具备保密性

不可抵赖性 -- 具备: 你给发送方信息给对方B 信息,公钥均可能泄露,被L得到。但是L没有私钥, 不能用明文(L的恶意信息)通过你的私钥加密给B。通过其它私钥加密,B也 无法通过你给的公钥解密。解密不了恶意信息,也不会使用L的恶意信息。

​ 也就是说,凡是B接收到的可通过你A提供的公钥解密的信息,

​ 都是你A提供的,无论中间是否被拦截,被看到,都是你A发出的。不能抵赖

解决方案:传输过程加入情形一,你给对方的加密信息(自己私钥加密的)。

​ 最外层再次加密(通过对方 提供的密钥对中的公钥)传输给对方即可。

完整流程 A->B , B-A 都具备保密性,不可否认性。

即两种方式的解决方案//todo

签名

思考: 情形二 有什么缺点?

**缺点1:**对原文进行非对称加密效率不高,是对称加密的1/1000左右。耗费资源,时间。

缺点1解决方案: 数字签名。把原文进行非对称加密改为 {原文进行摘要计算生成摘要。再对摘要进行非对称加密(私钥加密,公钥解密)生成数字签名} ,效率会有所提升。原文和签名一起发送(适用于原文泄露也不会有大问题的情景,否则原文最对称加密,对称密钥放在摘要后面,一起非对称加密传过去)。

能保证不可抵赖性: 私钥加密,公钥解密。能把签名解密为摘要 即证明不可抵赖性。 内容一致性:摘要和原文计算的摘要一致。能证明内容不被篡改。