You are here

Video: Bart Polot on GNUnet CADET and GNUnet Conversation at YBTI/30c3

Here is the video of Bart Polot's talk at YouBrokeTheInternet/30c3 on "GNUnet Conversation". Note that somehow the title got botched to "GNU Telephony", which is simply incorrect as GNU Telephony is GNU's SIP replacement, and that is definitively not what the talk is about. This talk is about GNUnet's CADET routing and the GNUnet Conversation (voice-over-GNUnet) application that we are building with it.

Read more Tuesday, February 25, 2014 - 12:00 Christian Grothoff

Numerical Stability and Scalability of Secure Private Linear Programming

Read more Wednesday, February 19, 2014 - 13:57 Anonymous (not verified)

Video: Data Protection Day: "After Snowden: using law and technology to counter snooping"

On the occasion of Data Protection Day, Pieter Omtzigt invited Jacob Appelbaum, Douwe Korff and Christian Grothoff to testify on "using law and technology to counter snooping" at the Counsil of Europe (CoE). Peter Omtzigt is rapporteur for a report on "Massive eavesdropping in Europe".

Read more Friday, January 31, 2014 - 11:31 Christian Grothoff

Video: 30c3 talk on "The GNU Name System"

Here is the video of my talk (with help from Florian Dold) at 30c3 on "The GNU Name System". Sadly, the "Secure Name Systems" panel at the same venue was not recorded.

Read more Thursday, January 2, 2014 - 12:45 Christian Grothoff

Typo-Protected Public Keys

When users type in public keys (such as the 53-characters of a GNS zone), they might make typos. The usual way to fix typos is to add a checksum, further increasing the length of the sequence that has to be typed in.

We can fix this by including the checksum of the public key in the public key itself, simply by trying new private keys until the corresponding public key happens to have a checksum (over the other bits) in the bits designated for the checksum. If a checksum is 16 bits, we would only need to try 216 keys. The basic idea of brute-forcing keys to match a particular pattern was proposed before for creating "vanity" public keys, but this might be another practical variant.


The idea popped up in a discussion on the need for short public keys for GNS with Dan Bernstein and Tanja Lange at 30c3.

Read more Saturday, December 28, 2013 - 12:38 Christian Grothoff

Join GNS Key Exchange Party at 30C3 Hamburg

The GNU Name System (aka GNS) is a fully decentralized, censorship resistant naming system based on the idea of a pet name system not relying on centralized organizations. Every user manages his own namespace. To access names and records of other user's you have to exchange some specific information which can be done in a convinient way using a business card with a QR code containing your GNS information.

The Key Exchange Party

A congress like the 30C3 is the ideal place to exchange these information with your buddies in person. Therefore we provide you with all requirements for a convienent start using GNS.

After you installed and configured GNS with the records for your services, you can create your own business cards containing your personal information (or at least as much as you intend to give to other people) and even get a hard copy to exchange it with other persons! Other users can use your business card to automatically add your GNS records by just scanning the QR record on the business card using a standard webcam.

How to Participate ..

So basically you can meet the GNS developers at 30C3 at the HACAS assembly ( and the YBTI Workshop ( ... You are cordially invited to join and come over for a discussion or a chat...
So the basic required steps are:

  • Install GNUnet and GNS
  • Setup your names and records
  • Create your business cards
  • Get a print out at Wau Holland Foundation, 30C3
  • Give them to other people
  • Add other people's information to your namespace

Installing GNUnet and GNS

GNS is contained in the GNUnet P2P framework. So the first required step is to install GNUnet in the latest stable version 0.10.0.

The required steps are explained here:

Please be aware that only the latest stable will work, older version are not compatible! (No hoax: 0.9.5a will not work!)

To use GNS, you will also have to setup your installation for GNS, so you should follow the following steps:

Setup your names and records (optional)

If you are hosting any services you want to make accessible for other users, you should setup the respective records in your zone. The most convenient way is to use the gnunet-namestore-gtk tool, a GUI to manage your namespace. If you prefer to use the command line tool to manage your records, check the link in the last section about setting up GNS.

Create your business cards and give them to other people

Now you are ready to exchange your information with your buddies.
The most convenient way is to create a set of business cards containing your information. We provide the GNUnet business card manager to create these business cards. To use the GNUnet business card manager, you need to have texlive-full on your system!

Just run gnunet-bcd and open the website http://localhost:8888

For your GNS information you need to extract the public key of your GNS namespace by running. You can copy it from the gnunet-namestore-gtk GUI or by running:

$ gnunet-identity -d $options | grep master-zone | awk '{print $3}'

For example, the output might be something like

The nickname field should be the proposed name other users would use to add your information to their namespace. This name is just a proposal and every can modifiy this name using the gnunet-namestore-gtk GUI.

After pressing the submit button, you can download a PDF containing your business cards with QR information. You can now give this business cards to your friends and colleagues...

Add other people's information to your namespace

When you received a business card with a GNS QR card you can easily add the GNS information by just scanning the code using the gnunet-qr tool. if your computer has a webcam you should see a window containing the video stream. Hold the card in front of the webcam and the code should be automatically recognized. You should see a message like:

Added URI gnunet://gns/Q821UVI8H4HD9TE8LID7QOB6P27SNJHPA3JM913B7IDSTJP9BLUG/docmalloc

If your computer does not have a webcam you can also import the link using

gnunet-uri gnunet://gns/Q821UVI8H4HD9TE8LID7QOB6P27SNJHPA3JM913B7IDSTJP9BLUG/docmalloc

You can double check the result in the gnunet-namestore-gtk tool. Now you are abled to resolve the user's names

How to Use it

One thing you can use GNS for, besides having name to IP address mappings, is to publish your GnuPG key to make it resolvable by your buddies.

To create a record for your GnuPG key, you just have to create a new CERT record containing your GnuPG key:
$ gnunet-namestore -t CERT -n "+" ...

Other users now can resolve your GnuPG key using
$ gnunet-gns -t CERT buddy.gnu

Read more Wednesday, December 25, 2013 - 11:25 Matthias Wachs

GNUnet at the 30th Chaos Communication Congress (30c3)

We're happy to participate in various ways at this year's 30c3:

You should be able to find at least seven GNUnet developers at the conference. Our base will be at the YBTI assembly.

Read more Tuesday, December 24, 2013 - 15:14 Christian Grothoff


Subscribe to Front page feed