高速哈希函数Keccak在GPU上的实现

T. N. Dat, Keisuke Iwai, T. Matsubara, T. Kurokawa
{"title":"高速哈希函数Keccak在GPU上的实现","authors":"T. N. Dat, Keisuke Iwai, T. Matsubara, T. Kurokawa","doi":"10.15803/IJNC.9.2_370","DOIUrl":null,"url":null,"abstract":"Nowadays, a hash function is used for password management. The hash function is desired to possess the following three characteristics: Pre-Image Resistance, Second Pre-Image Resistance, and Collision Resistance. They are set on the assumption that it is computationally difficult to find the original message from a given hash value. However, the security level of the password management will be further reduced by implementing a high speed hash function on GPU. In this paper, the implementation of high speed hash function Keccak-512 using the integrated development environment CUDA for GPU is proposed. The following four techniques are used in order to speed up its implementation. The first one is reforming lookup tables from 2 dimensional arrays to 1 dimensional arrays at step rho and pi. The second is an investigation into the effect of using constant memory and shared memory for constant values. The third is the finding out the optimal configuration of blocks-threads, then evaluate the implementation according to the occupancy. And the last one is using CUDA streams with overlapping to hide the overhead of data transfer and GPU processing. As the result, the throughput of implemented Keccak on GeForce GTX 1080 achieved up to maximum 64.58 GB/s. It is about 14.0 times faster than the previous research result. In addition, the safety level of Keccak is also discussed at the point of Pre-Image Resistance especially. In order to implement a high speed hash function for password cracking, we developed a special program for passwords up to 71 characters. Moreover, the throughputs of 2 times as well as 3 times hash are also evaluated. It is proved that multiple times hash is possible to greatly improved the security level of Keccak with password management. The throughput of hashing password with a large number of iterations confirmed the effect was about 90%. That is the time required to hash one password for 1000 times was almost the same as the total time to sequentially hash 900 passwords.","PeriodicalId":270166,"journal":{"name":"Int. J. Netw. Comput.","volume":"162 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2019-07-08","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"5","resultStr":"{\"title\":\"Implementation of high speed hash function Keccak on GPU\",\"authors\":\"T. N. Dat, Keisuke Iwai, T. Matsubara, T. Kurokawa\",\"doi\":\"10.15803/IJNC.9.2_370\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Nowadays, a hash function is used for password management. The hash function is desired to possess the following three characteristics: Pre-Image Resistance, Second Pre-Image Resistance, and Collision Resistance. They are set on the assumption that it is computationally difficult to find the original message from a given hash value. However, the security level of the password management will be further reduced by implementing a high speed hash function on GPU. In this paper, the implementation of high speed hash function Keccak-512 using the integrated development environment CUDA for GPU is proposed. The following four techniques are used in order to speed up its implementation. The first one is reforming lookup tables from 2 dimensional arrays to 1 dimensional arrays at step rho and pi. The second is an investigation into the effect of using constant memory and shared memory for constant values. The third is the finding out the optimal configuration of blocks-threads, then evaluate the implementation according to the occupancy. And the last one is using CUDA streams with overlapping to hide the overhead of data transfer and GPU processing. As the result, the throughput of implemented Keccak on GeForce GTX 1080 achieved up to maximum 64.58 GB/s. It is about 14.0 times faster than the previous research result. In addition, the safety level of Keccak is also discussed at the point of Pre-Image Resistance especially. In order to implement a high speed hash function for password cracking, we developed a special program for passwords up to 71 characters. Moreover, the throughputs of 2 times as well as 3 times hash are also evaluated. It is proved that multiple times hash is possible to greatly improved the security level of Keccak with password management. The throughput of hashing password with a large number of iterations confirmed the effect was about 90%. That is the time required to hash one password for 1000 times was almost the same as the total time to sequentially hash 900 passwords.\",\"PeriodicalId\":270166,\"journal\":{\"name\":\"Int. J. Netw. Comput.\",\"volume\":\"162 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2019-07-08\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"5\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Int. J. Netw. Comput.\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.15803/IJNC.9.2_370\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Int. J. Netw. Comput.","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.15803/IJNC.9.2_370","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 5

摘要

现在,密码管理使用哈希函数。期望哈希函数具有以下三个特征:预图像抗噪性、二次预图像抗噪性和抗碰撞性。它们的设置是基于这样的假设:从给定的散列值中找到原始消息在计算上是困难的。但是,通过在GPU上实现高速哈希函数,会进一步降低密码管理的安全级别。本文提出了利用GPU集成开发环境CUDA实现高速哈希函数Keccak-512的方法。为了加速其实现,使用了以下四种技术。第一个是将查找表从二维数组转换为一维数组在步骤和。第二部分是研究使用常量内存和共享内存对常量值的影响。三是找出block -thread的最优配置,并根据占用率对实现情况进行评价。最后一个是使用重叠的CUDA流来隐藏数据传输和GPU处理的开销。结果,在GeForce GTX 1080上实现的Keccak吞吐量最高达到64.58 GB/s。这比之前的研究结果快了约14.0倍。此外,还着重讨论了Keccak在预像电阻点的安全等级。为了实现用于密码破解的高速哈希函数,我们开发了一个特殊的程序,用于最多71个字符的密码。此外,还评估了2倍哈希和3倍哈希的吞吐量。证明了多次哈希可以通过密码管理大大提高Keccak的安全级别。大量迭代散列密码的吞吐量证实了该效果约为90%。也就是说,将一个密码散列1000次所需的时间几乎与连续散列900个密码所需的总时间相同。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
Implementation of high speed hash function Keccak on GPU
Nowadays, a hash function is used for password management. The hash function is desired to possess the following three characteristics: Pre-Image Resistance, Second Pre-Image Resistance, and Collision Resistance. They are set on the assumption that it is computationally difficult to find the original message from a given hash value. However, the security level of the password management will be further reduced by implementing a high speed hash function on GPU. In this paper, the implementation of high speed hash function Keccak-512 using the integrated development environment CUDA for GPU is proposed. The following four techniques are used in order to speed up its implementation. The first one is reforming lookup tables from 2 dimensional arrays to 1 dimensional arrays at step rho and pi. The second is an investigation into the effect of using constant memory and shared memory for constant values. The third is the finding out the optimal configuration of blocks-threads, then evaluate the implementation according to the occupancy. And the last one is using CUDA streams with overlapping to hide the overhead of data transfer and GPU processing. As the result, the throughput of implemented Keccak on GeForce GTX 1080 achieved up to maximum 64.58 GB/s. It is about 14.0 times faster than the previous research result. In addition, the safety level of Keccak is also discussed at the point of Pre-Image Resistance especially. In order to implement a high speed hash function for password cracking, we developed a special program for passwords up to 71 characters. Moreover, the throughputs of 2 times as well as 3 times hash are also evaluated. It is proved that multiple times hash is possible to greatly improved the security level of Keccak with password management. The throughput of hashing password with a large number of iterations confirmed the effect was about 90%. That is the time required to hash one password for 1000 times was almost the same as the total time to sequentially hash 900 passwords.
求助全文
通过发布文献求助,成功后即可免费获取论文全文。 去求助
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:604180095
Book学术官方微信