Ficha Unidade Curricular (FUC)

Informação Geral / General Information


Código :
04446
Acrónimo :
04446
Ciclo :
2.º ciclo
Línguas de Ensino :
Português (pt)
Língua(s) amigável(eis) :
Inglês, Português

Carga Horária / Course Load


Semestre :
2
Créditos ECTS :
6.0
Aula Teórica (T) :
0.0h/sem
Aula Teórico-Prática (TP) :
27.0h/sem
Aula Prática e Laboratorial (PL) :
9.0h/sem
Trabalho de Campo (TC) :
0.0h/sem
Seminario (S) :
0.0h/sem
Estágio (E) :
0.0h/sem
Orientação Tutorial (OT) :
1.0h/sem
Outras (O) :
0.0h/sem
Horas de Contacto :
37.0h/sem
Trabalho Autónomo :
113.0
Horas de Trabalho Total :
150.0h/sem

Área científica / Scientific area


Telecomunicações

Departamento / Department


Departamento de Ciências e Tecnologias da Informação

Ano letivo / Execution Year


2024/2025

Pré-requisitos / Pre-Requisites


Os estudantes devem ter conhecimentos de álgebra linear (em particular álgebra matricial), e de programação em MATLAB.

Objetivos Gerais / Objectives


A unidade curricular define o conceito de informação no sentido de Shannon e explica como comprimir a informação, como corrigir a informação quando é adulterada por erros, e como pode ser ela protegida, quer por meios algorítmicos, quer por meios baseados nas características do meio físico que a suporta. A unidade curricular abordará as técnicas de compressão de dados, códigos de correção de erros (CCEs), e técnicas de criptografia para informação clássica, assim como introduzirá os estudantes à emergente utilização de informação quântica (proteção baseada em redes de chave quânticas, redes quânticas, e técnicas de correção de erros de informação quântica). Pelo facto da computação quântica quebrar os protocolos de criptografia clássica mais seguros, serão apresentadas técnicas de criptografia pós-quântica: técnicas basadas em CCEs e em problemas clássicos em reticulados ("lattices") que possuem complexidade resistente a ataques efetuados com computadores quânticos.

Objetivos de Aprendizagem e a sua compatibilidade com o método de ensino (conhecimentos, aptidões e competências a desenvolver pelos estudantes) / Learning outcomes


OA1 - O que é informação, como se mede, e a sua relação com teoria de probabilidades. OA2 - Algoritmos de compressão de informação com algoritmos centralizados e distribuídos de compressão de fonte. OA3 - Codificação para deteção e correção de erros de informação clássica. OA4 - Técnicas de criptografia clássica baseadas em teoria de números. OA5 - Técnicas de segurança de informação dependentes do meio físico. OA6 - Introdução à informação quântica: representação e métricas fundamentais. OA7 - Introdução a redes quânticas (internet quântica) e criptografia de chave quântica. OA8 - Códigos de correção de erros quânticos. OA9 - Criptografia pós-quântica.

Conteúdos Programáticos / Syllabus


CP1 - Entropia, informação mútua, fontes uniformes e não-uniformes. Revisão de teoria de probabilidades e MATLAB. Blocos de um sistema de transmissão digital. CP2 - Codificações de Shannon-Fano, Huffman, Lempel-Ziv, e codificação aritmética CP3 - Canal BSC, códigos de blocos, códigos aleatórios lineares. Códigos convolucionais. Códigos BCH. Entrelaçadores. Introdução a turbo-códigos e códigos LDPC. CP4 - Descodificação baseada no síndroma. Algoritmo de Viterbi. CP5 - Descodificação probabilística com GRAND. CP6 - MIMO: codificação de Alamouti, ultiplexagem no espaço e algoritmos de deteção. CP7 - Códigos Fonte e códigos LT. CP8 - “Network coding” e “network coding” na camada física. Princípios de NOMA. CP9 - Segurança em redes sem fios baseadas em desvanecimento e em ruído artificial. CP10 - Entrelaçamento quântico. Polarização. Protocolo BB84. CP11 - Sistema de Shamir. Sistemas de McEliece e de Hill, DES, AES, RSA. CP12 - Criptografia baseada em reticulados. Sistemas GGH e LWE.

Demonstração da coerência dos conteúdos programáticos com os objetivos de aprendizagem da UC / Evidence that the curricular units content dovetails with the specified learning outcomes


A interligação entre os conteúdos programáticos (CP) e os objetivos de aprendizagem realiza-se da seguinte forma: CP1 – que fazem uma introdução ao conceito de informação sistemas de transmissão. CP2 – por apresentar as principais técnicas de compressão. CP3 – por apresentar os principais códigos de correção de erros (CCEs). CP4 - por apresentar as principais técnicas de descodificação de CCEs. CP5 - referente a descodificação universal para códigos de baixa latência. CP6- referente a sistemas MIMO. CP7- referente a códigos para canais com rasuras. CP8 - que implicam o conhecimento de “network coding” nas suas várias vertentes. CP9 – por apresentar as técnicas de “physical-layer security” mais relevantes. CP10 – que faz uma introdução a redes quânticas para distribuição de chaves. CP11 – referente à partilha de segredos e técnicas clássicas de criptografia. CP12 – referente ao conhecimento das principais técnicas de criptografia pós-quântica.

