Proposta de implementação do algoritmo SHA-256 em Hardware
Resumo
Este trabalho propõe uma arquitetura desenvolvida em Field Programmable Gate Array (FPGA) para o algoritmo de hash SHA-256. O SHA-256 é bastante usado em protocolos para transporte de dados seguros ou verificação de integridade, como o HMAC, TLS e IPSec. A implementação proposta neste artigo traz uma abordagem diferenciada em relação a outros trabalhos já publicados, com núcleos agrupados executando o algoritmo SHA-256 em paralelo. Alcançando um throughput de 0, 80847Gbps para uma único núcleo e em torno de 101Gbps para 128 núcleos em um único FPGA. Existe uma grande possibilidade de aplicações para tal implementação, a qual utilizou como FPGA alvo o Xilinx Virtex 6 xc6vlx240t-1ff1156.
Referências
Garćıa, R., Algredo-Badillo, I., Morales-Sandoval, M., Feregrino-Uribe, C., and Cumplido, R. (2014). A compact fpga-based processor for the secure hash algorithm sha-256. Computers and Electrical Engineering, 40(1):194 – 202. 40th-year commemorative issue.
Michail, H. E., Athanasiou, G. S., Kelefouras, V., Theodoridis, G., and Goutis, C. E. (2012). On the exploitation of a high-throughput sha-256 fpga design for hmac. ACM Trans. Reconfigurable Technol. Syst., 5(1):2:1–2:28.
NIST (2015). Secure Hash Standard (SHS). [link].
Padhi, M. and Chaudhari, R. (2017). An optimized pipelined architecture of sha-256 hash function. In 2017 7th International Symposium on Embedded Computing and System Design (ISED), pages 1–4.
Sklavos, N. and Koufopavlou, O. (2005). Implementation of the sha-2 hash family standard using fpgas. The Journal of Supercomputing, 31(3):227–248.
Ting, K. K., Yuen, S. C. L., Lee, K. H., and Leong, P. H. W. (2002). An fpga based sha-256 processor. In Glesner, M., Zipf, P., and Renovell, M., editors, Field-Programmable Logic and Applications: Reconfigurable Computing Is Going Mainstream, pages 577–585, Berlin, Heidelberg. Springer Berlin Heidelberg.