
arXiv: 1904.05437
Reconfigurable devices, such as Field Programmable Gate Arrays (FPGAs), have been witnessing a considerable increase in density. State-of-the-art FPGAs are complex hybrid devices that contain up to several millions of gates. Recently, research effort has been going into higher-level parallelization and hardware synthesis methodologies that can exploit such a programmable technology. In this paper, we explore the effectiveness of one such formal methodology in the design of parallel versions of the Serpent cryptographic algorithm. The suggested methodology adopts a functional programming notation for specifying algorithms and for reasoning about them. The specifications are realized through the use of a combination of function decomposition strategies, data refinement techniques, and off-the-shelf refinements based upon higher-order functions. The refinements are inspired by the operators of Communicating Sequential Processes (CSP) and map easily to programs in Handel-C (a hardware description language). In the presented research, we obtain several parallel Serpent implementations with different performance characteristics. The developed designs are tested under Celoxica's RC-1000 reconfigurable computer with its 2 million gates Virtex-E FPGA. Performance analysis and evaluation of these implementations are included.
47 Pages, 16 Figures, 4 Tables. arXiv admin note: text overlap with arXiv:1904.03756
Computer system organization, B.4.4, FOS: Computer and information sciences, B.5.2, D.1.3, Computer Science - Cryptography and Security, Data encryption (aspects in computer science), B.6.3, Parallel algorithms, formal models, B.5.1, Computer Science - Distributed, Parallel, and Cluster Computing, gate array, B.4.4; B.5.1; B.5.2; B.6.3; D.1.3, methodologies, Distributed, Parallel, and Cluster Computing (cs.DC), Parallel algorithms in computer science, data encryption, Cryptography and Security (cs.CR)
Computer system organization, B.4.4, FOS: Computer and information sciences, B.5.2, D.1.3, Computer Science - Cryptography and Security, Data encryption (aspects in computer science), B.6.3, Parallel algorithms, formal models, B.5.1, Computer Science - Distributed, Parallel, and Cluster Computing, gate array, B.4.4; B.5.1; B.5.2; B.6.3; D.1.3, methodologies, Distributed, Parallel, and Cluster Computing (cs.DC), Parallel algorithms in computer science, data encryption, Cryptography and Security (cs.CR)
| selected citations These citations are derived from selected sources. This is an alternative to the "Influence" indicator, which also reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | 13 | |
| popularity This indicator reflects the "current" impact/attention (the "hype") of an article in the research community at large, based on the underlying citation network. | Average | |
| influence This indicator reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | Top 10% | |
| impulse This indicator reflects the initial momentum of an article directly after its publication, based on the underlying citation network. | Top 10% |
