Segundo quadrimestre de 2018

Turma: diurno

Período letivo: de 05/06 a 28/08 de 2018

Horário e salas: 3a 08:00-10:00; 5a 10:00-12:00 (sala 101-0 -- bloco A)

Horário de atendimento: 5a das 14 às 16, na sala 805 do bloco B

Professor: Jerônimo C. Pellegrini

Sala do professor: S 805 (bloco B)

Email do professor: jeronimo.pellegrini ufabc edu br

EXAME: 03/09 (quarta) 14:00

Sala a definir

SUB dia 28 no horário da aula (08:00)

VISTA / REVISÃO da SUB -- mande email marcando horário

VISTA / REVISÃO - -SEGUNDA 27/03

P2 e P3.

De manhã (à tarde estarei cmo a turma de sistemas digitais). Mandem email antes avisando que virão.

Novidades

30/08 -- Finalizada contabilização de listas
29/08 -- Conceitos da SUB e contabilização das listas
24/08 -- Conceitos da P3 disponíveis
15/08 -- Lista 4 disponível
20/07 -- Conceitos da P2 disponíveis
14/07 -- Lista 3 disponível
11/07 -- Nova versão das notas de aula, com descrição melhor do AES
02/07 -- Lista 2 disponível
28/06 -- Conceitos da P1 disponíveis
13/03 -- Lista 1 corrigida (questão 1 estava incompleta)
12/06 -- Lista 1 disponível
29/05 -- Início do curso

Orientações gerais

PERGUNTE! INTERROMPA A AULA E PEÇA QUE EU EXPLIQUE NOVAMENTE! NÃO DEIXE SUAS DÚVIDAS SE ACUMULAREM!

Não creia que poderá sanar as dúvidas uma semana antes da prova! O conteúdo inclui conceitos abstratos e maneiras diferentes de raciocinar. Isto significa que esforço não basta -- você precisa de TEMPO para absorver e digerir as idéias, e tentar condensar esse tempo em uma semana NÃO funciona!

Ementa

Geradores pseudoaleatóreos. Cifras de fluxo. Cifras de bloco simétricas e modos de operação. Resumos criptográficos. Teoria dos Números e criptografia assimétrica. Autenticação de mensagens. Assinaturas digitais. Protocolos criptográficos.

Requisitos

É prudente ter cursado Introdução à Probabilidade e Estatística, Matemática Discreta e Teoria Aritmética dos Números.

Objetivos

A disciplina dá uma visão geral da Criptografia, partindo de seus fundamentos. Esepra-se que o discente desenvolva familiaridade com os conceutos fundamentais (funções de mão única, pseudoaleatoriedade, provas de conhecimento zero) e com as construções básicas da Criptografia (cifras simétricas e assimétricas, resumos, protocolos, etc) e suas propriedades -- e que com isso consiga compreender e elaborar demonstrações simples de segurança.

Avaliação

O conceito final da disciplina poderá ser:

  • F - Reprovado. O aluno deve cursar novamente a disciplina.
  • C - Desempenho mínimo satisfatório, demonstrando capacidade de uso adequado dos conceitos da disciplina, habilidade para enfrentar problemas relativamente simples e prosseguir em estudos avançados.
  • B - Bom desempenho, demonstrando boa capacidade de uso dos conceitos da disciplina.
  • A - Desempenho excepcional, demonstrando excelente compreensão da disciplina e do uso da matéria.

Faremos três avaliações escritas com duas horas de duração: P1, P2 e P3. Cada avaliação vale exatamente 0, 1, 2 ou 3. A nota final é a soma das notas das provas, com mais um ponto para quem fizer as listas de exercícios (direi mais sobre isto depois).

AS AVALIAÇÕES SERÃO REALIZADAS SEM CONSULTA A QUALQUER MATERIAL!

COLA/PLÁGIO RESULTAM EM F NA DISCIPLINA

As notas serão convertidas em conceito de acordo com a seguinte regra: seja n a soma das notas das provas e do ponto de exercícios. Então o conceito final será:

  • n ∈ [0, 5)→F
  • n ∈ [5, 7)→C
  • n ∈ [7, 9)→B
  • n ∈ [9, 10]→A

Datas das avaliações

  • P1: 21/jun
  • P2: 19/jul
  • P3: 23/ago
  • SUB: 28/ago
  • exame: próximo quadrimestre

Prova substitutiva

Somente para os casos previstos em lei e na resolução 181 do CONSEPE!

Caso o aluno perca uma das provas e apresente justificativa, poderá fazer uma substitutiva no final do quadrimestre.

Exame

Para alunos com F (sobre o exame, veja a resolução 182 do CONSEPE). O exame será realizado no próximo quadrimestre.

A nota final será 0.6n + 0.4e, onde n é a nota dos testes e e é a nota do exame.

Exercícios

Conceitos

Aqui

Programa

Este programa está sujeito a mudanças simples. Grandes mudanças não devem acontecer.

  1. Visão geral dos problemas abordados pela Criptografia
  2. Noções de complexidade de algoritmos
  3. Sigilo perfeito e o teorema de Shannon
  4. Funções de mão única
  5. Geradores pseudoaleatóreos e cifras de fluxo
  6. Funções pseudoaleatóreas e cifras de bloco
  7. Noções de Criptanálise
  8. Resumos criptográficos (hashing)
  9. MAC (autenticação de mensagens)
  10. Cifras assimétricas
  11. Assinaturas digitais
  12. Protocolos com dois participantes
  13. Provas de conhecimento zero
  14. Autenticação de entidades (identificação)
  15. Compartilhamento de segredos
  16. Encriptação negável
  17. Votação Eletrônica
  18. Criptografia baseada em Caos

O cronograma é flexível. Andaremos mais rápido ou mais devagar dependendo de como a turma estiver acompanhando.

Bibliografia e exemplos de código

VOCÊ NÃO PRECISA COMPRAR NENHUM DESTES LIVROS! Boa parte deles está disponível na biblioteca; as notas de aula, que seguiremos muito de perto, são livres.

Código

Bibliografia Principal

Usaremos as notas de aula no primeiro link da lista a seguir. Outros livros poderão ser úteis.

  • Notas de Aula
  • Mao, W. Modern Cryptography: theory and practice Prentice Hall, 2004.
  • Stinson, D. Cryptography: theory and practice Chapman&Hall, 2006.
  • Smart,N. Cryptography: an introduction. Mcgraw-Hill, 2004 (mas também disponível livremente -- siga o link no título do livro
  • Talbot, J; Welsh, D. Complexity and Cryptography: an introduction Cambridge University Press, 2006.
  • Katz/Lindell Introduction to Modern Cryptography -- excelente introdução à Cripto Moderna (um pouco pesado) Há uma segunda edição à venda, para quem se interessar.

Bibliografia Secundária

Embora não exista em nossa biblioteca, quem tiver interesse em continuar estudando Criptografia poderá consultar estes livros:

  • Vaudenay, S. A Classical Introduction to Cryptography -- uma abordagem um pouco diferente dos outros; dá mais atenção a criptografia simétrica, por exemplo
  • Ireland e Rosen. A Classical Introduction to Modern Number Theory -- Teoria dos Números, com mais profundidade
  • Catalano. Contemporary Cryptology -- sobre Cripto Moderna
  • Delfs. Introduction to Cryptography: Principles and Applications -- também sobre Cripto Moderna
  • Goldreich Foundations of Cryptography -- 2 volumes; sobre os fundamentos (muito abstrato, denso, pesado -- mas excelente)