20410625-2 - CR410-CRITTOGRAFIA A CHIAVE PUBBLICA - MODULO B

Acquisire una conoscenza di base dei concetti e metodi relativi alla teoria della crittografia a chiave pubblica, fornendo una panoramica di quelli che sono i modelli attualmente più utilizzati in questo settore.

Curriculum

scheda docente | materiale didattico

Programma

Il corso si articola in sei lezioni di laboratorio e tratterà l'implementazione degli algoritmi studiati nel Modulo A, nonché di argomenti di crittografia applicata dalla letteratura recente.
Saranno inoltre fornite le basi per la programmazione scientifica in linguaggio C e per l'utilizzo della libreria di aritmetica a precisione arbitraria GMP.

Testi Adottati

Si veda la Bibliografia del Modulo A per ulteriori dettagli, in particolare:
- Stinson: Cryptography - theory and practice
- Languasco, Zaccagnini: Manuale di crittografia
- Baldoni, Ciliberto, Piacentini: Aritmetica, crittografia e codici

Bibliografia Di Riferimento

Articoli di interesse citati nel corso: - [AD97] Miklos Ajtai and Cynthia Dwork. A public-key cryptosystem with worst-case/average-case equivalence. In Proceedings of the twenty-ninth annual ACM symposium on Theory of computing, pages 284–293, 1997. - [Ajt96] Miklos Ajtai. Generating hard instances of lattice problems. In Proceedings of the twenty-eighth annual ACM symposium on Theory of computing, pages 99–108, 1996. - [Ben82] Paul Benioff. Quantum mechanical hamiltonian models of turing machines. Journal of Statistical Physics, 29(3):515–546, 1982. - [BR94] Mihir Bellare and Phillip Rogaway. Optimal asymmetric encryption. In Workshop on the Theory and Application of of Cryptographic Techniques, pages 92–111. Springer, 1994. - [CSF+08] D. Cooper, S. Santesson, S. Farrell, S. Boeyen, R. Housley, and W. Polk. Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile. RFC 5280 (Proposed Standard), May 2008. - [GMP20] Gnu mp - 6.2.1, 2020. https://gmplib.org/manual/index. - [gnu20] Gnu make - 4.3, 2020. https://www.gnu.org/software/make/manual/make.html. - [Gra20] Torbj ̈orn Granlund. The gnu multiple precision arithmetic library, 2020. https://gmplib.org/gmp-man-6.2.1.pdf. - [HM13] Tony Hansen and Alexey Melnikov. Additional Media Type Structured Syntax Suffixes. RFC 6839, January 2013. - [HPS98] Jeffrey Hoffstein, Jill Pipher, and Joseph H Silverman. Ntru: A ring-based public key cryptosystem. In International algorithmic number theory symposium, pages 267–288. Springer, 1998. - [Imp95] Russell Impagliazzo. A personal view of average-case complexity. In Proceedings of Structure in Complexity Theory. Tenth Annual IEEE Conference, pages 134–147. IEEE, 1995. - [JL15] Simon Josefsson and Sean Leonard. Textual Encodings of PKIX, PKCS, and CMS Structures. RFC 7468, April 2015. - [Jos06] Simon Josefsson. The Base16, Base32, and Base64 Data Encodings. RFC 4648, October 2006. - [Kal08] Burt Kaliski. Public-Key Cryptography Standards (PKCS) #8: Private-Key Information Syntax Specification Version 1.2. RFC 5208, May 2008. - [Knu14] Donald E Knuth. Art of computer programming, volume 2: Seminumerical algorithms. Addison-Wesley Professional, 2014. - [KS98] Burt Kaliski and Jessica Staddon. PKCS #1: RSA Cryptography Specifications Version 2.0. RFC 2437, October 1998. - [MN98] Makoto Matsumoto and Takuji Nishimura. Mersenne twister: A 623-dimensionally equidistributed uniform pseudo-random number generator. 8(1):3–30, jan 1998. - [Rot60] A. Rotenberg. A new pseudo-random number generator. J. ACM, 7(1):75–77, jan 1960. - [Reg05] Oded Regev. On lattices, learning with errors, random linear codes, and cryptography. In Proceedings of the thirty-seventh annual ACM symposium on Theory of computing, pages 84–93, 2005. - [Sho94] P.W. Shor. Algorithms for quantum computation: discrete logarithms and factoring. In Proceedings 35th Annual Symposium on Foundations of Computer Science, pages 124–134, 1994. - [Tho58] W. E. Thomson. A Modified Congruence Method of Generating Pseudo-random Numbers. The Computer Journal, 1(2):83–83, 01 1958. - [Yao82] Andrew C Yao. Theory and application of trapdoor functions. In 23rd Annual Symposium on Foundations of Computer Science (SFCS 1982), pages 80–91. IEEE, 1982. - [Yer03] Francois Yergeau. UTF-8, a transformation format of ISO 10646. RFC 3629, November 2003.

Modalità Erogazione

Lezioni in presenza: ci sarà la possibilità di seguire online; la presenza è caldamente consigliata

Modalità Valutazione

