ECTS credits ECTS credits: 6
ECTS Hours Rules/Memories Student's work ECTS: 99 Hours of tutorials: 3 Expository Class: 24 Interactive Classroom: 24 Total: 150
Use languages Spanish, Galician
Type: Ordinary Degree Subject RD 1393/2007 - 822/2021
Departments: Mathematics
Areas: Algebra
Center Faculty of Mathematics
Call: Second Semester
Teaching: With teaching
Enrolment: Enrollable
To know some of the most important applications of mathematics to ICT, in particular to accurate and secure transmission of information.
To use basic concepts and methods of the theory of error correcting codes and of cryptography and also the fundamental algorithms of these disciplines.
To know the most important families of codes and some of their most interesting applications (long distance transmissions, CDs, etc.).
To understand the notion of security for cryptographic schemes and some of the most important cryptanalytic attacks and the techniques used to reject them.
To use SageMath implementations of some of the most important algorithms of coding theory and cryptography.
1. Introduction to coding theory. (4 h. of lectures)
Basic ideas of coding theory. Some examples: barcodes, ISBN, NIF ...
2. Error-detecting and error-correcting codes. (5 h. of lectures)
Noisy channels. Decision rules. Hamming distance and minimum distance decoding. Perfect codes. The main problem of coding theory.
3. Linear codes. (5 h. of lectures)
Generating matrices and control matrices. Decoding for linear codes. Syndrome decoding.
4. Special types of linear codes. (5 h. of lectures)
Hamming codes. Golay codes. Reed-Muller codes. Some applications (telephony, broadcasting from space probes, etc.). Introduction to cyclic codes. The codes used in CDs.
5. Introduction to cryptography. (5 h. of lectures)
Cryptography, cryptology and cryptanalysis. Classical cryptosystems and their cryptanalysis. Vigenère's cipher and the index of coincidence.
6. Cryptographic security. (4 h. of lectures)
Unconditional security. The one-time pad. Introduction to computational complexity. Computational security.
7. Block ciphers. (4 h. of lectures)
The "Advanced Encryption Standard" (AES). The modes of operation. Authentication via MACs.
8. Algorithmic number theory and public-key cryptography. (7 h. of lectures)
Basic algorithms. Primality, factorization and discrete logarithms. One-way functions. The Diffie-Hellman agreement. The RSA cryptosystem. Digital Signatures.
Basic Bibliography
Bibliografía básica
Gómez Pardo, J.L. Introduction to Cryptography with Maple. Springer, 2013.
Trappe, W. and Washington, L.C. Introduction to Cryptography with Coding Theory. Prentice-Hall, 2002.
Supplementary Bibliography
Bard, G.V., SageMath for Undergraduates, dispoñible en http://www.gregorybard.com/SAGE.html
Buchmann, J.A. Introduction to Cryptography, 2nd. Edition. Springer, 2004.
Gómez Pardo, J.L. and Gómez-Rodríguez, C. The Advanced Encryption Standard and its modes of operation, (available from https://www.maplesoft.com/applications/app_center_view.aspx?AID=2286.)
Gómez Pardo, J.L. Linear Codes and Syndrome Decoding. (Available from https://www.maplesoft.com/applications/view.aspx?SID=154536.)
Hoffstein, J., Pipher, J. and Silverman, J.H. An Introduction to Mathematical Cryptography, 2nd. Edition. Springer, 2014.
Lidl, R. and Pilz, G. Applied Abstract Algebra, 2nd Ed., Springer, 1998.
Roman, S. Coding and Information Theory, Springer, 1992.
To contribute to achieving the generic, specific and transversal competences listed in the Report on the Degree in Mathematics from USC and, in particular, the following:
- Written and oral communication of knowledge, methods and general ideas related to mathematics and ICT (CG4).
- Use of searching tools for bibliographic resources on the course topics, including Internet searches. Use of these resources in different languages, especially English (CT1, CT5).
- To use software to solve problems and to implement algorithms (CE8, CE9).
- To understand the role of mathematics as a tool of wide applicability (CG2).
Specific competences:
- To become familiar with basic ID codes: NIF, ISBN, bar codes ...
- To gain knowledge of the general principles used in the design of "good codes".
- To handle linear codes by computing generating matrices, control matrices, minimum distance, etc.
- To construct the standard table, perform syndrome decoding and use specific decoding methods for Hamming codes and Golay codes.
- To learn how to cryptanalyze classical systems: monoalphabetic substitutions, Vigenère's cipher, Hill's cipher.
- To know the AES and its modes of operation, using several existing implementations.
- To handle the basic algorithms necessary for the implementation of RSA, in particular, the Euclidean algorithm and binary exponentiation.
- To understand the importance of authentication and digital signature schemes and their applications (electronic DNI, etc.).
- To learn how to use SageMath to explore some of the most important algorithms of coding theory and cryptography. In particular, some of the most important codes and their decoding, experiments on the distribution of prime numbers, Miller-Rabin test, etc.
It will follow the general methodological instructions contained in the Report on the Degree in Mathematics from USC. Teaching is conducted in blackboard classes, computer classes and tutoring with and without a computer, in addition to tutoring in small groups.
In classes, the essential facts of the discipline will be presented, problems will be solved and the activities (problem solving, writing reports ...) on which continuous assessment is based will be proposed (competences CB3, CB4, CG1, CG2, CG4, CG5, CT1, CT5). In computer classes and tutorials, SageMath will be used as a working tool (competences CE8, CE9).
Tthere will be two online courses, one on the USC virtual campus and another one on CoCalc. The first, with materials and resources related to the expository classes, will also serve as a communications channel, the proposals and deliveries of tasks as well as the realization of proofs of self-evaluation and continuous evaluation, both individual and in small groups. The Second one will be used to share practices and projects, to monitor and asist interactive classes and tutorials, as well as to conduct computer-based assessment tests.
Teaching will be, essentially, face-to-face, always according to the formula defined by the Faculty of Mathematics and will be given the option to follow online the interactive laboratory classes, through a combination of MS Teams and CoCalc. Tutorials and communication with students can be face-to-face or virtual. In the virtual case they can be asynchronous, through the virtual course forums or e-mail, or synchronous, through the MS Teams platform.
To calculate the final grade (F) the continuous assessment (C) and the final exam grade (E) will be taken into account and the following formula will be applied:
F = max {E, 0.40 * C + 0.60 * E}
For continuous assessment, the following tasks and tests will be carried out throughout the course: two sets of problems to hand-in with the corresponding authorship controls, and a computer test. Participation in expository and interactive laboratory classes, as well as tutorials may be rewarded with up to +1 point. The continuous evaluation mark will also be taken into account for the second opportunity, with the same weight in the general qualification.
The final exam will have two parts: a theory and problem essay (2/3 of the grade) and another with a computer (1/3 of the grade). It will be necessary to reach a minimum of 40% in each part and have F >= 5 to pass the course.
In the final exam, the competencies included in the Degree report will be evaluated, with special attention to CG4, CG5, CT1 and CT5. CB3, CB4, CG2, CG4, CG5, CT1, CT5, CE8 and CE9 will be evaluated in the continuous assessment. The grade of "not presented" will be awarded to students who do not take any of the parts of the final exam.
In the case of fraudulent behavior in assignments, tests, or exams, the provisions of the "Regulations for the evaluation of the academic performance of students and grades review" will apply, in particular those in Article 16:
Committing fraud in any assignment or test required in the evaluation of the subject will imply the qualification of fail in the corresponding call, regardless of the disciplinary process that may be followed against the offender.
Following the guidelines set forth in the Report on the Degree in Mathematics from USC, the time the student should devote to the preparation of the matter is estimated as follows:
+ 58 hours of classroom work:
- 42 hours in lectures.
- 14 hours in computer labs.
- 2 hours in tutorials (small group).
+ 92 hours of personal work which includes the following activities:
- Independent study: 50 hours.
- Writing reports and problem-solving work: 20 hours.
- Computer works: 15 hours.
- Document searching: 3 hours.
- Evaluation activities: 4 hours.
The students should have attended the following courses: Linguaxe matemática, conxuntos e números; Álxebra lineal e multilineal; Estruturas alxébricas.
In general, it is recommended that the student should have assimilated the mathematical knowledge included in the courses in the first year of the Mathematics Degree.
Assistance and active participation in scheduled classes and tutorials is recommended, supplemented with daily work necessary to assimilate the subject concepts and to carry out the activities (problems, reports) that will be periodically proposed.
Felipe Gago Couso
Coordinador/a- Department
- Mathematics
- Area
- Algebra
- Phone
- 881813140
- felipe.gago [at] usc.es
- Category
- Professor: University Lecturer
Wednesday | |||
---|---|---|---|
10:00-11:00 | Grupo /CLE_01 | Galician | Classroom 05 |
11:00-12:00 | Grupo /CLIL_01 | Galician | Computer room 4 |
12:00-13:00 | Grupo /CLIL_02 | Galician | Computer room 4 |
Thursday | |||
10:00-11:00 | Grupo /CLE_01 | Galician | Classroom 05 |
11:00-12:00 | Grupo /CLE_01 | Galician | Classroom 05 |
06.04.2025 10:00-14:00 | Grupo /CLE_01 | Classroom 06 |
06.04.2025 10:00-14:00 | Grupo /CLE_01 | Computer room 2 |
07.02.2025 16:00-20:00 | Grupo /CLE_01 | Classroom 06 |
07.02.2025 16:00-20:00 | Grupo /CLE_01 | Computer room 2 |