Frequently Asked Questions
- What is gMix?
- Can I use gMix for anonymous internet service access (e.g. www, e-mail, etc.)?
- Which mix implementations are available?
- Why should researchers use gMix?
- How can I assure repeatability of my experiments using gMix?
- Which evaluation tools are available?
- I found a bug, how do I report it?
- How do I repeat experiment X from paper Y?
- How do I cite gMix in a publication?
- How can I develop new mix plug-ins?
- How can I join the gMix project?
What is gMix?
gMix (generic Mix) is an open research project for privacy enhancing technologies, especially mix-based systems. The project goal is to provide a code repository of compatible mix implementations and evaluation tools. We want to simplify both the process of building new practical mix systems as well as the evaluation of existing and new mixing strategies under the same conditions.
For more information see: Home and Implementations.
Can I use gMix for anonymous internet service access (e.g., www, e-mail, etc.)?
No, gMix is targeted at researchers and developers. Most plug-ins are developed for performance (and anoynmity) assessment and are not safe for unmodified use in productive systems (with performance assessment in mind, the default behaviour of plug-ins on errors is to stop execution, i.e., denial of service attacks on gMix nodes in public networks would be easy). We strongly suggest to use gMix only in trusted local networks. To protect your privacy, you may want to have a look at Tor, JonDonym and Mixminion.
Which mix implementations are available?
A not always up to date list of implementations can be found here. You may also want to have a look at the github repository.
Why should researchers use gMix?
The main development objective of the gMix framework was to build a modular mix with replacable components (plug-ins) and a clear separation of concerns. As a result, it is quite easy to add new mixing strategies to gMix (The source code of deployed systems like Tor or JonDonym has reached a rather high complexity and is thus difficult to extend or to adapt for different use cases).
gMix has included various components generally needed in distributed (mix) systems to speed up development (no need to find solutions for common problems).
The framework already contains implementations (plug-ins) for various mixing schemes that can be extended or used for performance comparison.
With gMix (unlike with network simulators) real network nodes and links can be used for evaluations (high accuracy). In conjunction with a network emulator, the effect of different network conditions can be studied.
gMix contains tools to simplify testing like the Testbed (for emulated networks) and the Discrete-Event-Simulator (for more general evaluations).
How can I assure repeatability of my experiments using gMix?
We suggest you prepare a zip archive with the executable framework jar, source code, config files and a textual description of your experiment setup. We have uploaded such an archive for our ESORICS 2012 publication that might serve as an example. We will be happy to link your archive and/or paper on our website and motivate you to send us your custom plug-ins to include them on github!
Feel free to contact us on problems.
Which evaluation tools are available?
There are two evaluation tools available: The Testbed and the Discrete-Event-Simulator.
The Testbed is built for realistic, complex distributed experiments.
The Discrete-Event-Simulator is built for fast and easy use/results and simulated experiments on a single machine.
Both evaluation tools are able to generate traffic according to basic traffic models (e.g. greedy source, constant rate or poisson) or through replaying traffic from trace files and visualize results with a gnuplot engine.
For more information, visit the implementations page.
I found a bug, how do I report it?
Feel free to reprot bugs or suggestions to Karl-Peter Fuchs.
How do I repeat experiment X from paper Y?
Publications using gMix should contain a link to a zip archive containing everything needed to repeat experiments (see FAQ How can I assure repeatability of my experiments using gMix?). We provide links to those archives on the publications page.
How do I cite gMix in a publication?
If you want to cite gMix in a publication, please cite the following paper:
Karl-Peter Fuchs, Dominik Herrmann, Hannes Federrath: Introducing the gMix Open Source Framework for Mix Implementations. S. Foresti, M. Yung, and F. Martinelli (Eds.): ESORICS 2012, LNCS 7459, pp. 487-504. Springer, Heidelberg, 2012.
If you want to link our website, please use https://svs.informatik.uni-hamburg.de/gmix/
How can I develop new mix plug-ins?
Please download the gMix VM here. It includes a tutorial that will explain all further details.
How can I join the gMix project?
The gMix project is in alpha state and under heavy development. As the documentation is not always up to date and the tutorial pages are not finished yet, just contact us directly if you are interested in joining the project!