Verification of Implementations of Cryptographic Hash Functions

Cryptographic hash functions have become the basis of modern network computing for identity authorization and secure computing; protocol consistency of cryptographic hash functions is one of the most important properties that affect the security and correctness of cryptographic implementations, and...

Full description

Bibliographic Details
Main Authors: Dexi Wang, Yu Jiang, Houbing Song, Fei He, Ming Gu, Jiaguang Sun
Format: Article
Language:English
Published: IEEE 2017-01-01
Series:IEEE Access
Subjects:
Online Access:https://ieeexplore.ieee.org/document/7924403/
_version_ 1818876753968365568
author Dexi Wang
Yu Jiang
Houbing Song
Fei He
Ming Gu
Jiaguang Sun
author_facet Dexi Wang
Yu Jiang
Houbing Song
Fei He
Ming Gu
Jiaguang Sun
author_sort Dexi Wang
collection DOAJ
description Cryptographic hash functions have become the basis of modern network computing for identity authorization and secure computing; protocol consistency of cryptographic hash functions is one of the most important properties that affect the security and correctness of cryptographic implementations, and protocol consistency should be well proven before being applied in practice. Software verification has seen substantial application in safety-critical areas and has shown the ability to deliver better quality assurance for modern software; thus, applying software verification to a protocol consistency proof for cryptographic hash functions is a reasonable approach to prove their correctness. Verification of protocol consistency of cryptographic hash functions includes modeling of the cryptographic protocol and program analysis of the cryptographic implementation; these require a dedicated cryptographic implementation model that preserves the semantics of the code, efficient analysis of cryptographic operations on arrays and bits, and the ability to verify large-scale implementations. In this paper, we propose a fully automatic software verification framework, VeriHash, that brings software verification to protocol consistency proofs for cryptographic hash function implementations. It solves the above challenges by introducing a novel cryptographic model design for modeling the semantics of cryptographic hash function implementations, extended array theories for analysis of operations, and compositional verification for scalability. We evaluated our verification framework on two SHA-3 cryptographic hash function implementations: the winner of the NIST SHA-3 competition, Keccack; and an open-source hash program, RHash. We successfully verified the core parts of the two implementations and reproduced a bug in the published edition of RHash.
first_indexed 2024-12-19T13:47:24Z
format Article
id doaj.art-627d66f08ebe47209cdddbfd6843f776
institution Directory Open Access Journal
issn 2169-3536
language English
last_indexed 2024-12-19T13:47:24Z
publishDate 2017-01-01
publisher IEEE
record_format Article
series IEEE Access
spelling doaj.art-627d66f08ebe47209cdddbfd6843f7762022-12-21T20:18:49ZengIEEEIEEE Access2169-35362017-01-0157816782510.1109/ACCESS.2017.26979187924403Verification of Implementations of Cryptographic Hash FunctionsDexi Wang0https://orcid.org/0000-0002-6285-9123Yu Jiang1Houbing Song2https://orcid.org/0000-0003-2631-9223Fei He3Ming Gu4Jiaguang Sun5School of Software, Tsinghua University, Beijing, ChinaSchool of Software, Tsinghua University, Beijing, ChinaDepartment of Electrical and Computer Engineering, West Virginia University Institute of Technology, Montgomery, WV, USASchool of Software, Tsinghua University, Beijing, ChinaSchool of Software, Tsinghua University, Beijing, ChinaSchool of Software, Tsinghua University, Beijing, ChinaCryptographic hash functions have become the basis of modern network computing for identity authorization and secure computing; protocol consistency of cryptographic hash functions is one of the most important properties that affect the security and correctness of cryptographic implementations, and protocol consistency should be well proven before being applied in practice. Software verification has seen substantial application in safety-critical areas and has shown the ability to deliver better quality assurance for modern software; thus, applying software verification to a protocol consistency proof for cryptographic hash functions is a reasonable approach to prove their correctness. Verification of protocol consistency of cryptographic hash functions includes modeling of the cryptographic protocol and program analysis of the cryptographic implementation; these require a dedicated cryptographic implementation model that preserves the semantics of the code, efficient analysis of cryptographic operations on arrays and bits, and the ability to verify large-scale implementations. In this paper, we propose a fully automatic software verification framework, VeriHash, that brings software verification to protocol consistency proofs for cryptographic hash function implementations. It solves the above challenges by introducing a novel cryptographic model design for modeling the semantics of cryptographic hash function implementations, extended array theories for analysis of operations, and compositional verification for scalability. We evaluated our verification framework on two SHA-3 cryptographic hash function implementations: the winner of the NIST SHA-3 competition, Keccack; and an open-source hash program, RHash. We successfully verified the core parts of the two implementations and reproduced a bug in the published edition of RHash.https://ieeexplore.ieee.org/document/7924403/Model-predictive controlsmootheninggradient-based optimizationemission controlurban traffic control
spellingShingle Dexi Wang
Yu Jiang
Houbing Song
Fei He
Ming Gu
Jiaguang Sun
Verification of Implementations of Cryptographic Hash Functions
IEEE Access
Model-predictive control
smoothening
gradient-based optimization
emission control
urban traffic control
title Verification of Implementations of Cryptographic Hash Functions
title_full Verification of Implementations of Cryptographic Hash Functions
title_fullStr Verification of Implementations of Cryptographic Hash Functions
title_full_unstemmed Verification of Implementations of Cryptographic Hash Functions
title_short Verification of Implementations of Cryptographic Hash Functions
title_sort verification of implementations of cryptographic hash functions
topic Model-predictive control
smoothening
gradient-based optimization
emission control
urban traffic control
url https://ieeexplore.ieee.org/document/7924403/
work_keys_str_mv AT dexiwang verificationofimplementationsofcryptographichashfunctions
AT yujiang verificationofimplementationsofcryptographichashfunctions
AT houbingsong verificationofimplementationsofcryptographichashfunctions
AT feihe verificationofimplementationsofcryptographichashfunctions
AT minggu verificationofimplementationsofcryptographichashfunctions
AT jiaguangsun verificationofimplementationsofcryptographichashfunctions