20410625-2 - CR410-Public Key Criptography - MODULE B

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

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 advised

Type 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

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 advised

Type 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

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 advised

Type 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).