[Reprint] Comparison of various encryption algorithms

Comparison of various encryption algorithms
Algorithm selection: symmetric encryption AES, asymmetric encryption: ECC, message digest: MD5, digital signature: DSA

Symmetric encryption algorithm (same encryption and decryption keys)
name
key length
calculating speed
safety
LF
FROM
56th place
faster
Low
middle
3DES
112-bit or 168-bit
slow
middle
high
AES
128th, 192nd, 256th
quick
high
Low

Asymmetric algorithm (encryption key and decryption key are different)
name
maturity
Security (depending on key length)
calculating speed
LF
RSA
high
high
slow
high
DSA
high
high
slow
Can only be used for digital signatures
ETC
Low
high
quick
Low (small amount of calculation, small storage space occupation, low bandwidth requirement)

Hash Algorithm Comparison
name
safety
speed
SHA-1
high
slow
MD5
middle
quick

Comparing Symmetric and Asymmetric Algorithms
name
key management
safety
speed
Symmetric algorithm
More difficult, not suitable for the Internet, generally used for internal systems
middle
Several orders of magnitude faster (software encryption and decryption speed is at least 100 times faster, and can encrypt and decrypt several M bits of data per second), suitable for encryption and decryption processing of large amounts of data
Asymmetric Algorithms
Easy key management
high
Slow, suitable for small data encryption and decryption or data signature

Algorithm selection (from a combination of performance and security)
Symmetric encryption: AES (128-bit),
Asymmetric encryption: ECC (160-bit) or RSA (1024),
Message digest: MD5
Digital Signature: DSA
Lightweight: TEA, RC series (RC4), Blowfish (infrequent key change)
Speed ​​ranking (personal estimate, not verified): IDEA <DES <GASTI28<GOST<AES<RC4<TEA<Blowfish  

simple encryption design : XOR, replace, substitute, and shift the original text with the key

name
Data size (MB)
time(s)
Average speed MB/S
评价
DES
256
10.5
22.5
3DES
256
12
12
AES(256-bit)
256
5
51.2
Blowfish
256
3.7
64


表5-3 单钥密码算法性能比较表
名称
实现方式
运算速度
安  全  性
改进措施
应用场合
DES
40-56bit
密钥
一般
完全依赖密钥,易受穷举搜索法攻击
双重、三重DES,AES
  适用于硬件实现
IDEA
128bit密钥
8轮迭代
较慢
军事级,可抗差值分析和相关分析
加长字长为32bit、密钥为256bit,采用232 模加、232+1模乘
  适用于ASIC设计
GOST
256bit密钥
32轮迭代
较快
军事级
加大迭代轮数
S盒可随机秘
密选择,便于软件实现
Blowfish
256-448bit
密钥、16轮迭代
最快
  军事级、可通过改变密钥长度调整安全性
 
适合固定密钥场合,不适合常换密钥和智能卡
RC4
密钥长度可变
快DESl0倍
对差分攻击和线性攻击具有免疫能力,高度非线性
密钥长度放宽到64bit
算法简单,易于编程实现
RC5
密钥长度和迭代轮数均可变
速度可根据
三个参数的
值进行选择
六轮以上时即可抗线性攻击、通过调整字长、密钥长度和迭代轮数可以在安全性和速度上取得折中
引入数据相倚转
  适用于不同字长的微处理器
CASTl28
密钥长度可变、16轮迭代
较快
可抵抗线性和差分攻击
增加密钥长度、形成CAST256
适用于PC机和
UNIX workstation
 



Common encryption algorithms
1. DES (Data Encryption Standard): Symmetric algorithm, data encryption standard, fast, suitable for encrypting a large amount of data; 
2. 3DES (Triple DES): It is a symmetric algorithm based on DES, used for a piece of data Three different keys are encrypted three times, with higher strength;
3. RC2 and RC4: Symmetric algorithm, which uses variable-length keys to encrypt large amounts of data, which is faster than DES;
4. IDEA (International Data Encryption Algorithm) International Data Encryption Algorithm, using 128-bit key to provide very strong security;
5. RSA: invented by RSA company, is a public key algorithm that supports variable length keys, the length of the file block to be encrypted is also variable, asymmetric Algorithm; 
6. DSA (Digital Signature Algorithm): Digital Signature Algorithm, is a standard DSS (Digital Signature Standard), strictly speaking, it is not an encryption algorithm;
7. AES (Advanced Encryption Standard): Advanced Encryption Standard, symmetric algorithm , is the next-generation encryption algorithm standard, with high speed and high security level. An implementation of the AES standard in the 21st century is the Rijndael algorithm;
8. BLOWFISH, which uses a variable-length key, the length can reach 448 bits, and runs very fast ;
9. MD5: Strictly speaking, it is not an encryption algorithm, it can only be said to be a digest algorithm;
10. PKCS: The Public-Key Cryptography Standards (PKCS) is a set of public keys formulated by the American RSA data security company and its partners Cryptography standards, including a series of related protocols in certificate application, certificate renewal, certificate revocation table issuance, extended certificate content, digital signature, digital envelope format, etc.
11. SSF33, SSF28, SCB2(SM1): The concealed and non-public commercial algorithms of the State Cryptography Administration, which are used in domestic civil and commercial use, except these are not allowed to be used;
12. ECC (Elliptic Curves Cryptography) ): Elliptic Curve Cryptography.
13. TEA (Tiny Encryption Algorithm) is a simple and efficient encryption algorithm with fast encryption and decryption speed and simple implementation. But the security is not as good as DES, QQ has been encrypted with tea

Live for the system, die for the framework, and work hard for debug all your life; suffer from the loss of symbols, use uppercase and lowercase, and finally die on demand.
Comparison of various encryption algorithms
Algorithm selection: symmetric encryption AES, asymmetric encryption: ECC, message digest: MD5, digital signature: DSA

Symmetric encryption algorithm (same encryption and decryption keys)
name
key length
calculating speed
safety
LF
FROM
56th place
faster
Low
middle
3DES
112-bit or 168-bit
slow
middle
high
AES
128th, 192nd, 256th
quick
high
Low

Asymmetric algorithm (encryption key and decryption key are different)
name
maturity
安全性(取决于密钥长度)
运算速度
资源消耗
RSA
DSA
只能用于数字签名
ECC
低(计算量小,存储空间占用小,带宽要求低)

散列算法比较
名称
安全性
速度
SHA-1
MD5

对称与非对称算法比较
名称
密钥管理
安全性
速度
对称算法
比较难,不适合互联网,一般用于内部系统
快好几个数量级(软件加解密速度至少快100倍,每秒可以加解密数M比特数据),适合大数据量的加解密处理
非对称算法
密钥容易管理
慢,适合小数据量加解密或数据签名

算法选择(从性能和安全性综合)
对称加密: AES(128位),
非对称加密: ECC(160位)或RSA(1024),
消息摘要: MD5
数字签名:DSA
轻量级:TEA、RC系列(RC4),Blowfish (不常换密钥)
速度排名(个人估测,未验证):IDEA <DES <GASTI28<GOST<AES<RC4<TEA<Blowfish  

简单的加密设计: 用密钥对原文做  异或,置换,代换,移位

名称
数据大小(MB)
时间(s)
平均速度MB/S
评价
DES
256
10.5
22.5
3DES
256
12
12
AES(256-bit)
256
5
51.2
Blowfish
256
3.7
64


表5-3 单钥密码算法性能比较表
名称
实现方式
运算速度
安  全  性
改进措施
应用场合
DES
40-56bit
密钥
一般
完全依赖密钥,易受穷举搜索法攻击
双重、三重DES,AES
  适用于硬件实现
IDEA
128bit密钥
8轮迭代
较慢
军事级,可抗差值分析和相关分析
加长字长为32bit、密钥为256bit,采用232 模加、232+1模乘
  适用于ASIC设计
GOST
256bit密钥
32轮迭代
较快
军事级
加大迭代轮数
S盒可随机秘
密选择,便于软件实现
Blowfish
256-448bit
密钥、16轮迭代
最快
  军事级、可通过改变密钥长度调整安全性
 
适合固定密钥场合,不适合常换密钥和智能卡
RC4
密钥长度可变
快DESl0倍
对差分攻击和线性攻击具有免疫能力,高度非线性
密钥长度放宽到64bit
算法简单,易于编程实现
RC5
密钥长度和迭代轮数均可变
速度可根据
三个参数的
值进行选择
六轮以上时即可抗线性攻击、通过调整字长、密钥长度和迭代轮数可以在安全性和速度上取得折中
引入数据相倚转
  适用于不同字长的微处理器
CASTl28
密钥长度可变、16轮迭代
较快
可抵抗线性和差分攻击
增加密钥长度、形成CAST256
适用于PC机和
UNIX工作站
 



常见加密算法
1、DES(Data Encryption Standard):对称算法,数据加密标准,速度较快,适用于加密大量数据的场合; 
2、3DES(Triple DES):是基于DES的对称算法,对一块数据用三个不同的密钥进行三次加密,强度更高;
3、RC2和RC4:对称算法,用变长密钥对大量数据进行加密,比 DES 快;
4、IDEA(International Data Encryption Algorithm)国际数据加密算法,使用 128 位密钥提供非常强的安全性;
5、RSA:由 RSA 公司发明,是一个支持变长密钥的公共密钥算法,需要加密的文件块的长度也是可变的,非对称算法; 
6、DSA(Digital Signature Algorithm):数字签名算法,是一种标准的 DSS(数字签名标准),严格来说不算加密算法;
7、AES(Advanced Encryption Standard):高级加密标准,对称算法,是下一代的加密算法标准,速度快,安全级别高,在21世纪AES 标准的一个实现是 Rijndael 算法;
8、BLOWFISH,它使用变长的密钥,长度可达448位,运行速度很快;
9、MD5:严格来说不算加密算法,只能说是摘要算法;
10、PKCS:The Public-Key Cryptography Standards (PKCS)是由美国RSA数据安全公司及其合作伙伴制定的一组公钥密码学标准,其中包括证书申请、证书更新、证书作废表发布、扩展证书内容以及数字签名、数字信封的格式等方面的一系列相关协议。
11、SSF33,SSF28,SCB2(SM1):国家密码局的隐蔽不公开的商用算法,在国内民用和商用的,除这些都不容许使用外,其他的都可以使用;
12、ECC(Elliptic Curves Cryptography):椭圆曲线密码编码学。
13、TEA(Tiny Encryption Algorithm)简单高效的加密算法,加密解密速度快,实现简单。但安全性不如DES,QQ一直用tea加密

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=324882531&siteId=291194637