crypto++ 中DES AES RC5 RC6 TEA XTEA XXTEA加密算法性能比较

本文对比了crypto++库中DES、AES、RC5、RC6、TEA、XTEA和XXTEA加密算法的性能,重点讨论了AES在支持AES-NI指令时的优势。在200k数据长度下,AES-NI加密在游戏服务器加密场景中表现出色,平均时间不到1毫秒。如果不支持AES-NI,则XXTEA是较好选择。此外,文章提到了GCC编译AES-NI指令时的注意事项和解决方法。
摘要由CSDN通过智能技术生成

加密是互联网数据安全的保证,但是现在感觉多数网页游戏和手游都已经抛弃了数据加密,几乎都是直接明文发送。不过现在游戏烂大街,除非很牛的游戏才会有人去破解,垃圾游戏我想没有那个蛋疼的会去破解。本着学习的精神下载了crypto++ 对常用的对称加密算法进行性能比较,由于游戏数据包都比较小,所以测试中选择的最大数据长度为200k,我想如果一个游戏数据包超过200k那只能是加载资源的时候了,其他时候没有人受的了长时间的转菊花。曾经在项目中有一次因为特殊原因弄了一个100k的数据包直接客户端超时。下面的测试中应用了vs2102的debug和release,gcc4.8+O2优化,clang3.5 +O2优化。加密算法后面带_EX表示从crypto++中或者在网上搜索的加密算法进行自己封装的函数的性能测试,这样可以减少函数调用,也利于以后在项目中使用,不用承受庞大的代码库,模板等其他开销。所有测试都是进行100次加密后计算的平均值,时间单位为微妙,如果为0表示平均之后时间不到1微妙,AES加密是应用了AES-NI指令,AES_EX测试的时间是应用了AES-NI指令的四路并行加密,具体算法可以看crypto++实现。所有加密都使用ECB模式(没有进行异或处理)。测试机子就是一台普通笔记本,gcc和clang测试在ubuntu13.4虚拟机上进行测试的。

测试结果如下:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值