Gli studenti dovranno preparare un progetto teorico o/e implementativo relativo ad uno degli argomenti trattati nel corso o su un argomento di crittografia applicata della letteratura recente (da concordarsi anticipatamente con il docente).

scheda docente | materiale didattico

Mutuazione: 20410625-2 CR410-CRITTOGRAFIA A CHIAVE PUBBLICA - MODULO B in Scienze Computazionali LM-40 Onofri Elia

Programma

Il corso si articola in sei lezioni di laboratorio e tratterà l'implementazione degli algoritmi studiati nel Modulo A, nonché di argomenti di crittografia applicata dalla letteratura recente.
Saranno inoltre fornite le basi per la programmazione scientifica in linguaggio C e per l'utilizzo della libreria di aritmetica a precisione arbitraria GMP.

Testi Adottati

Si veda la Bibliografia del Modulo A per ulteriori dettagli, in particolare:
- Stinson: Cryptography - theory and practice
- Languasco, Zaccagnini: Manuale di crittografia
- Baldoni, Ciliberto, Piacentini: Aritmetica, crittografia e codici

Bibliografia Di Riferimento

Articoli di interesse citati nel corso: - [AD97] Miklos Ajtai and Cynthia Dwork. A public-key cryptosystem with worst-case/average-case equivalence. In Proceedings of the twenty-ninth annual ACM symposium on Theory of computing, pages 284–293, 1997. - [Ajt96] Miklos Ajtai. Generating hard instances of lattice problems. In Proceedings of the twenty-eighth annual ACM symposium on Theory of computing, pages 99–108, 1996. - [Ben82] Paul Benioff. Quantum mechanical hamiltonian models of turing machines. Journal of Statistical Physics, 29(3):515–546, 1982. - [BR94] Mihir Bellare and Phillip Rogaway. Optimal asymmetric encryption. In Workshop on the Theory and Application of of Cryptographic Techniques, pages 92–111. Springer, 1994. - [CSF+08] D. Cooper, S. Santesson, S. Farrell, S. Boeyen, R. Housley, and W. Polk. Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile. RFC 5280 (Proposed Standard), May 2008. - [GMP20] Gnu mp - 6.2.1, 2020. https://gmplib.org/manual/index. - [gnu20] Gnu make - 4.3, 2020. https://www.gnu.org/software/make/manual/make.html. - [Gra20] Torbj ̈orn Granlund. The gnu multiple precision arithmetic library, 2020. https://gmplib.org/gmp-man-6.2.1.pdf. - [HM13] Tony Hansen and Alexey Melnikov. Additional Media Type Structured Syntax Suffixes. RFC 6839, January 2013. - [HPS98] Jeffrey Hoffstein, Jill Pipher, and Joseph H Silverman. Ntru: A ring-based public key cryptosystem. In International algorithmic number theory symposium, pages 267–288. Springer, 1998. - [Imp95] Russell Impagliazzo. A personal view of average-case complexity. In Proceedings of Structure in Complexity Theory. Tenth Annual IEEE Conference, pages 134–147. IEEE, 1995. - [JL15] Simon Josefsson and Sean Leonard. Textual Encodings of PKIX, PKCS, and CMS Structures. RFC 7468, April 2015. - [Jos06] Simon Josefsson. The Base16, Base32, and Base64 Data Encodings. RFC 4648, October 2006. - [Kal08] Burt Kaliski. Public-Key Cryptography Standards (PKCS) #8: Private-Key Information Syntax Specification Version 1.2. RFC 5208, May 2008. - [Knu14] Donald E Knuth. Art of computer programming, volume 2: Seminumerical algorithms. Addison-Wesley Professional, 2014. - [KS98] Burt Kaliski and Jessica Staddon. PKCS #1: RSA Cryptography Specifications Version 2.0. RFC 2437, October 1998. - [MN98] Makoto Matsumoto and Takuji Nishimura. Mersenne twister: A 623-dimensionally equidistributed uniform pseudo-random number generator. 8(1):3–30, jan 1998. - [Rot60] A. Rotenberg. A new pseudo-random number generator. J. ACM, 7(1):75–77, jan 1960. - [Reg05] Oded Regev. On lattices, learning with errors, random linear codes, and cryptography. In Proceedings of the thirty-seventh annual ACM symposium on Theory of computing, pages 84–93, 2005. - [Sho94] P.W. Shor. Algorithms for quantum computation: discrete logarithms and factoring. In Proceedings 35th Annual Symposium on Foundations of Computer Science, pages 124–134, 1994. - [Tho58] W. E. Thomson. A Modified Congruence Method of Generating Pseudo-random Numbers. The Computer Journal, 1(2):83–83, 01 1958. - [Yao82] Andrew C Yao. Theory and application of trapdoor functions. In 23rd Annual Symposium on Foundations of Computer Science (SFCS 1982), pages 80–91. IEEE, 1982. - [Yer03] Francois Yergeau. UTF-8, a transformation format of ISO 10646. RFC 3629, November 2003.

Modalità Erogazione

Lezioni in presenza: ci sarà la possibilità di seguire online; la presenza è caldamente consigliata

Modalità Valutazione

