Skip to content
#software testing Open access

Métodos Formais Aplicados à Assurance Criptográfica

Sep 2026 · Zenodo (CERN European Organization for Nuclear Research)
Cryptography and Residue Arithmetic

Abstract

Este whitepaper apresenta um estudo de caso aplicado sobre o uso de métodos formais e técnicas de formal assurance na análise de uma implementação de criptografia baseada em curvas elípticas. O trabalho foi conduzido no contexto de uma simulação de consultoria técnica independente, com foco na identificação de violações de propriedades matemáticas e de requisitos de segurança em operações de Elliptic Curve Cryptography (ECC) e Elliptic Curve Diffie-Hellman (ECDH). A abordagem adotada combina especificação matemática de propriedades, definição de invariantes, análise de pré-condições e pós-condições, verificação diferencial, exploração exaustiva de espaços de estados reduzidos e construção sistemática de contraexemplos. Em vez de depender exclusivamente de testes tradicionais ou fuzzing, o estudo parte das propriedades que a implementação deveria satisfazer e verifica se o comportamento concreto do software é compatível com essas propriedades. Entre os resultados apresentados estão a aceitação de parâmetros de curva incompatíveis com as premissas algébricas esperadas para ECC, violações da propriedade de fechamento da lei de grupo em domínios aceitos pela API, ausência de vinculação adequada entre chaves públicas ECDH recebidas e os parâmetros de domínio configurados localmente, aceitação do ponto identidade e de pontos fora da curva, além da influência de parâmetros fornecidos pelo peer sobre o processamento do escalar privado. O estudo também demonstra, em ambiente controlado, um cenário de confinamento em subgrupo pequeno no qual o segredo efetivo passa a depender do valor da chave privada módulo uma ordem controlada externamente. Com a introdução de um oráculo de confirmação simulado, foi possível recuperar corretamente informação parcial sobre o segredo privado, ilustrando como uma falha de validação matemática pode evoluir para uma consequência criptográfica observável quando integrada a determinados protocolos de aplicação. O documento apresenta código, provas de conceito, resultados experimentais, propriedades formais, contraexemplos, classificação de severidade e recomendações de mitigação. Também discute uma armadilha relevante em validações de pertencimento a subgrupo: a reutilização de uma função de multiplicação escalar que reduz previamente o escalar módulo a ordem da curva pode transformar uma verificação aparentemente válida em uma propriedade verdadeira por construção. Os resultados não são apresentados como uma prova formal mecanizada completa, nem como demonstração de recuperação integral de chave privada ou exploração remota de um sistema de produção. O objetivo é mostrar, de forma reproduzível, como técnicas inspiradas em métodos formais podem complementar revisões de código, testes de segurança e auditorias criptográficas, permitindo identificar falhas que decorrem da violação de propriedades matemáticas fundamentais. O trabalho faz parte da linha de pesquisa e serviços de Formal Methods, Cryptographic Assurance e Security Research da FikreSekhel.

View source

Similar papers

#computer vision Review Sep 2017

Agile Software Development Methods: Review and Analysis

This publication proposes a definition and a classification of agile software development approaches and analyses ten software development methods that can be characterized as being "agile" against the defined criterion.

P. Abrahamsson, O. Salo, Jussi Ronkainen et al. · 727 citations · ⚡54
#computer vision Jun 2008

The impact of agile practices on communication in software development

The study shows that agile practices improve both informal and formal communication, but indicates that, in larger development situations involving multiple external stakeholders, a mismatch of adequate communication mechanisms can sometimes even hinder the communication.

M. Pikkarainen, Jukka Haikara, O. Salo et al. · 401 citations · ⚡48
#machine learning Review Open access Oct 2014

Software development in startup companies: A systematic mapping study

The results indicate that software engineering work practices are chosen opportunistically, adapted and configured to provide value under the constrains imposed by the startup context.

Nicolò Paternoster, Carmine Giardino, M. Unterkalmsteiner et al. · 394 citations · ⚡54
#computer vision Review Mar 2008

Agile methods in European embedded software development organisations: a survey on the actual use and usefulness of Extreme Programming and Scrum

The results show that the embedded industry has been able to apply agile methods in its development processes and that the appreciation of the agile methods and their individual practices appears to increase once adopted and applied in practice.

O. Salo, P. Abrahamsson · 238 citations · ⚡9
#computer vision Open access Jul 2017

What happens when software developers are (un)happy

Consequences of happiness and unhappiness that are beneficial and detrimental for developers' mental well-being, the software development process, and the produced artifacts are found.

D. Graziotin, Fabian Fagerholm, Xiaofeng Wang et al. · 236 citations · ⚡13
#computer vision Open access Oct 2004

Mobile-D: an agile approach for mobile application development

The Mobile-D approach is briefly outlined here and the experiences gained from four case studies are discussed, which helped develop an agile development approach for mobile application development.

P. Abrahamsson, Antti Hanhineva, H. Hulkko et al. · 225 citations · ⚡18

Related blog posts

MIT News · Artificial Intelligence Oct 2, 2026

Documenting the tech worker movement

Writing as a participant and researcher, PhD student JS Tan SM ’22 has co-authored a new book about the rise of tech worker protests and the employer backlash that followed.

GPT-Lab Sep 23, 2026

Requirements Don’t Live in Isolation: What We’re Exploring with Req-Space

Requirements in large systems rarely exist in isolation. Their meaning depends on the wider project context - other requirements, policies, decisions, tests, and implementation details. That becomes especially important when AI is used for review, because spotting a possible conflict or gap is only the beginning. ReqSpace explores how AI, visualisation, and connected project context can help reviewers understand those findings, trace the relationships behind them, and focus on the questions that…

GPT-Lab Sep 17, 2026

Beyond Prompt Engineering: The Role of Tacit Knowledge in Software Engineering

AI is making software generation faster, but speed does not remove the need for expertise. As more work is delegated to AI, tacit knowledge may become one of the most important human advantages in software engineering. The post Beyond Prompt Engineering: The Role of Tacit Knowledge in Software Engineering appeared first on GPT-Lab.

We use cookies to run the site and, with your consent, for analytics and to show ads. See our Cookie Policy.