Inglese
English
Concetti di base di algebra e teoria delle probabilità.
Concetti di base di tecnologie dell'informazione e della comunicazione.
Basic concepts of algebra and theory of probability.
Basic concepts of information and communication technologies.
Lezioni teoriche, 40 ore.
Laboratorio software, 8 ore.
Theoretical lectures, 40 hours.
Software laboratory, 8 hours.
Conoscere e comprendere gli algoritmi crittografici e le loro applicazioni, con particolare interesse per blockchain e tecnologie distributed ledger, tramite un approccio formale e caratterizzato, al tempo stesso, da numerosi aspetti intuitivi.
Lo studente apprenderà le proprietà ed il funzionamento dei principali algoritmi e protocolli crittografici volti a garantire sicurezza e protezione dei dati in canali non sicuri ed in sistemi di data storage.
Inoltre, lo studente apprenderà i principi ed il funzionamento di protocolli di consenso e tecnologie distributed ledger, che sono alla base della tecnologia blockchain.
Tali capacità si tradurranno nell'abilità di utilizzare e valutare algoritmi crittografici, protocolli e tecnologie di tipo distributed ledger, per garantire requisiti di Sicurezza in schemi di comunicazione ed in sistemi di storage.
Durante il corso verranno svolti simulazioni ed esercizi software, basati su differenti linguaggi di programmazione, con l’obiettivo di mettere in pratica, tramite esempi applicativi, le conoscenze acquisite durante il corso.
Durante le esercitazioni, gli studenti stimoleranno la capacità di lavorare in gruppo, nonché la capacità di padroneggiare tecnologie relativamente moderne ma in notevole sviluppo (come quelle legate alla blockchain).
Le capacità di apprendimento saranno migliorate dal lavoro di gruppo e dall’uso di strumenti software ad integrazione del materiale didattico.
Knowing and understanding cryptographic algorithms and their applications, with particular focus on blockchain and distributed ledger technologies, through a formal approach which, at the same time, is characterized by several intuitive aspects.
The student will learn the properties and functioning of the main cryptographic algorithms and protocols aimed at guaranteeing security and data protection in non-secure channels and in data storage systems.
Furthermore, the student will learn the principles and functioning of consensus protocols and distributed ledger technologies, which are the basis of the blockchain technology.
These competences will translate into the ability to use and evaluate cryptographic algorithms, protocols and distributed ledger technologies, to guarantee security requirements in communication schemes and storage systems.
During the course, simulations and software exercises will be carried out, based on different programming languages, with the aim of putting into practice, through application examples, the knowledge acquired during the course.
During the exercises, students will stimulate their own ability to work in groups, as well as the ability to master relatively modern but rapidly developing technologies (such as those related to the blockchain).
Learning skills will be improved by teamwork and the use of software tools to integrate the teaching material.
Fondamenti di crittografia
Crittosistemi classici
Crittosistemi simmetrici
Crittosistemi asimmetrici
Funzioni hash
Firma digitale
Merkle trees
Protocolli di autenticazione
Protocolli per la distribuzione di chiavi
Il problema del consenso
Protocolli di consenso
Blockchain e tecnologie di registro distribuito
Basics of cryptography
Classical cryptosystems
Symmetric cryptosystems
Asymmetric cryptosystems
Hash functions
Digital signatures
Merkle trees
Authentication protocols
Key distribution protocols
The consensus problem
Consensus protocols
Blockchain and distributed ledger technologies
L'esame consiste in una prova orale, nella quale si richiederà allo studente di esporre i concetti di base e descrivere le principali tecniche, algoritmi e protocolli appresi durante il corso. Inoltre, come possibilità facoltativa e su richiesta dello studente, verrà data la possibilità di discutere un progetto o un elaborato preparato preventivamente su uno o più argomenti del corso.
Lo studente, nel corso della prova orale, dovrà presentare e discutere l’eventuale progetto o elaborato sviluppato e dimostrare di possedere le conoscenze teoriche e pratiche relative alle tecniche di protezione dei dati ed alla blockchain. Per superare con esito positivo la prova orale, lo studente dovrà dimostrare di possedere una complessiva conoscenza dei contenuti dell’insegnamento, esposti in maniera sufficientemente corretta con l'utilizzo di adeguata terminologia tecnica. La valutazione massima verrà conseguita dimostrando una conoscenza approfondita dei contenuti dell'insegnamento, esposta con completa padronanza del linguaggio tecnico.
Viene attribuito un voto in trentesimi, con eventuale lode.
Il voto minimo per il superamento dell’esame è 18/30.
Il voto verrà attribuito sommando la valutazione della prova orale a quella dell’eventuale progetto o elaborato sviluppato. Lo studente potrà conseguire fino ad un massimo di 10 punti tramite la presentazione e la discussione del progetto o dell'elaborato. L’orale sarà articolato su due o tre quesiti a seconda che lo studente presenti o meno il progetto o l'elaborato. Ogni quesito sarà valutabile con un punteggio variabile tra 0 e 10 punti. La lode verrà attribuita agli studenti che, avendo conseguito la valutazione massima, abbiano dimostrato la completa padronanza della materia.
The exam consists of an oral test, in which the student will be asked to explain the basic concepts and describe the main techniques, algorithms and protocols learned during the course. Furthermore, as an optional possibility and on request, the student will have the chance to discuss a project or a paper previously prepared on one or more topics of the course.
During the oral exam, the student will have to present and discuss the optional project or paper and demonstrate to possess the theoretical and practical knowledge concerning data protection techniques and blockchain. To successfully pass the exam, the student must demonstrate an overall knowledge of the contents, presented in a sufficiently correct manner and with the use of an adequate technical terminology. The highest grade will be achieved by demonstrating an in-depth knowledge of the teaching contents, exposed with complete mastery of the technical language.
A vote out of thirty is attributed, with possible honors.
The minimum grade for passing the exam is 18/30.
The vote of the exam will be obtained by adding the evaluation of the oral exam to that of the optionally developed project or paper. The student can achieve up to a maximum of 10 points through the presentation and discussion of the project or paper. The oral examination will be divided into two or three questions depending on whether the student presents the project or the paper, or not. Each question will be evaluated with a variable score between 0 and 10 points. Honors will be given to students who, having achieved the highest rating, have demonstrated complete mastery of the subject.
W. Trappe, L. C. Washington, “Introduction to Cryptography with Coding Theory”, Pearson - Prentice Hall.
C. Paar, J. Pelzl: “Understanding cryptography: a textbook for students and practitioners”, Springer Science & Business Media.
W. Stallings, “Cryptography and Network Security: Principles and Practice”, Pearson - Prentice Hall.
S. Shetty, C. A. Kamhoua, L. L. Njilla, “Blockchain for distributed systems security”, John Wiley & Sons, 2019.
Materiale didattico elettronico disponibile su piattaforma Moodle di Ateneo, link: https://learn.univpm.it/
W. Trappe, L. C. Washington, “Introduction to Cryptography with Coding Theory”, Pearson - Prentice Hall.
C. Paar, J. Pelzl: “Understanding cryptography: a textbook for students and practitioners”, Springer Science & Business Media.
W. Stallings, “Cryptography and Network Security: Principles and Practice”, Pearson - Prentice Hall.
S. Shetty, C. A. Kamhoua, L. L. Njilla, “Blockchain for distributed systems security”, John Wiley & Sons, 2019.
Electronic teaching material available on the University Moodle platform, link: https://learn.univpm.it/
Università Politecnica delle Marche
P.zza Roma 22, 60121 Ancona
Tel (+39) 071.220.1, Fax (+39) 071.220.2324
P.I. 00382520427