Módulo 1.2: Cifras de Stream, Aleatoriedade, LFSR

Objetivo

  • Apresentar ao aluno os modelos e algoritmos mais simples para a construção de cifras, a saber, as cifras de stream. Discutir o conceito de aleatoriedade, apresentar possíveis definições e mostrar como a aleatoriedade se relaciona com os modelos de cifras de stream. Apresentar o LFSR como um bloco básico para a construção de cifras de stream.
Aula de 16-set-2020: Cifras de Stream, Parte 1.
Aula de 21-set-2020: Cifras de Stream, Parte 2.

Conteúdo

  • Cifras de stream e comparação com cifras de bloco
  • Cifras de stream síncronas e assíncronas
  • Conceito de aleatoriedade e tipos de aleatoriedade
  • One-time pad
  • LFSR
  • Trivium

Referências básicas para estudo

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

Material Complementar

Problemas e Projetos para Pesquisa

  • Escrever programa que implemente uma estrutura de LFSR e permita visualizar a “dinâmica” de mudança de estados. Seu programa deve permitir que se combine diversos LFSRs para construir cifras mais sofisticadas, tais como o Trivium.
  • Usar ferramentas de teste de aleatoriedade (TestU01, PractRand, gjrand, NIST Suite) para analisar e comparar a qualidade da aleatoriedade produzida por três fontes à escolha.

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