Paper 2023/1861 Original: eprint.iacr.org/2023/1861 ↗

Automatic Verification of Cryptographic Block Function Implementations with Logical Equivalence Checking

Li-Chang Lai
Jiaxiang Liu
Xiaomu Shi
Ming-Hsien Tsai
Bow-Yaw Wang
Bo-Yin Yang
Abstract

Given a fixed-size block, cryptographic block functions gen- erate outputs by a sequence of bitwise operations. Block functions are widely used in the design of hash functions and stream ciphers. Their correct implementations hence are crucial to computer security. We pro- pose a method that leverages logic equivalence checking to verify assem- bly implementations of cryptographic block functions. Logic equivalence checking is a well-established technique from hardware verification. Using our proposed method, we verify two dozen assembly implementations of ChaCha20, SHA-256, and SHA-3 block functions from OpenSSL and XKCP automatically. We also compare the performance of our technique with the conventional SMT-based technique in experiments.

Metadata
Available format(s)
PDF
Category
Implementation
Publication info
Preprint.
History
2023-12-04: last updated
2023-12-04: published
Short URL
https://ia.cr/2023/1861
License
https://creativecommons.org/licenses/by/4.0/

BibTeX

@misc{cryptoeprint:2023/1861,
      author = {Li-Chang Lai and Jiaxiang Liu and Xiaomu Shi and Ming-Hsien Tsai and Bow-Yaw Wang and Bo-Yin Yang},
      title = {Automatic Verification of Cryptographic Block Function Implementations with Logical Equivalence Checking},
      howpublished = {Cryptology {ePrint} Archive, Paper 2023/1861},
      year = {2023},
      url = {https://eprint.iacr.org/2023/1861}
}
Note: In order to protect the privacy of readers, this archive does not use cookies or embedded third party content.