CI095


Introdução a Criptografia

fundamentos e algoritmos

2º semestre de 2007

salas:

PG12 na 4ª 13:30-15:10
PD04 na 6ª 13:30-15:10


notas de aula
O objetivo é mostrar os fundamentos da criptografia de chave pública. Espera-se que o aluno entenda os princípios matemáticos que tornam a criptografia possível do ponto de vista computacional.
Esse é um curso sobre algoritmos, teoria dos números e teoria de computação com ênfase em definições formais e provas.
Sumário:      Conteúdo -- Bibliografia -- Avaliação -- Listas de exercícios -- Programa -- Calendário -- notas -- Links

Conteúdo:

  1. Teoria dos números e algoritmos em teoria dos números.
  2. Criptografias simétrica e, principalmente, assimétrica e Assinaturas digitais.

Pré-requisito: CI065,CI059

Carga horária: 60 Créditos: 4 Responsável: Jair.

Bibliografia

  1. Introduction to Algorithms, Cormen, Leiserson, Rivest e Stein. (Biblioteca) - Capítulo 31.
  2. Lecture Notes in Cryptography, Goldwasser e Bellare.
  3. Números inteiros e criptografia RSA, S.C. Coutinho. Série computação e matemática IMPA/SBM.
  4. A Computational Introduction to Number Theory and Algebra, Victor Shoup.
  5. Bibliografia complementar

  6. Números : uma introdução a matemática, César Polcino Milies, Sonia P. Coelho. (Biblioteca).
  7. Primos de Mersenne (e outros primos muito grandes), Carlos Gustavo T. A. Moreira, Nicolau C. Saldanha. Texto do 22º Colóquio Brasileiro de Matemática, IMPA, 1999.
  8. Matemática concreta: fundamentos para a ciência da computação, Ronald L. Graham, Donald E. Knuth, Oren Patashnik (Biblioteca) - Capítulos 3, 4 e 8.
  9. Concrete mathematics: a foundation for computer science, Ronald L. Graham, Donald E. Knuth, Oren Patashnik. (Biblioteca) - Capítulos 3, 4 e 8.

Documentos na web

Avaliação

São 2 provas e 1 prova final. A média final para aprovação é 50 porém alunos com desempenho muito superior a média (leia-se média ponderada das provas e dos trabalhos deve ser pelo menos 70) são dispensados da prova final.

Listas de exercícios

Calendário

 


Programação das aulas:
aula 01 - Apresentação. Inteiros, representação e custo logaritmico. 
aula 02 - Divisibilidade. 
aula 03 - MDC. 
aula 04 - Algoritmo de Euclides e Algoritmo de Euclides estendido. 
aula 05 - Nos. primos, fatoração em primos. 
aula 06 - Aritmética Modular. 
aula 07 - Exponenciação Modular
aula 08 - Equações modulares.
aula 09 - Teorema chinês do resto. 
aula 10 - prova 1.
aula 11 - Inteiros módulo n.
aula 12 - Invertíveis módulo n.
aula 13 - Polinômios. 
aula 14 - Grupos. 
aula 15 - Grupos-computação de ordem de elementos. 
aula 16 - Raízes primitivas. 
aula 17 - Logaritmo discreto. 
aula 18 - Codificação criptografica. Cifras afim.
aula 19 - one-time-pad, cifras de Vernam. Sigilo perfeito.
aula 20 - RSA.
aula 21 - Rabin.  
aula 22 - El Gamal.
aula 23 - Assinaturas Digitais. 
aula 24 - Teste de Fermat.
aula 25 - Teste de Miller-Rabin. 
aula 26 - Teste de Lucas-Lehmer e de Lucas. 
aula 27 - Geradores de números aleatórios.
aula 28 - AKS
aula 29 - AKS
aula 30 - prova 2.


links: