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

风之子赛拉飞尔 2015-05-14 12:47:15
方案:
单轮加密,输入和输出同位址(即同一个指针),
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.
*
...全文
1454 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
「已注销」 2017-06-04
  • 打赏
  • 举报
回复
楼主有blowfish的源代码吗?
  • 打赏
  • 举报
回复
BlowFish算法有个小问题,它的内核方法就是输入输出同位址的(16字节分为高低8位两个DWORD*), 而一般应用都会是输入输出不同位址的(不想输入直接被改掉),还要多做一次内存拷贝。
ralln 2015-05-14
  • 打赏
  • 举报
回复
帮你顶个,我记得我毕设做的是6种加密算法的,不过早就忘了

19,468

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