Login

Comparison Operation in Homomorphic Encryption

BA, IS, MA
State: Open
Published: 2024-10-02

RESERVED


Homomorphic encryption (HE) allows calculations to be performed directly on encrypted data without the need for decryption. The fundamental idea is to perform mathematical operations (e.g., addition, multiplication) or any other function on encrypted data, which leads to the same result as the computation on the original, unencrypted data and encrypting it at the end. By preserving data encryption throughout the computational process, the sensitive data remains protected from unauthorised access, and, therefore, complies with the GDPR requirements for privacy. 


However, operations on homomorphically encrypted ciphertexts are limited and do not typically support comparison of the encrypted data. That is, a computation, such as Enc(x1) < Enc(x2) ? true : false is not easy to perform. However, a comparison operation is necessary in a number of cases. For instance, a verification of a user to a server or another party without disclosure of the original information. This thesis builds on the use case of decentralised identities, where a user (prover) submits a claim to the verifier about their credential issuance date. The verifier performs computations on the encrypted values and verifies the results through the comparison operation). 


The goal of this thesis is to implement the verification protocol between the prover and verifier using homomorphic encryption, either using and integrating an existing library or implementing a comparison algorithm from scratch. The final implementation should be integrated into the existing code base for the decentralised identity using JavaScript. Note, the existing libraries for homomorphic encryption either do not provide such functionality (e.g., SEAL) and will require utilising a Boolean circuit, such as outlined in [2]; or will require the integration of C++ library [8] into JS node without significantly affecting encryption performance; or a complete translation and adoption of one of the approaches outlined in [1, 3, 4] into SEAL based libraries.  

 

The evaluation will compare the newly implemented homomorphic encryption with the existing Zero-Knowledge proof (ZKP) solution in terms of performance, costs, and scalability. 


References:

[1] I. Iliashenko and V. Zucca, “Faster homomorphic comparison operations for BGV and BFV”, Cryptology ePrint Archive, 2021. URL: https://eprint.iacr.org/2021/315

[2] A. Chatterjee and I. Sengupta, “Searching and Sorting of Fully Homomorphic Encrypted Data on Cloud”,  Cryptology ePrint Archive, 2015. URL: https://eprint.iacr.org/2015/981

[3] F. Bourse, O. Sanders and J. Traore, “Improved Secure Integer Comparison via Homomorphic Encryption”,  Cryptology ePrint Archive, 2019. URL: https://eprint.iacr.org/2019/427

[4] J. Garay, B. Schoenmakers and J. Villegas, “Practical and Secure Solutions for Integer Comparison”, Cryptology ePrint Archive, 2019. URL: https://eprint.iacr.org/2019/427

[5] Node-Seal JS Library. URL: https://github.com/s0l0ist/node-seal.

[6] Microsoft SEAL Library. URL: https://github.com/microsoft/SEAL/

[7] HElib Library. URL: https://github.com/homenc/HElib

 

[8] Comparison Circuit Library. URL: https://github.com/iliailia/comparison-circuit-over-fq

10% literature review, 20% design, 60% implementation, 10% documentation
Solid programming skills and good understanding of cryptography

Supervisors: Daria Schumm

back to the main page