Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adicionar Testes de Benchmark para Algoritmos Criptográficos Híbridos #70928

Conversation

gabrielzschmitz
Copy link

Visão Geral

Este pull request introduz testes de benchmark abrangentes para algoritmos criptográficos híbridos, atendendo aos requisitos descritos em [#6]. Esses benchmarks avaliam o desempenho de três operações principais—Geração de Chaves (Key Generation), Assinatura (Signing) e Verificação (Verification)—com base em métricas críticas de desempenho. Os resultados permitem comparar a eficiência e a escalabilidade dos algoritmos.


Funcionalidades Implementadas

  1. Testes de Benchmark para Algoritmos Híbridos

    • Algoritmos Abrangidos:
      • MAYO1_ED25519
      • MAYO2_ED25519
      • MAYO3_ED25519
      • MAYO5_ED25519
      • CROSS_128_SMALL_ED25519
      • CROSS_128_FAST_ED25519
      • CROSS_192_SMALL_ED25519
      • CROSS_256_SMALL_ED25519
      • ML_DSA_44_P256
      • ML_DSA_65_P384
      • ML_DSA_87_P521
      • ML_DSA_65_ED25519
  2. Métricas de Desempenho Medidas

    • Iterações: Operações bem-sucedidas realizadas durante a duração do teste.
    • Ciclos de CPU: Média de ciclos de CPU consumidos por operação.
    • Tempo de Execução: Tempo médio gasto por operação em microssegundos.
    • Operações Por Segundo (Ops/s): Número de operações realizadas por segundo.
  3. Duração Configurável do Teste

    • Adicionada a flag -duration para definir a duração do teste dinamicamente.
    • Duração padrão: 3s.
  4. Saída Estruturada

    • Logs detalhados para cada algoritmo e operação.
    • Formato consistente e legível para facilitar a análise.

Como Testar

  1. Executar os Testes:

    • Use a flag -duration para especificar a duração (opcional).
      go test -v ./src/crypto/hybrid -duration=5s
    • Exemplo de saída:
      TESTANDO KEYGEN - Algoritmo: MAYO1_ED25519 | Iterações: 1500 | Média de Ciclos de CPU: 4200 | Tempo Médio: 240 µs | Operações/S: 300.0 s
      
  2. Verificar Consistência da Saída:

    • Certifique-se de que os logs forneçam métricas para KeyGen, Sign e Verify para todos os algoritmos.
    • Confirme que o formato da saída seja consistente em todos os testes.

Closes #6

Implemented benchmark tests for hybrid cryptographic algorithms to evaluate
the performance of Key Generation, Signing, and Verification operations.
The tests include metrics such as CPU cycles, execution time, iterations,
and operations per second for the following algorithms:

- MAYO1_ED25519
- MAYO2_ED25519
- MAYO3_ED25519
- MAYO5_ED25519
- CROSS_128_SMALL_ED25519
- CROSS_128_FAST_ED25519
- CROSS_192_SMALL_ED25519
- CROSS_256_SMALL_ED25519
- ML_DSA_44_P256
- ML_DSA_65_P384
- ML_DSA_87_P521
- ML_DSA_65_ED25519

The test duration is configurable using the `-duration` CLI flag.
Results are logged for easier analysis of each algorithm's performance.
Copy link

google-cla bot commented Dec 19, 2024

Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

View this failed invocation of the CLA check for more information.

For the most up to date status, view the checks section at the bottom of the pull request.

@gabrielzschmitz gabrielzschmitz deleted the criar-benchmark-para-os-algoritmos-hibridos-#6 branch December 19, 2024 15:16
@gabrielzschmitz gabrielzschmitz restored the criar-benchmark-para-os-algoritmos-hibridos-#6 branch December 19, 2024 15:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

all.bash segfault
1 participant