Cryptology ePrint Archive: Report 2020/325

SmartDHX: Diffie-Hellman Key Exchange with Smart Contracts

Robert Muth and Florian Tschorsch

Abstract: Blockchain technologies enable decentralized applications (DApps) that run on distributed infrastructures without any central authority. All transactions for communication and data storage are public and can be verified by all participants. DApps interacting with a smart contract typically require client-side code, which is not part of the smart contract, and therefore do not hold the same verifiability properties. Following the vision of a verifiable DApp, we propose SmartDHX, a Diffie-Hellman key exchange (DHKE) scheme, fully implemented as a smart contract. That is, SmartDHX communicates only via the Ethereum blockchain and provides both backend and client-side code with the smart contract. The application code can therefore be verified and deployed without external trust requirements. By executing DHKE on-chain, we gain a number of properties, including asynchronicity as well as message integrity and authenticity. We generalize the two-party SmartDHX to emphasize that our approach is able to handle complex cryptographic protocols. In our analysis, we expose an efficiency tradeoff when executed on chain. In particular, we provide a proof-of-concept implementation and analyze the runtime and transaction fees. Since DHKE is used by many cryptographic algorithms, SmartDHX contributes a fundamental building block in the domain of DApps.

Category / Keywords: implementation / Key Exchange, Decentralized Application, Smart Contract, Implementation, Blockchain

Original Publication (with minor differences): 2nd IEEE International Conference on Decentralized Applications and Infrastructures

Date: received 16 Mar 2020

Contact author: muth at tu-berlin de,florian tschorsch@tu-berlin de

Available format(s): PDF | BibTeX Citation

Version: 20200317:183312 (All versions of this report)

Short URL:

[ Cryptology ePrint archive ]