Due to the extensive spread of personal computers and smartphones, we are performing more and more tasks electronically and forwarding more and more information on the networks. This is why it is becoming very important to encrypt our information properly. In the last decades a lot of methods were developed that guarantee that our data is not accessible by unauthorized users. The newest and most widely used encryption protocol is the AES (Advanced Encryption Standard) algorithm, which specifies the encryption of a fixed-size data block. To be able to encrypt arbitrary amount of data, we are using so called block cipher modes of operation, which specify how to separate the information into blocks and how to use the AES or other block cipher algorithm on these. With modern processors, these methods can be executed at high speed; however with special integrated circuits we can achieve much higher throughput. With FPGA (Field Programmable Gate Array) circuits not only can we implement a hardware design, but we also can modify its construction subsequently, which makes it possible to implement new functionalities into an existing device.
In my thesis my task was to design and implement an FPGA module in VHDL that encrypts a microwave transmission channel by manipulating the passing Ethernet frames. Therefore, I review the operation of AES algorithm and then I expose the possible ways of implementing it in hardware, alongside with the description of my solution. Most of my work elapsed with the examination and implementation of modes of operation, so I review the properties of these in detail. For different devices I created two significantly different implementations. I show how these were created and the differences between them. Finally, I evaluate my work and the possibilities of future improvements.