忘记密码   免费注册 查看新帖 | 论坛精华区

ChinaUnix.net

  平台 论坛 博客 认证专区 大话IT HPC论坛 徽章 文库 沙龙 自测 下载 频道自动化运维 虚拟化 储存备份 C/C++ PHP MySQL 嵌入式 Linux系统
最近访问板块 发新帖
查看: 2478 | 回复: 6

[算法] 用FPGA计算HMAC,和线性CPU比起来有多大数量级的速度提升 [复制链接]

论坛徽章:
1
2015年迎新春徽章
日期:2015-03-04 09:53:17
发表于 2015-02-20 20:27 |显示全部楼层
其实我目的就是想破解WPA,先不提这个,这个与主题无关。

计算WPA密钥的时候有个PMK的计算,要8000+次SHA1-HMAC,需要串行计算。计算密集的地方主要就在这里。
intel的SSE可以4个一起算,提升4倍速度。

不太了解FPGA,做过的朋友解答一下
我想问:用FPGA电路去算HMAC的话,单个运算,能不能并行化,多个运算的话,有多大并行能力。
追问:和OpenCL或者CUDA比起来有没优势。

论坛徽章:
39
巨蟹座
日期:2013-10-25 10:53:02程序设计版块每日发帖之星
日期:2016-01-27 06:20:00每日论坛发贴之星
日期:2016-01-27 06:20:0015-16赛季CBA联赛之佛山
日期:2016-02-04 21:11:3615-16赛季CBA联赛之佛山
日期:2016-02-05 00:55:2015-16赛季CBA联赛之福建
日期:2016-03-18 12:13:4015-16赛季CBA联赛之辽宁
日期:2016-03-24 21:38:2715-16赛季CBA联赛之福建
日期:2016-04-12 15:21:2915-16赛季CBA联赛之山东
日期:2016-04-17 12:00:282016科比退役纪念章
日期:2016-04-23 00:51:2315-16赛季CBA联赛之新疆
日期:2016-04-25 10:55:45程序设计版块每日发帖之星
日期:2016-07-02 06:20:00
发表于 2015-02-20 22:10 |显示全部楼层
虽然不太懂,但我觉得这取决于你的FPGA片子有多大

论坛徽章:
1
2015年迎新春徽章
日期:2015-03-04 09:53:17
发表于 2015-02-20 22:15 |显示全部楼层
回复 2# windoze


取决于片子逻辑资源没错。
补充:比如Altera的CycloneV。随便一个型号,作参考,比单纯4核心AMD64处理器能快吗,快多少数量级

论坛徽章:
39
巨蟹座
日期:2013-10-25 10:53:02程序设计版块每日发帖之星
日期:2016-01-27 06:20:00每日论坛发贴之星
日期:2016-01-27 06:20:0015-16赛季CBA联赛之佛山
日期:2016-02-04 21:11:3615-16赛季CBA联赛之佛山
日期:2016-02-05 00:55:2015-16赛季CBA联赛之福建
日期:2016-03-18 12:13:4015-16赛季CBA联赛之辽宁
日期:2016-03-24 21:38:2715-16赛季CBA联赛之福建
日期:2016-04-12 15:21:2915-16赛季CBA联赛之山东
日期:2016-04-17 12:00:282016科比退役纪念章
日期:2016-04-23 00:51:2315-16赛季CBA联赛之新疆
日期:2016-04-25 10:55:45程序设计版块每日发帖之星
日期:2016-07-02 06:20:00
发表于 2015-02-22 12:57 |显示全部楼层
回复 3# duanlin

具体什么型号性能如何我不知道,但如果你想做对比,可以先把算法分解为一组最小的、不能并行执行的单位,评估一下每个单位运算的速度,然后按FPGA的频率的逻辑资源数量,你就大概可以评估除这个算法在FPGA上的速度。
同理你可以估算在通用CPU上的性能,然后做个对比。

论坛徽章:
1
2015年迎新春徽章
日期:2015-03-04 09:48:00
发表于 2015-02-25 11:31 |显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
3
2015年迎新春徽章
日期:2015-03-04 09:56:11数据库技术版块每日发帖之星
日期:2016-08-03 06:20:00数据库技术版块每日发帖之星
日期:2016-08-04 06:20:00
发表于 2015-02-26 08:24 |显示全部楼层
既然是数字设计,取决于其架构了
如果一个算法是
A1->A2->....An
那么你可以采用A1...An多重流水线
你也可以
A
B
C
D
...
同时进行多个一样的算法
取决于你的资源,取决于你的架构,抛开你的架构,谈速度无意义,所以建议先想好你要把它设计成什么样的架构

论坛徽章:
1
2015年迎新春徽章
日期:2015-03-04 09:51:16
发表于 2015-02-26 16:06 |显示全部楼层
FPGA最大的优势就是并行,只要有足够的slice,大量的重复计算全都可以并行运行。
你要估算的话,把计算步骤一个个列出来,加减按1个周期算,乘除按5个周期算,得出一个大概的周期数,然后除以时钟频率,就能算出来了。
一般来说,FPGA跑100-300M HZ没啥问题。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号 北京市公安局海淀分局网监中心备案编号:11010802020122
广播电视节目制作经营许可证(京) 字第1234号 中国互联网协会会员  联系我们:
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP