Este livro aborda o estudo de sistemas criptográficos, com a apresentação dos conceitos fundamentais e numerosos exemplos. O livro recolhe a experiência dos autores, lecionando há mais de 10 anos no ensino superior na matemática e em particular na área de criptologia. Procura-se com este livro explicar a teoria e os métodos aplicados na criptografia moderna.
Introdução
Agradecimentos
1. Preliminares
1.1. Vocabulário
1.2. História
2. Complexidade
2.1. Estimativas de tempo
2.2. P versus NP
3. Criptografia Simétrica
3.1. Introdução
3.1.1. Criptosistema
3.1.2. Criptoanálise clássica
3.2. Cifra de Substituição
3.2.1. Criptoanálise da Cifra de Substituição
3.2.2. Exemplo ilustrativo
3.3. Cifra de Deslocamento
3.4. O algoritmo de Euclides e inversos mod n
3.5. Teorema Fundamental da Aritmética
3.6. Cifra Afim
3.7. Criptoanálise da Cifra Afim
3.8. Cifra de Vigenère
3.8.1. Criptoanálise da cifra de Vigenère
3.9. Cifra de Hill
3.9.1. Ataque à cifra de Hill
3.10. Cifra de Permutação
3.11. Cifras de Fluxo
3.11.1. Cifra de Fluxo baseada no LFSR
3.11.2. Criptoanálise da cifra de fuxo baseada no LFSR
4. Criptografia de chave pública
4.1. Resultados de Teoria dos Números
4.1.1. Teorema Chinês dos Restos
4.1.2. Função f de Euler
4.1.3. Lagrange, Euler e Fermat
4.1.4. Raízes primitivas
4.1.5. Exponenciação modular rápida
4.2. RSA
4.3. Ataques de implementação do RSA
4.3.1. Ataque da procura exaustiva
4.3.2. Ataque do módulo comum
4.3.3. Ataque do ponto fixo
4.3.4. Expoente público pequeno
4.4. Resíduos quadráticos
4.5. Algoritmo de Tonelli-Shanks
4.6. Cifra de Rabin
4.7. Protocolo Diffie-Hellman
4.7.1. Problema do logaritmo discreto
4.7.2. O protocolo
4.7.3. Ataque do homem no meio
4.8. Sistema ElGamal
4.8.1. Ataque da repetição da chave efémera
4.9. Sistema Merkle-Hellman
4.9.1. Problem saco-mochila
4.9.2. O criptosistema Merkle-Hellman
5. Primalidade
5.1. Teste de Fermat
5.2. Teste de Miller-Rabin
5.3. Teste de Solovay-Strassen
5.4. Teste n – 1 de Lucas
6. Fatorização
6.1. Introdução
6.2. Método p – 1 de Pollard
6.3. Método ró de Pollard
6.4. Fatorização de Fermat
6.4.1. Método de Lehman
6.5. Crivo quadrático
6.5.1. Crivo quadrático com um primo grande
7. Logaritmo Discreto
7.1. Enumeração
7.2. Algoritmo passos de bebé passos de gigante
7.3. Cálculo de Índices
8. Assinaturas digitais
8.1. Introdução
8.2. Assinatura RSA
8.3. Assinatura ElGamal
8.3.1. Forjar assinaturas ElGamal
8.3.2. Falhas de protocolo
8.4. DSS
9. Funções de Síntese
9.1. Colisões
9.2. Ataque do Aniversário
9.3. Funções de síntese seguras
9.3.1. Chaum-van Heijst-Pfitzmann
9.3.2. VSH
10. Soluções e programas de MAPLE
10.1. Programas de Maple
10.1.1. Contar Frequências
10.1.2. IndiceCoincidencia
10.1.3. Para Vigenère
Paulo J. Almeida
Professor Auxiliar no Departamento de Matemática da Universidade de Aveiro, Portugal. Fez o doutoramento na University of Georgia, nos Estados Unidos da América em 2004, na área de teoria dos números e realizou pós-doutoramento em Oxford, Reino Unido. O Prof. Almeida leciona as unidades curriculares Criptografia e Segurança e Teoria dos Números e Aplicações há mais de dez anos e é autor de várias publicações em revistas nternacionais. Os seus interesses científicos atuais são nas áreas da teoria de números, álgebra, teoria dos códigos e criptografia.
Diego Napp
Investigador no Departamento de Matemática da Universidade de Aveiro, Portugal. Fez o doutoramento na Universidade de Groningen, na Holanda no 2008 nas área de teoria de sistemas e álgebra comutativa. Realizou pós-doutoramentos em Portugal (Aveiro e Porto) e Espanha (Valladolid e Castellón). O Prof. Napp é autor de mais de 30 publicações em revistas internacionais e tem dado cursos e conferencias em mais de 20 países. Os seus interesses científicos são nas áreas da teoria de sistemas, álgebra, teoria dos códigos e criptografia. Leciona atualmente a unidade curricular Criptografia e Segurança na Universidade de Aveiro.