Skip to content

πŸ”’ Homomorphic two dimensional Euclidean distance computation using SEAL

Notifications You must be signed in to change notification settings

clnnn/SEAL-euclidean-distance

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

24 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Homomorphic two dimensional Euclidean distance computation using SEAL

Animation

Table of contents

Table of contents generated with markdown-toc

Introduction

Homomorphic encryption (HE) is a form of encryption that permits users to perform computations on its encrypted data without first decrypting it. These resulting computations are left in an encrypted form which, when decrypted, result in an identical output to that produced had the operations been performed on the unencrypted data. Homomorphic encryption can be used for privacy-preserving outsourced storage and computation. (Source)

In this application the Euclidean distance is computed on a remote server using encrypted data. Only the client can see the initial data and the final result.

Architecture

Current Architecture

Technologies involved

Run

node.js is required both for client-side and server-side

Client

  1. cd client
  2. npm install
  3. npm start

Server

  1. cd cloud
  2. npm install
  3. npm start

Remarks

  • This is just a Proof-of-Concept in order to test how homomorphic encryption can be used in web applications
  • The square root operator that is used in the Euclidean distance formula is computed on the client-side using Math.sqrt(..) due library limitations
  • HE seems to be good candidate for future applications that are doing compute-intensive operations on private data