Software


The members of CrySP are involved in various software projects and distributions. Here is a sampling:

Distributed Key Generation
Distributed key generation allows a number of parties distributed around the Internet to collaboratively generate a secret key, without any of them learning (or choosing) the key individually, or even in small groups. Our software works in the asynchronous network model, which is appropriate for realistic networks such as the Internet, and has been tested for up to 70 globally distributed parties.
FaceCloak
FaceCloak is an architecture for protecting user privacy on social networking sites. It is currently available as a Firefox extension for the Facebook social networking site.
Generalized Mersenne Number Toolbox
The GMNT will eventually be a collection of tools for working with generalized Mersenne numbers. Currently, the mrw tool generates C code to perform modular reduction for an arbitrary generalized Mersenne (GM) modulus. Examples of GM primes are the NIST primes recommended for elliptic curve cryptography.
KleeQ
KleeQ enables secure group communications for users of low-connectivity ad-hoc networks. It provides authentication, encryption and forward secrecy for a communicating group.
libspe: A Dynamic System Performance Analysis Library
libspe allows for static collection of timing information and the ability to register any number of objects to be monitored. We allow the set of objects being monitored, and the code that is watching each object, to be easily modified at runtime, without having to restart the program being monitored. The source code for libspe, written in C, is released as a free and open-source project under the BSD license.
NearbyFriend
NearbyFriend allows you to become aware of a nearby friend without any third-party tracking. It is available as an Android and BlackBerry application and as a plugin for the Pidgin Instant Messaging client.
Oblivious Printing
Oblivious Printing is a novel approach to document printing in which a set of printers print a secret message, in human or machine readable form, without learning the message.
Off-the-Record Messaging
Off-the-Record Messaging (OTR) enables secure and private instant messaging over existing IM networks. In order to emulate real-world "off-the-record" conversions, it provides encryption, authentication, forward secrecy and deniability.
PBCWrapper
PBCWrapper is a set of C++ wrapper classes for the PBC Pairing-Based Cryptography library. It simplifies the use of that library with C++ programs, providing convenience with object management, operator overloading, and more.
PolyCommit
An implementation of Kate, Zaverucha, and Goldberg's polynomial commitments in C++. It provides a convenient interface for committing to polynomials or vectors and opening such commitments. This version also provides classes that implement zero-knowledge proofs and proofs of knowledge about committed polynomials.
relicwrapper
relicwrapper provides C++ and python wrappers to the RELIC library for bilinear pairings. The C++ wrapper uses the same API as PBCwrapper, above.
Percy++
Percy++ is an implemenation of Private Information Retrieval protocols in C++. It provides information-theoretic, computational, or hybrid protection for the privacy of the query, and handles servers that fail to respond or that respond incorrectly.
Sphinx
Sphinx is a cryptographic message format used to relay anonymized messages within a mix network. It is more compact than any comparable scheme, and supports a full set of security features: indistinguishable replies, hiding the path length and relay position, as well as providing unlinkability for each leg of the message's journey over the network. This software is the implementation of the scheme.
ExperimenTor
ExperimenTor is a toolkit and network emulation-based testbed designed to support Tor research in a manner that promotes realism, safety, and scalability. The testbed consists of a set of tools for configuring, running, and analyzing whole-network experiments with an isolated Tor deployment running in the ModelNet network emulation platform. We provide the testbed as a set of VMware images that can be used to run Tor experiments out-of-the-box.
BridgeSPA
BridgeSPA is a protocol and implementation of innocuous SPA (based on Silent Knock) that protects Tor bridges from "aliveness" checks. See the BridgeSPA research paper for details.
cudadl
The cudadl package is an implementation of van Oorschot and Wiener's parallel version of Pollard's rho algorithm for finding discrete logs. It uses CUDA GPUs (particularly, 2 NVIDIA M2050 GPUs) to do the computation. It is optimized for solving discrete logs over 1536-bit RSA numbers whose totient is smooth; that is, numbers N=pq where p-1 and q-1 are each the product of distinct primes less than B, for B around 258 (New in version 0.9: 292). See the cudadl research paper for details.
Code Talker Tunnel (formerly known as SkypeMorph)
Code Talker Tunnel (previously called SkypeMorph) is a protocol camouflaging tool, designed to reshape traffic output of any censorship circumvention tool to look like Skype video calls.
COGS
COGS (Changing of the Guards) is a simulation framework for understanding how different algorithms for selecting entry guards in Tor affect the security, privacy, and network throughput of Tor users.

CrySP

Cryptography, Security, and Privacy Research Group
David R. Cheriton School of Computer Science
University of Waterloo
Waterloo, Ontario, Canada N2L 3G1
Tel: 519-888-4567 x36163
Fax: 519-885-1208

Contact | Feedback: crysp@cs.uwaterloo.ca | Cryptography, Security, and Privacy (CrySP)


Valid HTML 4.01!Valid CSS! Last modified: Tuesday, 26-Nov-2013 16:43:39 EST


Menu:ShowHide