[2]密码学相关的知识(后续会继续补充)

419 阅读8分钟

对称加密(私钥加密)&非对称加密(公钥)

 

对称加密

1、同一密钥加密解密,

2、速度快,

3、适合数据量大

4、安全性差

5、DES(Data Encryption Standard)、3DES(Triple DES)、AES(Advanced Encryption Standard)、Blowfish等。

 

 

非对称加密

1、一对密钥,公钥(公开)加密,私钥解密,

2、速度慢,

3、适合小数据量

4、安全性高

5、RSA、Elgamal、背包算法、Rabin、D-H、ECC(椭圆曲线加密算法)等

6、单向函数,将公钥私钥分离,互为公私钥

7、原理:素数,素数相乘的算法形成公钥,分解成原有素数的算法形成私钥,加密是将信息编码时加入素数,解密时如果没有私钥,会因为寻找这个素数时间过长导致没有办法破解。

  

RSA 是什么

RSA 公钥系统发明于新思想提出后一年在麻省理工学院,里维斯特(RonaldRivest)、沙米尔(Adi Shamir)和阿德勒曼(Len Adleman),提出第一个较完善的公钥密码体制——RSA体制 2、原理:基于数论中的大整数因子分解 3、密钥交换使用DH密钥协商机制(下文会详细解释)

数字签名 & 数字认证

数字签名

1、是非对称加密的应用场景

2、原理:如果要一个用户用自己的私人密钥对数据进行了处理,别人可以用他提供的公共密钥对数据加以处理。由于仅仅拥有者本人知道私人密钥,这种被处理过的报文就形成了一种电子签名----一种别人无法产生的文件。 数字证书中包含了公共密钥信息,从而确认了拥有密钥对的用户的身份。

假设机构A向CA发出一个证书签发请求:(证书签发流程)

 

数字证书

第三方机构:CA(Certificate Authority)

证书签发流程

1、CA首先生成一对公钥和私钥,并自签署一个CA证书certificate;

2、A向CA提供自己的基本信息和自己的公钥;

4、CA先对A的基本信息和公钥计算一个特征码,然后再使用自己的私钥对特征码进行加密,加密生成的字符串(数字签名)、A的公钥、A的基本信息共同组成了CA签发的数字证书;

DH密钥协商

原理:

秘钥交换(Internet Key Exchange, IKE)算法

Diffie-Hellman算法秘钥协商流程,假设A/B双发进行通信,

 

① A/B通信前,先生成p,g两个大素数,作为生成数

② A选定一个数x,B选定一个数y

③ A/B加密结果如下:

A加密之后传递给B的内容: g^x%p --> B

B加密之后传递给A的内容: g^y%p --> A

注意:互联网上的用户可以看到:p,g,gx%p,gy%p

④ A/B获得到数据之后解密得到相同的结果

A: (gx%p)x=g^xy%p

B: (gy%p)y=g^xy%p

image.png

这样A/B就协商出了一个共同的秘钥g^xy%p,A/B双方使用非对称加密确认完身份之后,就可以是用该秘钥加密通信数据了。

混合加密

1、混合加密是结合 对称加密 和 非对称加密 各自优点的一种加密方式。其具体的实现思路是先使用 对称加密算法 对数据进行加密,然后使用非对称加密算法对称加密的密钥 进行非对称加密,之后再把加密后的密钥加密后的数据发送给接收方。

image.png

一次一密

一个序列密码称为一次一密必须满足以下条件:

1、通过真随机数生成器得到密钥序列s0,s1,s2,…

2、只有合法的通信方才知道密钥序列;

3、每个密钥序列位si仅适用一次。这意味着每个明文位都需要一个密钥位,因此,一次一密的密钥长度必须和明文长度一样。

一次一密是无条件安全的。

