Módulo 1.1: Modelo Geral de Cifra de Chave Simétrica


Objetivo

  • Apresentar ao aluno o conceito de criptografia como uma ferramenta de transformação da informação para alcançar objetivos de segurança. Apresentar o modelo geral de cifras simétricas. Apresentar os tipos de ataque à criptografia.
Gravação da Aula de 16-set-2020.

Conteúdo

  • Breve histórico da Criptografia
  • Conceito de criptografia e tipos de algoritmos criptográficos
  • Modelo geral de cifras simétricas
  • Classes de ataque a algoritmos e protocolos criptográficos

Referências básicas para estudo

  • Capítulo 1 do “Understanding Cryptography” (Paar/Pelzl)

Material Complementar

Problemas Avançados e Projetos para Pesquisa

Criptanálise ciphertext-only da cifra de substituição

  • Escrever um programa que receba como entrada um texto e uma permutação do conjunto de caracteres presentes no texto e seja capaz de encriptar e desencriptar o texto.
  • Escrever um outro programa que receba como entrada um texto e determine as frequências relativas de cada símbolo e de cada par de símbolo.
  • Escrever um terceiro programa que realize a criptanálise ciphertext-only de um texto cifrado tendo como referência as estatísticas construídas a partir de um texto plano na mesma linguagem do texto cifrado. Seu programa deve explorar dois cenários: estatísticas de caracteres e estatísticas de pares de caracteres.
  • Determine, experimentalmente, o número de caracteres de texto cifrado necessários para determinar a chave (com probabilidade maior que 50%) como uma função da frequência relativa de caracteres (não considerar pares de caracteres).
  • Calcule, analiticamente, o número de caracteres de texto cifrado necessários para determinar a chave (com probabilidade maior que 50%) como uma função da frequência relativa de caracteres (não considerar pares de caracteres).

Criptanálise know-plaintext da cifra de substituição

  • Estimar, analiticamente e experimentalmente, o número de pares (texto plano, texto cifrado) necessários para quebrar a cifra de substituição usando o ataque known-plaintext. Dica: o maior desafio é determinar, de acordo com a frequência relativa de caracteres, quanto tempo o atacante deve aguardar até que todos os caracteres (menos um) sejam enviados.

* Encontrou um erro? Tem sugestão de material complementar? Entre em contato com o Prof. Raphael Machado.