对称加密算法(DES,BlowFish,AES)的比较,实测

风之子赛拉飞尔 风之子赛拉飞尔 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
方案:
单轮加密,输入和输出同位址(即同一个指针),
2MB数据,执行100次,统计耗时总值、均值和峰谷值。

DES
分组长度:64位(8字节)
密钥长度:128位(16字节)


BlowFish(特别测了两次)
分组长度:64位(8字节)
密钥长度:128位(16字节)


AES
分组长度:128位(16字节)
密钥长度:128位(16字节)


综上,AES还是效率最好的,BlowFish与DES相当。

PS:blowfish先找了一个97年C版的,很慢,又找了一个02年C++版的。
搜到有老帖子说blowfish比AES快,不知道用的是什么版本,什么方法。

各算法代码的版权声明,贴一下,供识别版本。

DES

// IBM PC Implementation of the DES Cryptographic Algorithm by
// Dr B. R. Gladman (gladman@seven77.demon.co.uk)

BlowFish

// blowfish.h interface file for blowfish.cpp
// _THE BLOWFISH ENCRYPTION ALGORITHM_
// by Bruce Schneier
// Revised code--3/20/94
// Converted to C++ class 5/96, Jim Conger
//
// modify H.Shirouzu 07/2002 (add change_order(), CBC mode)

AES

/**
* rijndael-alg-fst.h
*
* @version 3.0 (December 2000)
*
* Optimised ANSI C code for the Rijndael cipher (now AES)
*
* @author Vincent Rijmen <vincent.rijmen@esat.kuleuven.ac.be>
* @author Antoon Bosselaers <antoon.bosselaers@esat.kuleuven.ac.be>
* @author Paulo Barreto <paulo.barreto@terra.com.br>
*
* This code is hereby placed in the public domain.
*
...全文
评论 3
收藏 已收藏
分享
返回顶部