Avaliação / Assessment


O estudante poderá optar por uma das seguintes modalidades: A) Avaliação ao longo do semestre: 3 trabalhos (em grupos de 2 estudantes) pesando a média simples dos três trabalhos 40% na nota final (todos com igual peso); mais um teste escrito realizado na 1ª época de exames com peso de 60%. A aprovação dos estudantes através do método de avaliação ao longo do semestre implica uma nota mínima de 8,0 valores no teste. A opção A só é possível na 1ª época de avaliação, de acordo com a regulamentação geral da avaliação no Iscte. B) Avaliação por exame: prova escrita com um peso de 100% a realizar ou na 1ª época de exames, ou na 2ª época de exames, ou na época especial de exames (para os estudantes que a ela têm acesso nos termos dos regulamentos do Iscte).

Metodologias de Ensino / Teaching methodologies


As aulas dividem-se entre aulas de carácter teórico-prático (TP) com exposição de matéria e resolução de problemas, e aulas laboratoriais (PL), que incluem demonstrações computacionais em MATLAB e em outros simuladores que são disponibilizados assim como é fornecido apoio específico a partes dos trabalhos de programação. As aulas desenrolam-se de acordo com as seguintes metodologias de ensino-aprendizagem: - Exposição e discussão. - Resolução de exercícios. - Apresentação de demonstrações computacionais e programação em MATLAB. Para além disso é também necessária a seguinte componente: - Trabalho autónomo do aluno. O aluno deve dedicar de 4 a 6 horas semanais em trabalho autónomo para (i) consulta da bibliografia indicada e revisão da matéria, (ii) resolução de exercícios/problemas e na realização de experiências computacionais com MATLAB ou outra ferramenta computacional usada em demonstrações nas aulas.

Demonstração da coerência das metodologias de ensino e avaliação com os objetivos de aprendizagem da UC / Evidence that the teaching and assessment methodologies are appropriate for the learning outcomes


As metodologias de ensino aplicadas permitem que os estudantes possam atingir os objetivos de aprendizagem (OA). Essa interligação é feita da seguinte forma: - Aulas teórico-práticas (TP): todos os objetivos de aprendizagem (desde o OA1 ao OA12). - Aulas práticas e laboratoriais (PL): são aulas que se focam nos objetivos OA2, OA3, OA4, OA5, OA10 e OA11, correspondendo a compressão de fonte, códigos de correção de erros, partilha de segredos com técnica de Shamir, e criptografia baseada em reticulados. A metodologia de avaliação (quer na opção A com avaliação ao longo do semestre, quer com a opção B de apenas um exam escrito) permite avaliar os estudantes em todos os objetivos de aprendizagem (desde o OA1 ao OA12). O trabalho autónomo dos estudantes abarca todos os objetivos de aprendizagem (desde o OA1 ao OA12).

Observações / Observations


A documentação necessária ao acompanhamento dos conteúdos lecionados na unidade curricular está disponível na plataforma Moodle do ISCTE-IUL, sendo constituída por “slides”, apontamentos, e outros texto de apoio (em Português ou em Inglês), assim como código MATLAB. Os resultados das avaliações serão publicados na mesma plataforma Moodle. A assiduidade não é contabilizada para a avaliação desta disciplina.

Bibliografia Principal / Main Bibliography


- Norman L. Bigs, Codes: An Introduction to Information Communication and Cryptography, Springer 2008 - David J. C MacKay, Information Theory, Inference and Learning Algorithms. Cambridge University Press, 2003. - Susan Loepp, William K. Wootters, Protecting Information: From Classical Error Correction to Quantum Cryptography, Cambridge University Press, 2006. - Daniele Micciancio, Shafi Goldwasser, Complexity of Lattice Problems: A Cryptographic Perspective, Springer, March 2002.

Bibliografia Secundária / Secondary Bibliography


Adicionalmente, recomendam-se os seguintes 9 livros onde alguns dos pontos do programa para clarificar alguns pontos do programa: *Teoria da Informação Clássica: - Stefan M. Moser, Po-Ning Chen, A Student's Guide to Coding and Information Theory, Cambridge University Press, 2012 . - Codificação Robert J. McEliece, The theory of Information and Coding, Cambridge University Press, 2002 - Matthieu Bloch, João Barros, Physical-Layer Security: From Information Theory to Security Engineering, Cambridge University Press, 2011 *Criptografia pós-quântica: - Chris Peikert , A Decade of Lattice Cryptography, Now Publishers, 2016 - D.J. Bernstein; J. Buchmann; E. Dahmen (editores), Post Quantum Cryptography, Springer, 2009. *Informação Quântica: - Michael A. Nielsen, Isaac L. Chuang, Quantum Computation and Quantum Information, Cambridge University Press, 2012 - Gianfranco Cariolaro, Quantum Communications, Springer, 2015 - Daniel A. Lidar, Todd A. Brun, Quantum Error Correction, Cambridge University Press, 2013 - Ivan B. Djordjevic, Quantum Information Processing, Quantum Computing, and Quantum Error Correction: An Engineering Approach, Academic Press 2021.

Data da última atualização / Last Update Date


2024-07-30