Publication Date

Fall 2022

Degree Type

Master's Project

Degree Name

Master of Science (MS)


Computer Science

First Advisor

Thomas Austin

Second Advisor

Mike Wu

Third Advisor

Fabio Di Troia


proxy re-encryption, blockchain, SpartanGold


Nowadays, blockchain-based technology has risen to a new dimension. With the advantage of the decentralized identity, data are transferred through decentralized and public ledgers. Those new contracts provide great visibility. However, there is still a need to keep some data private in many cases. Those private data should be encrypted while still benefiting from the decentralized on-chain protocol. Securing those private data in such a decentralized blockchain-based system is thus a critical problem. Our solution provides a decentralized protocol that lets users grant access to their private data with proxy re-encryption in SpartanGold (a blockchain-based cryptocurrency). We implement a third-party storage provider called a proxy to store clients’ private data in an encrypted form. Whenever someone wants to access a client’s private data, the client uses their private key along with the buyer’s public key to generate a re-encryption key. The third-party proxy uses the re-encryption key to re-encrypt the client’s encrypted data for the recipient and send the result to the buyer. As a result, only the buyer can decrypt the re-encrypted data by using their private key, without revealing the data owner’s private key or the private data to the third-party proxy. Our protocol has secured the private data on the decentralized blockchain-based application without relying on trusted parties. We use medical data as a use case to validate our protocol. In our medical use case, the patient’s medical records are stored on the third-party proxy, and when specialists request medical data from the patient, the patient generates the re-encryption key and sends it to the proxy. The proxy re-encrypted the data and sends back to the specialists.