Giuseppe Puletto
Implementation of a postquantum 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 Noncommercial No Derivatives. Download (3MB)  Preview 
Abstract: 
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, chipbased 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 socalled "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 "postquantum 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 QDecoder. The aim of this thesis is the creation of a prototype on fpga which implements a QDecoder. 

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