对称加密算法和非对称加密算法速度对比

有两篇文章值得看一下:
https://blog.csdn.net/wgw335363240/article/details/8878584

结论:

1) AES加密的时间与被加密文件的大小正线性增长,加密1G的文件大概需要4分多钟,加密速度还是很快的

2) 加密后的文件大小是原始文件大小的两倍

3) 解密文件所需时间是加密时间的两倍(这个应该是加密文件是原始文件大小两倍造成的)

https://blog.csdn.net/woshiaotian/article/details/46990899

测试环境:
CPU 1 核 Intel 2.2GHZ
内存 1GB

算法 种类
对称加密算法 AES CBC 模式
非对称加密算法 RSA 256

加密明文长度为160 bytes
各运行10000次

from Crypto.Cipher import AES
import time
obj = AES.new('This is a key123', AES.MODE_CBC, 'This is an IV456')
message = 'a' * 160
t1 = time.time()
for i in xrange(10000):
    ciphertext = obj.encrypt(message)
    obj2 = AES.new('This is a key123', AES.MODE_CBC, 'This is an IV456')
    text = obj2.decrypt(ciphertext)
    #print text
t2 = time.time()
print t2 - t1
from Crypto.PublicKey import RSA
import time
t1 = time.time()
key = RSA.generate(2048)
t2 = time.time()
print 'gen key', t2 - t1
#print key
#print key.exportKey()
#print RSA.exportKey('PEM')
message = 'a' * 160
t1 = time.time()
for i in xrange(10000):
    print i
    ciphertext = key.encrypt(message, None)
    key.decrypt(ciphertext)
t2 = time.time()
print t2 - t1

算法 耗时
对称加密算法 0.13
非对称加密算法 193.16
非对称加密算法生成密钥对 0.68

对称加密算法比非对称加密算法快大约1500倍
RSA 生成一个密钥都需要0.68秒, 可见对称加密算法比非对称加密算法有非常大得性能优势。

猜你喜欢

转载自blog.csdn.net/wowotuo/article/details/80295586