Politecnico di Torino (logo)

Implementation of a post-quantum cryptography algorithm on an FPGA board

Giuseppe Puletto

Implementation of a post-quantum cryptography algorithm on an FPGA board.

Rel. Guido Masera, Maurizio Martina. Politecnico di Torino, Corso di laurea magistrale in Ingegneria Elettronica (Electronic Engineering), 2020

PDF (Tesi_di_laurea) - Tesi
Licenza: Creative Commons Attribution Non-commercial No Derivatives.

Download (3MB) | Preview

Cryptography (from Ancient Greek words kryptós and graphein, which together mean "secret writing") is the set of theory and techniques used to guarantee a secure communication between sender and receiver. A communication is secure if there is no risk for the message to reach an unwanted receiver. Cryptography originates in the military, from the need to secretly communicate with allies. Coding the message, in such a way that it is no longer understandable for who does not have the key to decrypt it, solves the problem. In cryptography literature, the encrypted message is called ciphertext. Coding and decoding are the operations to obtain the cyphertext from the plaintext and vice versa. The encryption algorithm has to be as robust as possible. The more robust it is, the more difficult it is to understand the key to decrypt the cyphertext. Today, cryptography finds application everywhere. Electronic commerce, chip-based payment cards, digital currencies, computer passwords, implanted medical devices make use of it. This means that even devices with limited storage and poor computational capabilities must be able to code and decode information in a robust and fast way. Modern cryptosystems make use of public key algorithms, which use a public key and a private key. As the name suggests, the public key is known to all and is used to encode the message. Instead, the private key is secret. Only the recipient, which needs to decrypt the message, owns it. Although these two keys are linked one each other, it is impossible to recover the private key knowing only the public one. RSA is an example of public key cryptography. The security of this cryptosystem is based on the so-called "factoring problem". This operation is computationally not sustainable by a classical computer. In 1994, the mathematician Peter Shor invented an algorithm, which is able to break this kind of cryptosystems if executed by an ideal quantum computer. Studying and developing cryptosystems able to resist to quantum computer attacks is urgent and inevitable. A candidate for "post-quantum cryptography" is McEliece cryptosystem. It is based on the practical difficulties of decoding a generic linear code. The original version of this algorithm uses binary Goppa codes and requires to store in memory large matrices. This makes problematic encrypting and decrypting in embedded systems with limited hardware resources. Variants that use LDPC or QCLDPC codes solve this problem. They require less memory and computational effort. One of them is the LEDApkc algorithm. The decoding technique of LEDApkc is called Q-Decoder. The aim of this thesis is the creation of a prototype on fpga which implements a Q-Decoder.

Relators: Guido Masera, Maurizio Martina
Academic year: 2019/20
Publication type: Electronic
Number of Pages: 62
Corso di laurea: Corso di laurea magistrale in Ingegneria Elettronica (Electronic Engineering)
Classe di laurea: New organization > Master science > LM-29 - ELECTRONIC ENGINEERING
Aziende collaboratrici: UNSPECIFIED
URI: http://webthesis.biblio.polito.it/id/eprint/14456
Modify record (reserved for operators) Modify record (reserved for operators)