Gli studenti dovranno preparare un progetto teorico o/e implementativo relativo ad uno degli argomenti trattati nel corso o su un argomento di crittografia applicata della letteratura recente (da concordarsi anticipatamente con il docente).

scheda docente | materiale didattico

Programma

Il corso si articola in sei lezioni di laboratorio e tratterà l'implementazione degli algoritmi studiati nel Modulo A, nonché di argomenti di crittografia applicata dalla letteratura recente.
Saranno inoltre fornite le basi per la programmazione scientifica in linguaggio C e per l'utilizzo della libreria di aritmetica a precisione arbitraria GMP.

Testi Adottati

Si veda la Bibliografia del Modulo A per ulteriori dettagli, in particolare:
- Stinson: Cryptography - theory and practice
- Languasco, Zaccagnini: Manuale di crittografia
- Baldoni, Ciliberto, Piacentini: Aritmetica, crittografia e codici

Bibliografia Di Riferimento

Articoli di interesse citati nel corso: - [AD97] Miklos Ajtai and Cynthia Dwork. A public-key cryptosystem with worst-case/average-case equivalence. In Proceedings of the twenty-ninth annual ACM symposium on Theory of computing, pages 284–293, 1997. - [Ajt96] Miklos Ajtai. Generating hard instances of lattice problems. In Proceedings of the twenty-eighth annual ACM symposium on Theory of computing, pages 99–108, 1996. - [Ben82] Paul Benioff. Quantum mechanical hamiltonian models of turing machines. Journal of Statistical Physics, 29(3):515–546, 1982. - [BR94] Mihir Bellare and Phillip Rogaway. Optimal asymmetric encryption. In Workshop on the Theory and Application of of Cryptographic Techniques, pages 92–111. Springer, 1994. - [CSF+08] D. Cooper, S. Santesson, S. Farrell, S. Boeyen, R. Housley, and W. Polk. Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile. RFC 5280 (Proposed Standard), May 2008. - [GMP20] Gnu mp - 6.2.1, 2020. https://gmplib.org/manual/index. - [gnu20] Gnu make - 4.3, 2020. https://www.gnu.org/software/make/manual/make.html. - [Gra20] Torbj ̈orn Granlund. The gnu multiple precision arithmetic library, 2020. https://gmplib.org/gmp-man-6.2.1.pdf. - [HM13] Tony Hansen and Alexey Melnikov. Additional Media Type Structured Syntax Suffixes. RFC 6839, January 2013. - [HPS98] Jeffrey Hoffstein, Jill Pipher, and Joseph H Silverman. Ntru: A ring-based public key cryptosystem. In International algorithmic number theory symposium, pages 267–288. Springer, 1998. - [Imp95] Russell Impagliazzo. A personal view of average-case complexity. In Proceedings of Structure in Complexity Theory. Tenth Annual IEEE Conference, pages 134–147. IEEE, 1995. - [JL15] Simon Josefsson and Sean Leonard. Textual Encodings of PKIX, PKCS, and CMS Structures. RFC 7468, April 2015. - [Jos06] Simon Josefsson. The Base16, Base32, and Base64 Data Encodings. RFC 4648, October 2006. - [Kal08] Burt Kaliski. Public-Key Cryptography Standards (PKCS) #8: Private-Key Information Syntax Specification Version 1.2. RFC 5208, May 2008. - [Knu14] Donald E Knuth. Art of computer programming, volume 2: Seminumerical algorithms. Addison-Wesley Professional, 2014. - [KS98] Burt Kaliski and Jessica Staddon. PKCS #1: RSA Cryptography Specifications Version 2.0. RFC 2437, October 1998. - [MN98] Makoto Matsumoto and Takuji Nishimura. Mersenne twister: A 623-dimensionally equidistributed uniform pseudo-random number generator. 8(1):3–30, jan 1998. - [Rot60] A. Rotenberg. A new pseudo-random number generator. J. ACM, 7(1):75–77, jan 1960. - [Reg05] Oded Regev. On lattices, learning with errors, random linear codes, and cryptography. In Proceedings of the thirty-seventh annual ACM symposium on Theory of computing, pages 84–93, 2005. - [Sho94] P.W. Shor. Algorithms for quantum computation: discrete logarithms and factoring. In Proceedings 35th Annual Symposium on Foundations of Computer Science, pages 124–134, 1994. - [Tho58] W. E. Thomson. A Modified Congruence Method of Generating Pseudo-random Numbers. The Computer Journal, 1(2):83–83, 01 1958. - [Yao82] Andrew C Yao. Theory and application of trapdoor functions. In 23rd Annual Symposium on Foundations of Computer Science (SFCS 1982), pages 80–91. IEEE, 1982. - [Yer03] Francois Yergeau. UTF-8, a transformation format of ISO 10646. RFC 3629, November 2003.

Modalità Erogazione

Lezioni in presenza: ci sarà la possibilità di seguire online; la presenza è caldamente consigliata

Modalità Valutazione

Gli studenti dovranno preparare un progetto teorico o/e implementativo relativo ad uno degli argomenti trattati nel corso o su un argomento di crittografia applicata della letteratura recente (da concordarsi anticipatamente con il docente).