EN
首页 / 全部资讯 / 知识百科 / 海外服务器可以采用什么算法加密数据?

海外服务器可以采用什么算法加密数据?

时间:2020-12-02 13:01 发布:http://www.vecloud.com 阅读量:381

数据加密服务提供灵活、高可用、高性能的数据加密解密、密钥管理等服务器数据安全服务。海外服务器可以采用什么算法对数据进行加密,以保证业务数据的隐私性和安全性?

DES.

DES,全称Data Encryption Standard,是上一代标准对称加密算法,现在不推荐使用。

密钥:DES是将64位明文加密成64位密文的对称密码算法,其密钥长度为64位(每7位设置一位用于检错,所以实际密钥长度为56位)。

分组:DES以64位明文为单位加密,称为分组。一般来说,分组处理的密码算法称为分组密码,DES是分组密码的一种。DES一次只能加密64位数据。如果要加密的明文较长,则需要DES加密进行迭代。

3DES

3DES,也就是triple-DES,简单来说就是triple-DESDES加解密的组合。现在不推荐。

加密:cipthertext = E(k3, D(k2, E(k1, plaintext)))

解密:plaintext = D(k1, E(k2, D(k3, ciphertext)))

特点:如果三个密钥都一样,拿刚好和DES一样。

注:E表示Encrypt,D表示Decrypt。

AES

AES,Advanced Encryption Standard,是目前的对称加密标准。目前(2017年)如果使用对称加密,应该使用AES。当然,我们只能说目前的AES算法是安全的,不能保证AES永远安全。

分组:128bit。

密钥:128bit、192bit、256bit。

分组密码模式

分组密码介绍

分组密码(block cipher),是每次只能处理特定长度的一分组数据的一类密码算法,这里的”一分组“就称为分组(block)。一个分组的比特数就称为分组长度(block length)。

流密码(stream cipher),是对数据流进行连续处理的一类密码算法。

DES、3DES、AES等大多数对称密码算法都属于分组密码

ECB模式

全称Electronic CodeBook mode,电子密码本模式。

分组方式:将明文分组加密之后的结果直接称为密文分组。

优点:

一个分组损坏不影响其它分组。

可以并行加解密。

缺点:

相同的明文分组被转换成相同的密文分组。

明文可以在不解密密码的情况下进行操作(每个分组都是独立的,与上下文无关,直接添加或删除一个分组不影响其他分组解密过程的正确性)。

CBC模式

全称Cipher Block Chaining mode,密码分组链接模式。

分组方式:对明文分组和之前的密文分组进行异或运算,然后进行加密。每个数据分组的加密和解密取决于前一个数据分组。第一个数据分组没有前一个数据分组,因此需要一个初始化向量。

优点:

加密结果与前一个有关,有利于提高加密结果的随机性。

可以并行解密。

缺点

无法并行加密。

一个分组坏了。如果密文长度不变,会影响两个分组。

一个分组坏了。如果密文长度发生变化,后续的所有数据分组都会受到影响。

CFB模式

全称Cipher FeedBack mode,密文反馈模式。

分组方式:将前面的密文分组发送回密码算法的输入端(详见下图)。

在CBC和EBC模式下,明文分组通过加密算法加密。在CFB模式下,明文分组不直接用加密算法加密,明文分组和密文分组之间只有一个异或。

在CFB模式下,“明文分组”是通过与密码算法的输出进行异或运算而生成的。密码算法在CFB模式下产生的位序列称为密钥流。密码算法相当于密钥流的伪随机数生成器,初始化向量相当于伪随机数生成器的种子。(CFB模式有点类似于一次性密码本。)

优点:

支持并行解密。

不需要填充(padding)。

缺点:

不能抵御重放攻击(replay attack)。

不支持并行加密。

OFB模式

输出反馈模式输出反馈模式

密码算法的输出会反馈到密码算法的输入端(详见下图)。

在OFB模式下,XOR所需的位序列(密钥流)可以通过密码算法提前生成,与明文分组无关。只需要提前准备好需要的密钥流,然后进行XOR运算即可。

分组模式总结

建议使用CBC模式。

填充

为什么要填?ECB和CBC模式要求明文数据填充为数据分组长度的整数倍。

填充的两个问题。

要填充多少字节?

填什么内容?

要填充多少字节?要填充的字节数为:paddingSize = blockSize - textLength % blockSize。

填什么内容?(这里列出的三种方式本质上是一样的)

ANSI X.923:填充序列的最后一个字节填paddingSize,其它填0。

ISO 10126:填充序列的最后一个字节填paddingSize, 其它填随机数。

PKCS7:填充序列的每个字节都填paddingSize。

Vecloud IDC提供香港服务器、美国服务器等全球海外服务器租用托管,是区块链、流媒体、外贸、游戏等服务器解决方案首选品牌。


400-028-9798
vecloud-微云