[tor-dev] [GSoC] CONIKS for Tor Messenger - status report #4

Huy Vu Quoc huyvq.c633 at gmail.com
Fri Jul 15 17:30:28 UTC 2016

Hi guys,

These are things that I have been doing in the last two weeks:

1. Continue implementing the libmerkletree library.
The next module of the lib is a storage backend. The implementation is
at [1]. Below is a brief description of my implementation:
- In each update, both tree version and STR are entirely stored to the
db. (this idea is mostly from Coname authors)
- The developers now can construct the tree from db or do lookup in
the STR which is stored in the persistent storage. The idea is when
the server has been restarted, the developers can initialize the
in-memory PAD (the history hash chain) with an existing tree; or
whenever the developers needs to do a lookup from the db instead of
the in-memory STR (the length of the history hash chain is limited by
server’s configuration).

2. Implement the key lookup protocol.
This function is not finished yet, since I’m still working on the
client. The source code for the server is at [2].
For the client, since we are signing the STR using Ed25519 signature
scheme, the client also needs a library for verifying the signature
efficiently. I’m working on a C library that makes use of libgcrypt
library (which also be used currently by libotr library). It takes me
time to learn how to use libgrcrypt library.
When this C library is finished, I can start working on key lookup and
monitoring functions on the client part.

In the next two weeks, I will try to have a working prototype (both
key registration and key lookup) for Tor Messenger. Then I and my
mentors can focus on refactoring and optimizing source code, as well
as writing tests.


[1] https://github.com/coniks-sys/libmerkleprefixtree-go/tree/db
[2] https://github.com/coniks-sys/libconiks-server-go/tree/lookup

More information about the tor-dev mailing list