AES和RSA加密算法调研

一、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小时

 

 

你可能感兴趣的:(算法,java)