Paper 2019/1449

Formalising Oblivious Transfer in the Semi-Honest and Malicious Model in CryptHOL

David Butler, David Aspinall, and Adria Gascon


Multi-Party Computation (MPC) allows multiple parties to compute a function together while keeping their inputs private. Large scale implementations of MPC protocols are becoming practical thus it is important to have strong guarantees for the whole development process, from the underlying cryptography to the implementation. Computer aided proofs are a way to provide such guarantees. We use CryptHOL to formalise a framework for reasoning about two party protocols using the security definitions for MPC. In particular we consider protocols for 1-out-of-2 Oblivious Transfer ($OT^1_2$) --- a fundamental MPC protocol --- in both the semi-honest and malicious models. We then extend our semi-honest formalisation to $OT^1_4$ which is a building block for our proof of security for the two party GMW protocol --- a protocol that can securely compute any Boolean circuit. The semi-honest $OT^1_2$ protocol we formalise is constructed from Extended Trapdoor Permutations (ETP), we first prove the general construction secure and then instantiate for the RSA collection of functions --- a known ETP. Our general proof assumes only the existence of ETPs, meaning any instantiated results come without needing to prove any security properties, only that the requirements of an ETP are met.

Available format(s)
Publication info
Published elsewhere. CPP 2020
formal methodsMPCoblivious transfer
Contact author(s)
dbutler @ turing ac uk
2019-12-16: received
Short URL
Creative Commons Attribution


      author = {David Butler and David Aspinall and Adria Gascon},
      title = {Formalising Oblivious Transfer in the Semi-Honest and Malicious Model in CryptHOL},
      howpublished = {Cryptology ePrint Archive, Paper 2019/1449},
      year = {2019},
      doi = {10.1145/3372885.3373815},
      note = {\url{}},
      url = {}
Note: In order to protect the privacy of readers, does not use cookies or embedded third party content.