c – AES / CBC加密和解密之间的速度差异?
发布时间:2020-12-16 07:06:41 所属栏目:百科 来源:网络整理
导读:从理论上讲,我想知道在下列条件下AES / CBC解密与AES / CBC加密相比要慢多少: 32字节(256位)的加密密钥; 16字节(128位)的块大小. 我问的原因是我想知道我所拥有的实现的解密速度是否异常缓慢.我已经对不同大小的随机内存块做了一些测试.结果如下: 64B: 64
从理论上讲,我想知道在下列条件下AES / CBC解密与AES / CBC加密相比要慢多少:
> 32字节(256位)的加密密钥; 我问的原因是我想知道我所拥有的实现的解密速度是否异常缓慢.我已经对不同大小的随机内存块做了一些测试.结果如下: 64B: 64KB: 10MB – 520MB: 所有数据都存储在我系统的内部存储器中.应用程序生成要自行加密的数据.在测试PC上禁用虚拟内存,这样就不会有任何I / O调用. 在分析表时,加密和解密之间的区别是否意味着我的实现异常缓慢?我做错了什么吗? 更新: >此测试在另一台PC上执行; 解密实现如下: CryptoPP::AES::Decryption aesDecryption(aesKey,ENCRYPTION_KEY_SIZE_AES); CryptoPP::CBC_Mode_ExternalCipher::Decryption cbcDecryption(aesDecryption,aesIv); CryptoPP::ArraySink * decSink = new CryptoPP::ArraySink(data,dataSizeMax); CryptoPP::StreamTransformationFilter stfDecryptor(cbcDecryption,decSink); stfDecryptor.Put(reinterpret_cast<const unsigned char*>(ciphertext),cipherSize); stfDecryptor.MessageEnd(); *dataOutputSize = decSink->TotalPutLength(); 更新2: >添加了64字节块的结果 解决方法
作为对称加密,加密和解密应该是
fairly close in speed.不确定您的实现,但
there are ways to optimize if you’re concerned about how the algorithm was used.在实验中,AES is not the fastest and CBC将增加安全性但减慢速度.这是一个比较,因为你问的是关键字和块大小:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |