(17/10/2018) Revistos
critérios de avaliação.
(5/9/2013) Publicada a primeira lista de exercícios. Veja na
seção de material didático.
(27/8) Mudança da sala de aula: da 351 para a 353 no IC-4.
(26/8) Postados slides para as aulas de 27/8 e para as aulas anteriores (13 a 24/8). Veja
seção de material didático.
(13/8) Veja slides da primeira aula na seção
Material Didático.
(2/8) Sala de aula alterada de CB-18 para CC51 (sala 351 do IC-3).
(1/8)
Material de leitura será indicado no diário de aulas, ainda nesta
semana, já que não teremos aulas na próxima semana em virtude da Secomp.
(30/7) Página da disciplina entrou no ar
- Aulas às segundas e quartas, 14-16h, sala CB-18 CC51 (sala 351 do IC-3). Alterada em 2/8. CC53 (sala 353 do IC-3). Alterada em 22/8.
- Local e horário de atendimento
do professor: IC-1, sala 28, em horário a ser definido.
O programa desta
disciplina cobre os algoritmos necessários à implementação da maioria
dos sistemas criptográficos modernos. Tais algoritmos estão presentes
nas funções de encriptação/decriptação, acordos de chaves, resumos
(hash) criptográficos, geração de sequências pseudo-aleatórias de bits, entre outras.
Duas vertentes de algoritmos serão exploradas: (i) a dos não-resistentes a
ataques (por algoritmos) quânticos, baseados predominantemente na
Teoria dos Números e (ii) a dos resistentes até aqui a ataques quânticos, baseados
na Teoria dos Reticulados, Teoria dos Códigos, e técnicas ad-hoc como é
o caso dos algoritmos simétricos e de resumo. Algoritmos básicos,
intermediários e avançados serão estudados, de forma que muito poucas
noções de Criptografia serão necessárias, sendo mais desejável que o
aluno tenha bons conhecimentos de Álgebra Linear e Análise de
Algoritmos e Estatística e Probabilidade. É necessário que o
aluno tenha também alguma prática de programação em Linguagem C, que
será usada na confecção do trabalho prático que fará parte da
avaliação.
- Breve introdução à Criptografia moderna.
- Algoritmos e criptossistemas baseados em Teoria dos Números
- Algoritmos básicos: aritmética básica de precisão arbitrária,
aritmética modular, máximo divisor comum, resolução de congruências.
- Algoritmos intermediários: testes de primalidade, fatoração,
logaritmo discreto, aritmética de corpos finitos, aritmética em curvas
elípticas.
- Algoritmos avançados: emparelhamentos bilineares, teste de primalidade.
- Algoritmos baseados em Teoria dos Reticulados
- Amostragem de vetores
- Algoritmos para redução de base - LLL
- Algoritmos para operações da Álgebra Linear
- Algoritmos baseados em Teoria dos Códigos
- Algoritmos baseados em técnicas adhoc para encriptação simétrica
- Algoritmos baseados em técnicas adhoc para resumo (hash) criptográfico
(1/8) Breve introdução ao curso.
(6/8 e 8/8) Não haverá aula em virtude da Secomp.
(13/8) Visão geral da Criptografia moderna - I
(15/8) Não houve aula.
(20/8) Visão geral da Criptografia moderna - II
(22/8) Visão geral da Criptografia moderna - III
(27/8) Conceitos e algortimos básicos da Teoria dos Números - I. Referência: Cap. 1 da Referência 1
An Introduction to Mathematical Cryptography.
(27/8-26/9) Fatoração de inteiros, Logaritmos discretos e Curvas Elípticas. Detalhamento a ser completado.
(1/9) Criptografia de curvas elípticas.
Incluiremos aqui materiais adicionais como transparências, artigos, trechos
de livros, etc. Os enunciados dos trabalhos também serão colocados aqui.
Algumas referências importantes para o material discutido nesta disciplina são:
- An Introduction to Mathematical Cryptography. Series: Undergraduate Texts in Mathematics. J. Hoffstein, J. Pipher, J.H. Silverman. Springer.
- Introduction to Cryptography with Coding Theory. W. Trappe, L. Washington. Pearson.
- Understanding Cryptography. C. Paar, J. Pelzl, Springer.
- Introduction to Cryptography. J.A. Buchmann, Springer.
- Handbook of Applied Cryptography. A. Menezes, P. v. Oorschot, S. Vanstone. Disponível em http://www.cacr.math.uwaterloo.ca/hac/
- A Computational Introduction to Number Theory and Algebra. V. Shoup. Disponível em http://shoup.net/ntb/
- Cryptography: Theory and Practice. D. Stinson. Ed. Chapman & Hall/CRC, 3a. edição.
- Guide to Elliptic Curve Cryptography. D. Hankerson, A. Menezes, S. Vanstone. Springer.
- Post-Quantum Cryptography.
D.J. Bernstein; J.A. Buchmann; E. Dahmen (Eds.).
(revisto em 17/10/2018) A avaliação será baseada em um
trabalho final, envolvendo o estudo aprofundado de um algoritmo
criptográfico. A avaliação desse trabalho será baseada na qualidade do
texto, e de uma implementação do algoritmo. O trabalho será individual e à sua nota corresponderá a nota final.
Os intervalos de notas que serão usados na conversão para conceitos, no caso de alunos de
pós-graduação, são:
- A: [9, 10.0]; B: [7, 8.9]; C: [5.0, 6.9]; D: [0, 4.9].
A avaliação será baseada em uma prova e um
trabalho final, envolvendo o estudo aprofundado de um algoritmo
criptográfico. A avaliação desse trabalho será baseada na qualidade do
texto, de uma implementação do algoritmo e de uma apresentação oral do
trabalho. Detalhes e data de entrega do trabalho serão
divulgados em setembro e as apresentações se darão no mês de novembro.
O trabalho poderá ou não ser feito em grupos, dependendo do número de
alunos matriculados no curso.
O critério de avaliação será o seguinte:
- Os pesos das notas da prova e do trabalho serão iguais.
- A média dessas duas notas, MA, será a sua média aritmética simples.
- Se MA >= 5.0, então o aluno estará aprovado; caso contrário, estará reprovado. Em ambos os casos, a média final será MA.
Todas as notas serão arredondadas para uma casa decimal.
Os intervalos de notas que serão usados na conversão para conceitos, no caso de alunos de
pós-graduação, são:
- A: [9, 10.0]; B: [7, 8.9]; C: [5.0, 6.9]; D: [0, 4.9].
- Prova: 14 de novembro (quarta-feira)
- Trabalho:
- Texto: a definir
- Implementação: a definir
- Apresentação oral: a definir
- Texto e implementação: 10/12/2018 (revisto em 17/10/2018)