免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3509 | 回复: 6
打印 上一主题 下一主题

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

论坛徽章:
1
2015年迎新春徽章
日期:2015-03-04 09:53:17
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2015-02-20 20:27 |只看该作者 |倒序浏览
其实我目的就是想破解WPA,先不提这个,这个与主题无关。

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

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

论坛徽章:
44
15-16赛季CBA联赛之浙江
日期:2021-10-11 02:03:59程序设计版块每日发帖之星
日期:2016-07-02 06:20:0015-16赛季CBA联赛之新疆
日期:2016-04-25 10:55:452016科比退役纪念章
日期:2016-04-23 00:51:2315-16赛季CBA联赛之山东
日期:2016-04-17 12:00:2815-16赛季CBA联赛之福建
日期:2016-04-12 15:21:2915-16赛季CBA联赛之辽宁
日期:2016-03-24 21:38:2715-16赛季CBA联赛之福建
日期:2016-03-18 12:13:4015-16赛季CBA联赛之佛山
日期:2016-02-05 00:55:2015-16赛季CBA联赛之佛山
日期:2016-02-04 21:11:3615-16赛季CBA联赛之天津
日期:2016-11-02 00:33:1215-16赛季CBA联赛之浙江
日期:2017-01-13 01:31:49
2 [报告]
发表于 2015-02-20 22:10 |只看该作者
虽然不太懂,但我觉得这取决于你的FPGA片子有多大

论坛徽章:
1
2015年迎新春徽章
日期:2015-03-04 09:53:17
3 [报告]
发表于 2015-02-20 22:15 |只看该作者
回复 2# windoze


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

论坛徽章:
44
15-16赛季CBA联赛之浙江
日期:2021-10-11 02:03:59程序设计版块每日发帖之星
日期:2016-07-02 06:20:0015-16赛季CBA联赛之新疆
日期:2016-04-25 10:55:452016科比退役纪念章
日期:2016-04-23 00:51:2315-16赛季CBA联赛之山东
日期:2016-04-17 12:00:2815-16赛季CBA联赛之福建
日期:2016-04-12 15:21:2915-16赛季CBA联赛之辽宁
日期:2016-03-24 21:38:2715-16赛季CBA联赛之福建
日期:2016-03-18 12:13:4015-16赛季CBA联赛之佛山
日期:2016-02-05 00:55:2015-16赛季CBA联赛之佛山
日期:2016-02-04 21:11:3615-16赛季CBA联赛之天津
日期:2016-11-02 00:33:1215-16赛季CBA联赛之浙江
日期:2017-01-13 01:31:49
4 [报告]
发表于 2015-02-22 12:57 |只看该作者
回复 3# duanlin

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

论坛徽章:
1
2015年迎新春徽章
日期:2015-03-04 09:48:00
5 [报告]
发表于 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
6 [报告]
发表于 2015-02-26 08:24 |只看该作者
既然是数字设计,取决于其架构了
如果一个算法是
A1->A2->....An
那么你可以采用A1...An多重流水线
你也可以
A
B
C
D
...
同时进行多个一样的算法
取决于你的资源,取决于你的架构,抛开你的架构,谈速度无意义,所以建议先想好你要把它设计成什么样的架构

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

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP