mengycs / SimSSE

A high performance encrypted index for privacy-assured similarity search

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

SimSSE

Searchable symmetric encryption (SSE) has been studied extensively for its full potential in enabling exact-match queries on encrypted records. Yet, situations for similarity queries remain to be fully explored. SimSSE is a high performance encrypted index that supports privacy-assured similarity search over millions of encrypted high-dimensional records with millisecond latency. It employs locality-sensitive hashing (LSH) and SSE, and leverages a set of advanced hash-based algorithms including multiple-choice hashing, open addressing, and cuckoo hashing.

  • Setup

    • JDK: 1.7+
    • IDE: Eclipse, IntelliJ IDEA
  • Arguments:

    • [lsh file path] [bow file path] [L] [D] [R] [loadFactor] [thresholdOfKick] [counterLimit] [LIMIT] [key1] [key2] [times]

      • "L": the LSH parameter;
      • "D": the probe step;
      • "R": the radius of a cluster;
      • "thresholdOfKick": the threshold for cuckoo-kick operations;
      • "counterLimit": the maximum probe step;
      • "LIMIT": the number of records that would be inserted;
      • "times": the number of copies of each record (for testing);
    • E.g., "\lsh-L10R005-sample.txt \bow-u-100w-sample.txt 10 5 0.05 0.8 10 1000 1000 hongkong harry 1"

  • Software Interface:

----------------------- Root Menu -----------------------
Please select an operation:

[1]  ...
[2]  load BOW file;
[3]  query test;
[4]  random sample test;
[5]  find good LSH points;
[6]  find good BOW points;
[7]  build inverted index of LSH;
[8]  test good points;
[9]  insert;
[10] delete;
[11] batch insert;
[12] batch delete;
[QUIT] quit system.

--->

About

A high performance encrypted index for privacy-assured similarity search


Languages

Language:Java 100.0%