Efficient Verification of Optimized Code: Correct High-speed Curve25519

12/17/2020
by   Marc Schoolderman, et al.
0

Code that is highly optimized poses a problem for program-level verification. Programmers can employ various clever tricks that are non-trivial to reason about. For cryptography on low-power devices, it is nonetheless crucial that implementations be functionally correct, secure, and efficient. These are usually crafted in hand-optimized machine code that eschew conventional control flow as much as possible. We have formally verified such code: a library which implements elliptic curve cryptography on 8-bit AVR microcontrollers. The chosen implementation is the most efficient currently known for this microarchitecture. It consists of over 3000 lines of assembly instructions. Building on earlier work, we use the Why3 platform to model the code and generate verification conditions, which are proven using automated provers. The approach is re-usable and adaptable, and allows for validation. Furthermore, an error in the original implementation was found and corrected, at the same time reducing its memory footprint. This shows that practical verification of cutting-edge code is not only possible, but can in fact add to its efficiency – and is clearly necessary.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
04/09/2019

The Last Mile: High-Assurance and High-Speed Cryptographic Implementations

We develop a new approach for building cryptographic implementations. Ou...
research
07/22/2020

Set It and Forget It! Turnkey ECC for Instant Integration

Historically, Elliptic Curve Cryptography (ECC) is an active field of ap...
research
07/06/2022

Securing Optimized Code Against Power Side Channels

Side-channel attacks impose a serious threat to cryptographic algorithms...
research
05/24/2022

Verified Implementation of an Efficient Term-Rewriting Algorithm for Multiplier Verification on ACL2

Automatic and efficient verification of multiplier designs, especially t...
research
11/09/2012

Secured Wireless Communication using Fuzzy Logic based High Speed Public-Key Cryptography (FLHSPKC)

In this paper secured wireless communication using fuzzy logic based hig...
research
10/06/2022

Memory-Efficient Recursive Evaluation of 3-Center Gaussian Integrals

To improve the efficiency of Gaussian integral evaluation on modern acce...
research
10/26/2021

Wavelet: Code-based postquantum signatures with fast verification on microcontrollers

This work presents the first full implementation of Wave, a postquantum ...

Please sign up or login with your details

Forgot password? Click here to reset