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

测试环境:

CPU 1 核 Intel 2.2GHZ

内存 1GB

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

加密明文长度为160 bytes

各运行10000次

上代码 test_aes.py

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

test_rsa.py

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秒, 可见对称加密算法比非对称加密算法有非常大得性能优势。

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-14 04:38:33

对称加密算法和非对称加密算法速度对比的相关文章

对对称加密算法、非对称加密算法、数字签名的一些理解的简述

不太严谨的概括性描述 对称加密算法加密解密都是同一个密钥,所以需要让接受密文方事先知道密钥,而事先知道的方式一般通过网络或者预先存储在物理机器上,网络通信容易被获取,所以不安全. 非对称加密算法会生成公钥和私钥,如果用私密对一个明文进行加密,目的是为了证明给"拿了它的公钥对密文解密的人"知道,这段信息是发布这个公钥的人发的:而如果用公钥对一个明文进行加密,目的是为了证明给"这个公钥对应的私钥的所有者"知道,这段信息是要发给他的. 以上两种方法都无法无视直接地从物理上

常用加密算法之非对称加密算法

非对称加密算法 非对称加密算法是一种密钥的保密方法.非对称加密算法需要两个密钥:公开密钥(publickey)和私有密钥(privatekey).公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密:如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密.因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法. 非对称加密算法实现机密信息交换的基本过程是:甲方生成一对密钥并将其中的一把作为公用密钥向其它方公开:得到该公用密钥的乙方使用该密钥对

数字签名、数字证书、对称加密算法、非对称加密算法、单向加密(散列算法)

数字签名是什么? 1. 鲍勃有两把钥匙,一把是公钥,另一把是私钥. 2. 鲍勃把公钥送给他的朋友们----帕蒂.道格.苏珊----每人一把. 3. 苏珊给鲍勃写信,写完后用鲍勃的公钥加密,达到保密的效果. 4. 鲍勃收信后,用私钥解密,看到信件内容. 5. 鲍勃给苏珊回信,写完后用Hash函数,生成信件的摘要(digest). 6. 然后,鲍勃使用私钥,对这个摘要加密,生成"数字签名"(signature). 7. 鲍勃将这个签名,附在信件下面,一起发给苏珊. 8. 苏珊收信后,取下数

加密算法大全图解 :密码体系,对称加密加密算法,非对称加密算法,数字签名,

1. 加密算法大全: RSA: RSA is made of the initial letters of the surnames of Ron Rivest, Adi Shamir, and Leonard Adleman, who first publicly described the algorithm in 1977. http://www.emc.com/corporate/about-rsa/index.htmhttps://en.wikipedia.org/wiki/RSA_%

几种加密算法的测试,包括对称加密和非对称加密

Blowfish 加密解密 Blowfish 加密算法介绍:BlowFish是对称加密算法的其中一种,加密后的数据是可逆的.由于BlowFish加密/解密速度快,更重要的是任何人都可以免费使用不需要缴纳版权费,所以有不少游戏都采用BlowFish加密资源文件数据.BlowFish 每次只能加密和解密8字节数据,加密和解密的过程基本上由ADD和XOR指令运算组成,所以速度非常快. Blowfish 加密算法实现 1 /** 2 * Blowfish加密 3 * 4 * @param text 需要

最全加密算法之对称加密和非对称加密

常见加密算法 : DES(Data Encryption Standard):数据加密标准,速度较快,适用于加密大量数据的场合: 3DES(Triple DES):是基于DES,对一块数据用三个不同的密钥进行三次加密,强度更高: RC2和 RC4:用变长密钥对大量数据进行加密,比 DES 快: IDEA(International Data Encryption Algorithm)国际数据加密算法:使用 128 位密钥提供非常强的安全性: RSA:由 RSA 公司发明,是一个支持变长密钥的公共

openssl 非对称加密算法RSA命令详解

1.非对称加密算法概述 非对称加密算法也称公开密钥算法,其解决了对称加密算法密钥分配的问题,非对称加密算法基本特点如下: 1.加密密钥和解密密钥不同 2.密钥对中的一个密钥可以公开 3.根据公开密钥很难推算出私人密钥 根据非对称加密算法的特点,可用户数字签名.密钥交换.数据加密.但是由于非对称加密算法较对称加密算法加密速度慢很多,故最常用的用途是数字签名和密钥交换. 目前常用的非对称加密算法有RSA, DH和DSA三种,但并非都可以用于密钥交换和数字签名.而是RSA可用于数字签名和密钥交换,DH

信息加密之非对称加密算法RSA

前面为大家已经总结了,基于密钥交换的DH算法,现在就为大家再介绍一种基于因子分解的RSA算法,这种加密算法有两种实现形式:1.公钥加密,私钥解密:2.私钥加密,公钥解密.下面就为大家分析一下实现代码,相对于DH算法,RSA显得有些简单.初始化密钥: KeyPairGenerator keyPairGenerator = KeyPairGenerator.getInstance("RSA"); keyPairGenerator.initialize(512); KeyPair keyPa

非对称加密算法-RSA算法

??加密算法分为对称加密算法和非对称加密算法,其中非对称加密算法作为计算机通信安全的基石,在保证数据安全方面起着重要的作用.而相对于对称加密算法的易理解性,非对称加密算法存在一定的难度.下面通过对RSA算法的剖析,让我们更好的理解非对称加密算法的原理. 一.对称加密算法和非对称加密算法 1.对称加密算法 ??对称加密算法:加密和解密都使用同样规则(密钥)的算法. ??(1).A选择某一种规则对信息进行加密: ??(2).B使用同一规则(逆规则)对信息进行解密: 2.非对称加密算法 ??非对称加密