AES和RSA加密算法时间效率

AES和RSA加密算法时间效率

转自:http://blog.csdn.net/wgw335363240/article/details/8878584

一、AES(DES的升级版)(对称加密)执行时间

[1] 测试数据

这里以读取纯文本文件,一行一行的方式对字符串进行加密,并把加密后的内容存储到另外一个文件中,计算文件的加密时间。待文件加密完成后,同样通过一行一行的方式读取加密内容并解密,把解密后的文件存储到解密文件中。

注:在测试大文件时,需要在虚拟机中增加配置(-Xmx1535M -Xms1536M)设置内存大小

序号

原文件大小(M)

加密后文件大小(M)

加密用时(秒)

解密用时(秒)

1

1.639

3.335

0

0

2

3.278

6.669

0

1

3

6.556

13.338

1

2

4

13.111

26.676

3

5

5

26.226

53.351

6

11

6

52.441

106.701

12

23

7

104.882

213.401

23

内存溢出(需要调整为按照字节去解析)

8

209.763

426.801

47

内存溢出内存溢出(需要调整为按照字节去解析)

9

839.051

1707.204

203

内存溢出内存溢出(需要调整为按照字节去解析)

10

1048.813

2134.005

255

内存溢出内存溢出(需要调整为按照字节去解析)

[2] 结论

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

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

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

二、RSA(非对称加密)执行时间

[1] 测试数据

这里以读取到的文本内容,并对该内容进行RSA加密,加密后的内容存储到一个文件,然后,再根据RSA的私钥对加密内容进行解密。下面是测试的时间:

注:在测试大文件时,需要在虚拟机中增加配置(-Xmx1535M -Xms1536M)设置内存大小

序号

原文件大小(KB)

加密后文件大小(KB)

加密用时(秒)

解密用时(秒)

1

6

6

0

1

2

12

12

0

3

3

24

24

0

5

4

45

45

0

10

5

90

90

1

21

6

180

180

2

40

7

360

360

2

98

8

720

721

2

165

9

1440

1440

5

325

[2] 结论

1) RSA加密算法加密时间很短,基本可以忽略不计。但是,在解密时,RSA显的比较匹配,解密时间与解密文件的大小呈现线性增长趋势。加密1M的文件大概需要5秒,但是解密却需要4分钟。

2) 加密后的文件与原始文件的大小基本相同

3) 解密的效率远低于加密效率,按照这个时间去计算,加密1G的文件需要1分钟,但是解密却需要65小时

养生小贴士

想学Python又不知道买哪本书?推荐11本必看书籍
html网页如何设计网页背景
💡 小知识

html网页如何设计网页背景

📅 07-01 👍 789
行业干货:如何提升gmv?
💡 小知识

行业干货:如何提升gmv?

📅 08-17 👍 419