Acquire a basic understanding of the notions and methods of public-key encryption theory, providing an overview of the models which are most widely used in this field.
Curriculum
teacher profile teaching materials
The course also covers the basics of scientific programming in C language and, in particular, it introduces the usage of the multiple precision arithmetic library GMP.
- Stinson: Cryptography - theory and practice
- Languasco, Zaccagnini: Manuale di crittografia
- Baldoni, Ciliberto, Piacentini: Aritmetica, crittografia e codici
Programme
The course is made of 6 lab lectures and will cover the implementation of some of the algorithm introduced in lectures from Module A, as well as some topics in real-world cryptography from recent literature.The course also covers the basics of scientific programming in C language and, in particular, it introduces the usage of the multiple precision arithmetic library GMP.
Core Documentation
See Bibliography from Module A for further details, in particular:- Stinson: Cryptography - theory and practice
- Languasco, Zaccagnini: Manuale di crittografia
- Baldoni, Ciliberto, Piacentini: Aritmetica, crittografia e codici
Reference Bibliography
References used during lectures: - [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.Type of delivery of the course
In-person lectures: there will also be the possibility of on-line attendance; in-class presence is advisedType of evaluation
Students are required to prepare a theoretic or/and implementative project about one of the topics introduced during lectures or about a real-world cryptography topic from recent literature (previously discussed with the lecturer). teacher profile teaching materials
The course also covers the basics of scientific programming in C language and, in particular, it introduces the usage of the multiple precision arithmetic library GMP.
- Stinson: Cryptography - theory and practice
- Languasco, Zaccagnini: Manuale di crittografia
- Baldoni, Ciliberto, Piacentini: Aritmetica, crittografia e codici
Mutuazione: 20410625-2 CR410-CRITTOGRAFIA A CHIAVE PUBBLICA - MODULO B in Scienze Computazionali LM-40 Onofri Elia
Programme
The course is made of 6 lab lectures and will cover the implementation of some of the algorithm introduced in lectures from Module A, as well as some topics in real-world cryptography from recent literature.The course also covers the basics of scientific programming in C language and, in particular, it introduces the usage of the multiple precision arithmetic library GMP.
Core Documentation
See Bibliography from Module A for further details, in particular:- Stinson: Cryptography - theory and practice
- Languasco, Zaccagnini: Manuale di crittografia
- Baldoni, Ciliberto, Piacentini: Aritmetica, crittografia e codici
Reference Bibliography
References used during lectures: - [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.Type of delivery of the course
In-person lectures: there will also be the possibility of on-line attendance; in-class presence is advisedType of evaluation
Students are required to prepare a theoretic or/and implementative project about one of the topics introduced during lectures or about a real-world cryptography topic from recent literature (previously discussed with the lecturer). teacher profile teaching materials
The course also covers the basics of scientific programming in C language and, in particular, it introduces the usage of the multiple precision arithmetic library GMP.
- Stinson: Cryptography - theory and practice
- Languasco, Zaccagnini: Manuale di crittografia
- Baldoni, Ciliberto, Piacentini: Aritmetica, crittografia e codici
Programme
The course is made of 6 lab lectures and will cover the implementation of some of the algorithm introduced in lectures from Module A, as well as some topics in real-world cryptography from recent literature.The course also covers the basics of scientific programming in C language and, in particular, it introduces the usage of the multiple precision arithmetic library GMP.
Core Documentation
See Bibliography from Module A for further details, in particular:- Stinson: Cryptography - theory and practice
- Languasco, Zaccagnini: Manuale di crittografia
- Baldoni, Ciliberto, Piacentini: Aritmetica, crittografia e codici
Reference Bibliography
References used during lectures: - [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.Type of delivery of the course
In-person lectures: there will also be the possibility of on-line attendance; in-class presence is advisedType of evaluation
Students are required to prepare a theoretic or/and implementative project about one of the topics introduced during lectures or about a real-world cryptography topic from recent literature (previously discussed with the lecturer).