一次一密钥密码的具体实现发送者使用密钥本中每个密钥字母串去加密一条明文字母串,加密过程就是将明文字母串和密钥本中的密钥字母串进行模26加法运算。接收者有一个同样的密钥本,并依次使用密钥本上的每个密钥去解密密文的每个字母串。接收者在解密信息后也销毁密钥本中用过的一页密钥。如果没有正确的密钥,密文可以被各种猜测来的密钥映射成任何有意义或无意义的文字。窃取者无法知道哪一种映射得到的是真正的原文。

安全多方计算

安全多方计算(英文:Secure Multi-Party Computation)的研究主要是针对无可信第三方的情况下,如何安全地计算一个约定函数的问题。

安全多方计算是安全可信计算中的一个分支。安全可信计算主要有两大类:外包计算和多方计算。 

2.1 外包计算

为了与多方计算做区分,先简要介绍一下外包计算。外包计算就是一方拥有数据并想获取该数据的计算结果,另一方接收这份数据的一个加密格式,并对加密数据进行计算,得到一份加密的计算结果,并将该结果返回给第一方。过程中,另一方不会获得任何没有加密的信息。

其中 Homomorphic encryption (同态加密)就是外包计算中一种常用的技术,同态加密的思路比较直观:直接将原文加密,然后在密文上进行各种运算,最终得到结果的密文。一个典型的应用场景是:数据持有者想对其持有的大量数据进行计算,奈何其拥有的计算资源不足,想借助云服务器的算力完成该计算。如果按照现在流行的做法,那当然是将数据传输到云服务器,然后运行事先写好的程序进行计算。但如此一来,敏感数据便在云服务器上暴露无遗。同态加密正好解决了此问题,数据持有者传输数据前先将数据加密,云服务器在接收到数据后照例计算,只不过这次是在密文上进行的,云服务器啥都看不到。待得到结果后再将结果的密文返还给数据持有者,数据持有者解开后即得最终结果。

2.2 多方计算

多方计算的目标就是对一组计算的参与者,每个参与者拥有自己的数据,并且不信任其它参与者和任何第三方,在这种前提下,如何对各自私密的数据计算出一个目标结果的过程。

这个问题最早于1982年被姚期智提出,但在提出后的20年间这个问题基本上都属于理论研究的范畴。直到21世纪初,随着算法的进展和计算能力的进步,建设通用的多方计算系统才变得现实起来,Fairplay (Malkhi et al., 2004) 是第一个值得注意的通用多方计算系统,它的出现证明了这类系统的现实可行性。

差分隐私

1、同态加密、混淆电路、和密钥分享方法都属于非噪音方法。这些方法一般是在源头上就把数据加密或编码了,计算操作方看到的都是密文

2、还有一类是基于噪音的方法,这类方法的思想是,对计算过程用噪音干扰,让原始数据淹没在噪音中,使别有用心者无法从得到的结果反推原始数据。

3、差分隐私就是最火的一类

3.1 随机化算法,是指对于特定输入,该算法的输出不是固定值,而是服从某一分布

3.2 输入或输出上加入随机化的噪音(拉普拉斯噪音等)

3.3 观察者通过观察随机化算法输出结果很难察觉出数据集一点微小的变化,从而达到保护隐私的目的

联邦学习

不同数据拥有方共同训练模型

1、不通数据拥有方,数据集可能存在不重合,需要加密数据对齐。使相同用户具有相同可以映射,使得不暴露不重叠的用户,达到联合这些用户的特征进行训练。

2、借助第三方进行加密数据的模型训练。

3、在样本对齐及模型训练过程中,A 和 B 各自的数据均保留在本地,且训练中的数据交互也不会导致数据隐私泄露。因此,双方在联邦学习的帮助下得以实现合作训练模型。

4、优势

5、

(1)数据隔离,数据不会泄露到外部,满足用户隐私保护和数据安全的需求;

(2)能够保证模型质量无损,不会出现负迁移,保证联邦模型比割裂的独立模型效果好;

(3)参与者地位对等,能够实现公平合作;

(4)能够保证参与各方在保持独立性的情况下,进行信息与模型参数的加密交换,并同时获得成长

blog.csdn.net/cao81275515…

附录

1、 zhuanlan.zhihu.com/p/100648606