# Criptografia: Conceitos Básicos a Avançados

## Conceitos Básicos de Criptografia

### 1. Terminologia
- **Texto simples**: Mensagem original legível
- **Texto cifrado**: Mensagem criptografada
- **Criptografia**: Processo de converter texto simples em texto cifrado
- **Descriptografia**: Processo de converter texto cifrado de volta em texto simples
- **Chave**: Valor secreto usado para criptografar/descriptografar mensagens

### 2. Cifras Clássicas
- **Cifra de César**: Desloca letras por um número fixo
- **Cifra de Substituição**: Substitui cada letra por outra
- **Cifra de Vigenère**: Usa palavra-chave para substituição polialfabética

### 3. Criptografia Simétrica
- **Chave única** para criptografia e descriptografia
- Exemplos: AES (Padrão de Criptografia Avançada), DES, 3DES
- Rápido, mas requer troca segura de chaves

## Conceitos Intermediários

### 1. Criptografia Assimétrica
- **Pares de chaves pública/privada**
- A chave pública criptografa, a chave privada descriptografa (ou vice-versa)
- Exemplos: RSA, ECC (Criptografia de Curva Elíptica)
- Resolve o problema de distribuição de chaves

### 2. Funções de Hash
- Funções unidirecionais que produzem saída de tamanho fixo
- Exemplos: SHA-256, MD5 (inseguro), SHA-3
- Usadas para integridade de dados, armazenamento de senhas

### 3. Assinaturas Digitais
- Prova de autenticidade e integridade das mensagens
- Criadas criptografando o hash com a chave privada
- Verificadas com a chave pública

## Criptografia Avançada

### 1. Protocolos Criptográficos
- **SSL/TLS**: Comunicações web seguras
- **PGP/GPG**: Criptografia de e-mail
- **SSH**: Acesso remoto seguro

### 2. Algoritmos Modernos
- **Criptografia pós-quântica**: Resistente a computadores quânticos (baseada em rede, baseada em hash)
- **Criptografia homomórfica**: Cálculo em dados criptografados
- **Provas de conhecimento zero**: Provar conhecimento sem revelar informações

### 3. Criptoanálise
- Técnicas para quebrar sistemas criptográficos
- Ataques de canal lateral
- Criptoanálise diferencial/linear
- Ataques de aniversário em funções de hash

### 4. Gerenciamento de Chaves
- Funções de derivação de chave (PBKDF2, bcrypt, scrypt)
- Módulos de Segurança de Hardware (HSMs)
- Políticas de rotação de chaves