Skip to content
/ DAORAM Public

A series of classic oblivious algorithms written in Python, covering oblivious RAM, oblivious MAP, and oblivious graph processing for client/server deployment scenarios.

License

Notifications You must be signed in to change notification settings

WeiqiNs/DAORAM

Repository files navigation

A Python library for important oblivious algorithms

This library implements a series of classic oblivious algorithms, covering oblivious RAM (ORAM), oblivious map (OMAP), and algorithms for oblivious graph processing. It is built for client/server deployment scenarios in which the client is allowed to execute non-obliviously.

We list the maintainer’s related publications, which motivated the development of this library, and then provide a detailed overview of all included algorithms.

Oblivious Graph Methods

ORAM Methods

OMAP Methods

Project Structure

  • The demo folder contains demonstrations showing how to use sockets to set up a server and client.
  • The dependency folder contains required dependencies, including socket and cryptography modules.
  • The graph folder contains all oblivious graph constructions included in the library.
  • The omap folder contains all OMAP constructions included in the library.
  • The oram folder contains all ORAM constructions included in the library.
  • The tests folder contains test cases for validating the correctness of the implementations.

How to run this code

  1. Install the dependencies listed in requirements.txt.

  2. Local server (for testing purposes):

  3. Remote server:

About

A series of classic oblivious algorithms written in Python, covering oblivious RAM, oblivious MAP, and oblivious graph processing for client/server deployment scenarios.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages