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.
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
- Site
- Leitura complementar
- Vídeos
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.