7.8.2009 21:19, pesco
Meine Kryptoexperimente schreiten weiter fort. Am vergangenen Wochenende habe
ich mir meinen
ElGamal-Code nochmal vorgenommen und
daraus ein kleines anonymes Peer-to-Peer-Netz gebaut. Man erwarte jetzt bitte
nichts weltbewegendes, es handelt sich nach wie vor um kaum mehr als eine
Fallstudie zu Montgomery-Multiplikation. Allerdings eine, ueber die man
verschluesselte Kurznachrichten austauschen kann. ;)
That's the way we do it.
Meine Serviette aus der Hotelbar in Berlin vor ein paar Wochen.
Das ganze ist ein einfaches Broadcast-Netz: Jeder Knoten sendet eingehende
Nachrichten, die nicht an ihn selbst addressiert sind, weiter an jeden seiner
Nachbarn. Wenn er eine Nachricht schonmal gesehen hat, wird sie verworfen.
Erwaehnenswert:
- Jeder Knoten im Netzwerk besitzt ein Schluesselpaar. Der public key
ist seine Netzwerkadresse.
- Pakete bestehen komplett aus Chiffretext, keine weiteren Header. Der
Empfaenger erkennt seine Nachrichten daran, dass er sie erfolgreich
entschluesseln kann.
- Eigentlich klar, aber trotzdem toll: Das Netz ist unabhaengig vom Internet.
Ich habe es fuer UDP implementiert, aber das ist willkuerlich. Amateurfunk,
rohes Ethernet oder carrier pidgeons gingen auch. Insbesondere ist mir NAT
egal, sobald ich das Ding fuer meinen OpenWRT-Router kompiliert habe.
- Es gibt vorerst keine Nachrichtenauthentisierung. D.h. keine Sicherheit,
dass Nachrichten wirklich vom angebenen Absender stammen.
Anlage:
Source (jetzt auch Linux-kompatibel),
README
PS.
Neues Cleartext-Feature: Stichpunktlisten.