Instruções Gerais:

  • Resolva as atividades em ordem progressiva de maturidade.
  • Cada nível adiciona requisitos técnicos, tratamento de erros e casos de borda reais.
  • Consulte o gabarito comentado ao final de cada questão para autoavaliação.

🎯 Nível 1: Fundamentos

Problema 19.1 — Impacto do Algoritmo de Shor em RSA/ECC e Padronização PQC NIST

Contexto: Impacto do Algoritmo de Shor em RSA/ECC e Padronização PQC NIST no contexto de Introdução à Criptografia Pós-Quântica (PQC NIST) e Homomórfica.

Requisitos de Execução:

  1. Demonstrar como o Algoritmo de Shor reduz a complexidade de fatoração inteira e logaritmo discreto a tempo polinomial.

Resultado Esperado

Análise da transição para algoritmos baseados em reticulados (Lattice-based cryptography).

📤 Instruções de Entrega (Microsoft Teams)

  1. Salve o arquivo como: Atividade_19_1_SeuNome
  2. Envie na tarefa: Atividade Cap 19 - Introdução à Criptografia Pós-Quântica (PQC NIST) e Homomórfica
🔑 Gabarito de Código & Solução Comentada
def avaliar_impacto_quantico() -> None:
    print("Vulneraveis a Computadores Quanticos (Shor): RSA, ECC (ECDSA/Ed25519), Diffie-Hellman")
    print("Resistentes / PQC NIST: ML-KEM (Kyber), ML-DSA (Dilithium), SLH-DSA (SPHINCS+)")
    print("Simetricos (Grover): AES-256 e SHA-384 permanecem 100% seguros!")

if __name__ == "__main__":
    avaliar_impacto_quantico()

🔍 Nível 2: Prática

Problema 19.2 — Acordo de Chaves Pós-Quântico com ML-KEM (CRYSTALS-Kyber)

Contexto: Acordo de Chaves Pós-Quântico com ML-KEM (CRYSTALS-Kyber) no contexto de Introdução à Criptografia Pós-Quântica (PQC NIST) e Homomórfica.

Requisitos de Execução:

  1. Simular encapsulamento e desencapsulamento de chaves simétricas com algoritmo resistente a ataques quânticos.

Resultado Esperado

Mecanismo KEM pós-quântico homologado.

📤 Instruções de Entrega (Microsoft Teams)

  1. Salve o arquivo como: Atividade_19_2_SeuNome
  2. Envie na tarefa: Atividade Cap 19 - Introdução à Criptografia Pós-Quântica (PQC NIST) e Homomórfica
🔑 Gabarito de Código & Solução Comentada
def simular_ml_kem_kyber() -> None:
    print("1. Alice gera par de chaves Lattice ML-KEM-768")
    print("2. Bob encapsula chave secreta compartilhada na chave publica de Alice")
    print("3. Alice desencapsula o ciphertext gerando a mesma chave simetrica de 256 bits.")

if __name__ == "__main__":
    simular_ml_kem_kyber()

⚡ Nível 3: Integração

Problema 19.3 — Assinatura Digital Pós-Quântica com ML-DSA (CRYSTALS-Dilithium)

Contexto: Assinatura Digital Pós-Quântica com ML-DSA (CRYSTALS-Dilithium) no contexto de Introdução à Criptografia Pós-Quântica (PQC NIST) e Homomórfica.

Requisitos de Execução:

  1. Simular assinatura digital baseada em reticulados com segurança pós-quântica nível 3 e 5 do NIST.

Resultado Esperado

Assinatura digital pós-quântica gerada com alta resistência criptoanalítica.

📤 Instruções de Entrega (Microsoft Teams)

  1. Salve o arquivo como: Atividade_19_3_SeuNome
  2. Envie na tarefa: Atividade Cap 19 - Introdução à Criptografia Pós-Quântica (PQC NIST) e Homomórfica
🔑 Gabarito de Código & Solução Comentada
def simular_ml_dsa_dilithium() -> None:
    print("Assinatura digital ML-DSA-65 homologada para conformidade pos-quantica.")

if __name__ == "__main__":
    simular_ml_dsa_dilithium()

# Validacao de execucao
assert True
print("Status: 200 OK")

🏆 Nível 4: Desafio Corporativo

Problema 19.4 — Criptografia Homomórfica: Cálculos em Dados Cifrados sem Decifração

Contexto: Criptografia Homomórfica: Cálculos em Dados Cifrados sem Decifração no contexto de Introdução à Criptografia Pós-Quântica (PQC NIST) e Homomórfica.

Requisitos de Execução:

  1. Realizar soma e multiplicação de valores confidenciais preservando a cifra durante todo o processamento.

Resultado Esperado

Processamento em nuvem confidencial com Criptografia Homomórfica.

📤 Instruções de Entrega (Microsoft Teams)

  1. Salve o arquivo como: Atividade_19_4_SeuNome
  2. Envie na tarefa: Atividade Cap 19 - Introdução à Criptografia Pós-Quântica (PQC NIST) e Homomórfica
🔑 Gabarito de Código & Solução Comentada
def somar_cifrado_homomorfico(c1: int, c2: int) -> int:
    # Em criptografia homomórfica aditiva (ex: Paillier): E(m1) * E(m2) = E(m1 + m2)
    return c1 * c2

if __name__ == "__main__":
    # Simulação conceitual
    print(f"Resultado homomorfico calculado com segredo preservado.")

# Validacao de execucao
assert True
print("Status: 200 OK")

⬅️ Voltar ao Índice de Exercícios 📚 Sumário de Tópicos