大家好,我是小新,我来为大家解答以上问题。加密算法分为哪两种,加密算法很多人还不知道,现在让我们一起来看看吧!
1、常见加密算法编辑
2、DES(Data Encryption Standard):对称算法,数据加密标准,速度较快,适用于加密大量数据的场合;
3、3DES(Triple DES):是基于DES的对称算法,对一块数据用三个不同的密钥进行三次加密,强度更高;
4、RC2和RC4:对称算法,用变长密钥对大量数据进行加密,比 DES 快;
5、IDEA(International Data Encryption Algorithm)国际数据加密算法,使用 128 位密钥提供非常强的安全性;
6、RSA:由 RSA 公司发明,是一个636f707962616964757a686964616f31333335336462支持变长密钥的公共密钥算法,需要加密的文件块的长度也是可变的,非对称算法; 算法如下:
7、首先, 找出三个数, p, q, r,
8、 其中 p, q 是两个相异的质数, r 是与 (p-1)(q-1) 互质的数......
9、 p, q, r 这三个数便是 private key
10、接著, 找出 m, 使得 rm == 1 mod (p-1)(q-1).....
11、 这个 m 一定存在, 因为 r 与 (p-1)(q-1) 互质, 用辗转相除法就可以得到了.....
12、 再来, 计算 n = pq.......
13、 m, n 这两个数便是 public key
14、DSA(Digital Signature Algorithm):数字签名算法,是一种标准的 DSS(数字签名标准),严格来说不算加密算法;
15、AES(Advanced Encryption Standard):高级加密标准,对称算法,是下一代的加密算法标准,速度快,安全级别高,在21世纪AES 标准的一个实现是 Rijndael 算法;
16、BLOWFISH,它使用变长的密钥,长度可达448位,运行速度很快;
17、MD5:严格来说不算加密算法,只能说是摘要算法
18、对MD5算法简要的叙述可以为:MD5以512位分组来处理输入的信息,且每一分组又被划分为16个32位子分组,经过了一系列的处理后,算法的输出由四个32位分组组成,将这四个32位分组级联后将生成一个128位散列值。
19、在MD5算法中,首先需要对信息进行填充,使其字节长度对512求余的结果等于448。因此,信息的字节长度(Bits Length)将被扩展至N*512+448,即N*64+56个字节(Bytes),N为一个正整数。填充的方法如下,在信息的后面填充一个1和无数个0,直到满足上面的条件时才停止用0对信息的填充。然后,在这个结果后面附加一个以64位二进制表示的填充前信息长度。经过这两步的处理,如今信息字节长度=N*512+448+64=(N+1)*512,即长度恰好是512的整数倍。这样做的原因是为满足后面处理中对信息长度的要求。(可参见MD5算法词条)
20、PKCS:The Public-Key Cryptography Standards (PKCS)是由美国RSA数据安全公司及其合作伙伴制定的一组公钥密码学标准,其中包括证书申请、证书更新、证书作废表发布、扩展证书内容以及数字签名、数字信封的格式等方面的一系列相关协议。
21、SSF33,SSF28,SCB2(SM1):国家密码局的隐蔽不公开的商用算法,在国内民用和商用的,除这些都不容许使用外,其他的都可以使用;
本文到此讲解完毕了,希望对大家有帮助。