Nowadays, the high number of devices and applications connected to the Internet has generated a great amount of data being which makes privacy and protection a more challenging task. In addition, new technologies, such as the Internet of Things, incorporate many resource-constrained devices in the network. Reliable cryptography algorithms have to be employed to deal with this problem, which also needs to be efficiently implemented in small devices. There are several algorithms for this purpose, among them, neural cryptography. In this context, this work proposes the implementation of an artificial neural network architecture called tree parity machine (TPM) to perform the exchange of keys through the mutual learning of these networks. This method is not based on number theory, which makes it less computationally costly, and can be an alternative for embedded systems, which generally have several limitations in the processing capacity and resources used. In the area of embedded systems, FPGAs have gained more space, thanks to their reconfiguration capacity. Thus, different methods for implementing a TPM in FPGA were tested and analyzed, in order to optimize the following performance parameters, the response time, the maximum frequency of operation, and the consumed area of the FPGA considering logical elements, embedded multipliers, and registers. In addition, software implementation based on a multi-core CPU was used for comparison purposes. Experimental results demonstrated that the implementation of parallelism in FPGA for different blocks of the TPM weight matrix reached the best performance results. Thus, our proposal intends to develop an economic component in terms of resource consumption, however, maintaining the characteristic of high processing capacity. Therefore, the methodologies presented in this paper intends to be a useful reference to optimize future implementations in FPGA for cryptography applications.
Read full abstract