Main repository for "Distributed Fair Signature System" project


Distributed Fair Signature System

DFSS is a simple and secure way to e-sign contracts with a large number of participants, ensuring fairness and minimizing the involvement of the trusted third party (TTP). This repository contains source code for this INSA Rennes project.

Project Status

The DFSS project is developed by fourth year students of the Computer Science department of INSA Rennes (FR). For now, the infrastructure is working, without the implementation of the signature cryptographic kernel (Private Contract Signatures), defined in many research papers, but not yet implemented.

It's thus a proof of concept and not production-ready.


Configure workspace

  1. Install Go (>=1.5) and configure a Go workspace as explained here

  2. Navigate under $GOPATH/src and clone this repository

  3. Install build dependencies in dfss/ directory

  1. At this point, you will be able to install the DFSS project with some simple commands
  • To install CLI applications:
go install dfss/dfssc # Client
go install dfss/dfssp # Platform
go install dfss/dfsst # TTP

# or

make install
  • To build GUI for client into bin/ directory (using docker image)
# You may have to run these commands as root due to docker (sudo won't work)

# Prepare docker image, one time only
make prepare_gui

# Build
make gui
make dfssd

Do not attempt to run go install dfss/... or go install ./..., it won't work due to graphic binaries.

Run dfss modules

dfssc help # Client
dfssp help # Platform
dfsst help # TTP

For graphic clients, you may need to install some Qt4 libraries on your system.

cd bin
./gui   # Client GUI
./dfssd # Demonstrator