Automated Verification of Correctness for Masked Arithmetic Programs

05/26/2023
by   Mingyang Liu, et al.
0

Masking is a widely-used effective countermeasure against power side-channel attacks for implementing cryptographic algorithms. Surprisingly, few formal verification techniques have addressed a fundamental question, i.e., whether the masked program and the original (unmasked) cryptographic algorithm are functional equivalent. In this paper, we study this problem for masked arithmetic programs over Galois fields of characteristic 2. We propose an automated approach based on term rewriting, aided by random testing and SMT solving. The overall approach is sound, and complete under certain conditions which do meet in practice. We implement the approach as a new tool FISCHER and carry out extensive experiments on various benchmarks. The results confirm the effectiveness, efficiency and scalability of our approach. Almost all the benchmarks can be proved for the first time by the term rewriting system solely. In particular, FISCHER detects a new flaw in a masked implementation published in EUROCRYPT 2017.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
01/28/2019

Quantitative Verification of Masked Arithmetic Programs against Side-Channel Attacks

Power side-channel attacks, which can deduce secret data via statistical...
research
06/16/2020

A Hybrid Approach to Formal Verification of Higher-Order Masked Arithmetic Programs

Side-channel attacks, which are capable of breaking secrecy via side-cha...
research
07/02/2023

SAT-based Formal Fault-Resistance Verification of Cryptographic Circuits

Fault injection attacks represent a type of active, physical attack agai...
research
08/17/2020

CROW: Code Diversification for WebAssembly

The adoption of WebAssembly has rapidly increased in the last few years ...
research
05/26/2023

Automatic Program Instrumentation for Automatic Verification (Extended Technical Report)

In deductive verification and software model checking, dealing with cert...
research
06/25/2018

Quantifier Elimination for Database Driven Verification

Running verification tasks in database driven systems requires solving q...
research
09/11/2018

A Cryptographic Escrow for Treaty Declarations and Step-by-Step Verification

The verification of arms-control and disarmament agreements requires sta...

Please sign up or login with your details

Forgot password? Click here to reset