Skip to content

privacylab/talek

Folders and files

NameName
Last commit message
Last commit date
Feb 18, 2024
May 29, 2017
Jul 26, 2023
Jun 15, 2019
Aug 24, 2017
May 27, 2017
Feb 18, 2024
Nov 18, 2017
Nov 18, 2017
Feb 19, 2024
Jun 24, 2019
Jun 15, 2019
Jun 11, 2019
May 22, 2017
Jun 15, 2019
Jan 30, 2020
Jul 20, 2019
Jul 20, 2019
Jun 24, 2019

Repository files navigation

Talek

Build Status Coverage Status GoDoc

Talek is a privacy-preserving messaging system. User communication is stored on untrusted systems using PIR.

Getting Started

A basic client can be found at go get github.com/privacylab/talek/cli/talekclient

Talek uses a construct called topic handles. Topics represent a stream of messages from one author to a few readers. The author who creates a topic can provide a handle to it to allow others to "follow along". A longer description of the specific guarantees of a topic are provided in the academic paper linked below.

Basic Usage:

talekclient --config=talek.conf --create --topic=newhandle
talekclient --config=talek.conf --topic=newhandle --write "Hello World"
talekclient --config=talek.conf --topic=newhandle --share=readOnlyHandle
talekclient --config=talek.conf --topic=readOnlyHandle --read

Develop

Pull requests are welcome! Please run all tests (see below) before submitting a PR.

System Dependencies

Depending on which PIR implementation you use, you may need to install OpenCL / CUDA. Make sure you have the latest graphics drivers for your video card.

NVIDIA CUDA:

OpenCL on Ubuntu:

sudo apt-get install -y ocl-icd-libopencl1 ocl-icd-opencl-dev opencl-headers clinfo
sudo ln -s /usr/lib/x86_64-linux-gnu/libOpenCL.so /usr/lib/x86_64-linux-gnu/libCL.so

OpenCL on macOS:

  • OpenCL is included in the developer tools. See here

Tools

$ make get-tools

Testing

All tests should pass before submitting a pull request

$ make test

The GPU backings are not built by default. Changes to pir/, where the backing interface may be affected should ensure that code is tested with go test -tags 'cuda,opencl' to include testing of all drivers.

Following Along:

Join the mailing list: https://lists.riseup.net/www/info/talek

Publication

Talek: a Private Publish-Subscribe Protocol.
Raymond Cheng, Will Scott, Bryan Parno, Irene Zhang, Arvind Krishnamurthy, Tom Anderson.
In Submission. 2020.
PDF