The task was to develop embedded solution for online encryption of a packet stream. The solution was built around Xilinx Zynq. The critical encryption task was implemented in the FPGA logic whereas the ARM in the Zynq was utilized to deal with more complex but not that time-critical tasks. A simplified scheme of the solution is depicted in the Figure.
The solution performs data encryption and transmits the data over the network to a remote host. The encryption is offloaded into the FPGA part. This reduces the load of CPUs.
The Linux running in the ARM serves as a streaming server delivering an encrypted video stream to connected clients. The streaming starts with an exchange of encryption keys. The data are transferred via RSoC Framework to the encryption engine implemented in FPGA. The encrypted data are transferred back and transmitted out over the Ethernet interface.