Kurze Zusammenfassung

Anwesend: jeremiah, jrand0m, mihi, nop, thecrypto

Sitzungsprotokoll

[23:00] ok, Themen> x.0: Willkommen x.1: Fragen zu den Spezifikationen x.2: ElG-Probleme x.3: SDK-Status x.4: Release-Plan x.5: Apps [23:00] ist x == 0 oder 1 oder 2? [23:00] 22/7 [23:01] ich denke, es ist 0 [23:01] * jrand0m loggt immer mit, also wtf, warum nicht. [23:01] 0.0: Willkommen. [23:01] hi. [23:01] 0.1: Fragen zu den Spezifikationen [23:01] hat jemand die Specs gelesen? :) [23:02] * mihi hat. Zumindest versucht [23:02] w0ah, word [23:02] nope [23:02] was sind die neuen? [23:02] gelegentlich [23:02] mihi> versucht, schwer zu lesen, schlechte Sprache, unverständliche Struktur, oder einfach stinklangweilig wie Sau? [23:03] ich bin einfach nicht vertraut genug mit Krypto. Der erste Teil war sehr interessant. [23:03] jeremiah> Specs liegen in CVS, und ich poste an iip-dev, wenn sie rauskommen. Die aktuellen sind: i2cp, i2np, I2P-Datenstrukturen, Polling-HTTP-Transport-Protokoll [23:03] aber als es detailliert wurde, hättest du beschreiben können, wie man einen Irish Stew kocht, und ich hätte es nicht gemerkt ;) [23:04] cool [23:04] lol mihi [23:05] obwohl das Format auch seine Probleme hatte – habe hier kein OpenOffice, nur das alte StarOffice 5.2 [23:05] liest StarOffice 5.2 das nicht? Möchtest du lieber .pdf oder zusammengeflicktes HTML? [23:05] (oder .txt? allerdings hätte .txt keine Bilder oder echtes Format) [23:05] ich würde das „alte“ .sdw-Format bevorzugen. [23:05] PDF, wenn irgendwie möglich [23:05] oder PDF [23:06] PDF ist eine One-Click-Lösung. [23:06] * jrand0m editiert in OpenOffice, liest als PDF [23:06] oder AppleWorks [23:06] ;) [23:06] SXW wird nur in StarOffice 6.0 und höher unterstützt [23:06] ah ok mihi [23:06] * jrand0m hat .sxw rausgegeben, weil sich letztes Mal Leute beschwert haben und .sxw wollten. Wenn wir veröffentlichen, stellen wir .sxw, .sdw und .pdf bereit [23:07] (oder vielleicht .doc, wenn ich mich schmutzig fühle) [23:07] ich hätte auch nichts gegen .sdw.zip oder .sdw.gz oder .sdw.bzw... [23:07] s/bzw/bz2/ [23:07] heh, auf jeden Fall gezippt. [23:08] Die Data-Structures-Spez könnte eine Änderung erfordern, und das Network-Proto braucht vor dem Release ein paar feste URLs. [23:08] hat jemand Fragen zu einer der vier Specs? [23:09] im Moment nicht [23:10] ok. 0.2: ElG-Probleme [23:10] Wir haben ein paar Probleme mit ElGamal-Verschlüsselung wie auf S. 13 der Data-Structures-Spez beschrieben. [23:11] Es könnte schlüsselbedingt, algorithmusbedingt oder implementierungsbedingt sein. Wahrscheinlich nicht implementierungsbedingt, da das gegen zwei Implementierungen getestet wurde. [23:11] Wenn es am Algorithmus liegt, sollten wir die Spez vor der Veröffentlichung aktualisieren, um die nötigen Änderungen abzubilden, damit es funktioniert. [23:12] Wenn es an der Implementierung oder der Schlüsselgenerierung liegt, können wir die Spez veröffentlichen und das SDK beheben, sobald es gelöst ist. [23:13] thecrypto> irgendwelche Ideen, was los ist, oder warten wir auf nops Antwort auf der Liste (oder hier, wenn er da ist und Zeit hat)? [23:14] ich versuche es gerade herauszufinden [23:15] *** Abmeldung: mihi (Ping-Timeout) [23:15] *** mihi_ (~none@anon.iip) ist Kanal #iip-dev beigetreten [23:15] 'k [23:15] *** mihi_ heißt jetzt mihi [23:15] ich muss etwas Mathe durchrechnen und es durch eine andere Implementierung laufen lassen und herausfinden [23:15] ich hatte nie ein Problem mit ElGamal [23:15] bei meinem letzten Test [23:16] *** Abmeldung: mihi ((null)) [23:17] mit diesem Benchmark [23:17] stimmt, aber der Benchmark hat nur einen Schlüssel ausprobiert [23:17] ahh [23:17] ich kann den Fehler ziemlich zuverlässig reproduzieren, ohne irgendwelche Mods an der ElG-Impl [23:17] hatten wir nicht eine Meldung wegen falschem Schlüssel, die auftauchte? [23:18] ja, die tauchen immer noch auf [23:18] *** mihi_ (~none@anon.iip) ist Kanal #iip-dev beigetreten [23:18] periodisch (normalerweise 2–4 Mal pro Keygen) [23:18] *** mihi (~none@anon.iip) ist Kanal #iip-dev beigetreten [23:18] *** mihi heißt jetzt mihi_backup [23:18] *** mihi_ heißt jetzt mihi [23:18] und wir bekommen immer noch schlechte Schlüssel? [23:19] oder so. [23:19] alles, was der Wrong-Size-Test prüft, ist "if ( (k0.length == PublicKey.KEYSIZE_BYTES) && (k1.length == PrivateKey.KEYSIZE_BYTES) ) {" [23:19] keine Wertprüfung, etc. [23:20] eine Sekunde [23:23] kannst du prüfen, ob x, der private Schlüssel, < p ist [23:23] if (m.compareTo(CryptoConstants.elgp) >= 0) [23:23] bereits erledigt. [23:23] (throw new IllegalArgumentException("ARGH. Data cannot be larger than the ElGamal prime. FIXME");) diese Exception wird nie geworfen. [23:23] äh, x? hmm. [23:24] 'k. Vielleicht sollten wir BouncyCastle's oder den ElG-Keygen-Algorithmus einer anderen Impl klauen [23:25] ok. 0.3> SDK-Themen [23:26] ElG steht noch aus, aber abgesehen davon ist das SDK sehr nah an 0.8 (aka Release passend zu den Specs) [23:26] (es fehlen nur noch das ElG-Thema plus die LeaseSet-Änderung) [23:26] Ich hätte gern das SDK 0.8 zum Spec-Release fertig, aber ich glaube nicht, dass wir uns darauf festlegen sollten. [23:27] oder überhaupt, ob wir das SDK 0.1 dem Spec-Release beilegen müssen. [23:27] gah! nervig [23:28] MIRACL, auf das nop mich verwiesen hat, macht genau dasselbe wie wir [23:28] und sie haben keine Checks [23:28] allerdings ohne Vorzeichen. [23:28] (da MIRACL in C ist) [23:28] * jrand0m nimmt an [23:28] ja [23:29] aber trotzdem stelle ich sicher, dass wir niemals einen signierten BigInteger haben [23:30] BigInteger.toByteArray() liefert ein signiertes Byte-Array zurück [23:30] sorry, weiter [23:30] 'k [23:30] irgendeine Bewegung an der Python-Front, jeremiah? [23:31] hey [23:31] sorry, ich habe den Backlog gelesen [23:31] heh hi [23:31] nope, ich gewöhne mich immer noch an Klassen [23:31] cool [23:31] kein Ding [23:31] Ich glaube, ich werde tatsächlich mal kurz schlafen [23:31] 'k [23:32] 0.4: Release-Plan [23:32] wir müssen die SDK-Themen in den nächsten ein, zwei Tagen gelöst bekommen, wie auch immer. [23:32] wir müssen anfangen, das Sicherheitsmodell in das Wiki zu überführen [23:32] (Wiki, wo bist du) [23:33] wir müssen das Performance-Modell online bekommen (kein Problem, ich habe es in etwa einem Tag) [23:33] wir müssen die Specs aktualisieren, um etwaige ElG-Änderungen aufzunehmen, plus echte URLs zu anderen Specs. [23:33] miracl [23:33] hat einen Port [23:33] nach Java [23:33] vielleicht müssen wir die Specs && / || das SDK wegen Exportvorschriften außerhalb der USA hosten [nicht, dass es mich kümmert] [23:34] stimmt, aber MIRACLs Java-Port hatte keine ElG-Verschlüsselung, als ich das letzte Mal geschaut habe. [23:34] ich schaue nochmal. [23:34] jrand0m, uns ist das egal, aber darum kümmern wir uns später [23:34] jrand0m wenn es bigdig() und modexp() hat [23:34] passt's [23:34] *** yodel (~yodel@anon.iip) ist Kanal #iip-dev beigetreten [23:34] eine Sekunde [23:34] ich glaube, ich habe unser Problem gefunden [23:35] word, was geht, thecrypto? [23:35] kannst du nachsehen, jrand0m [23:35] unser k wird nicht auf teilerfremd geprüft [23:36] verursacht das die beschriebenen Probleme, thecrypto? Ich dachte, das würde „nur“ die Verschlüsselung unsicher machen (immer noch ein Problem) [23:36] aber das würde bedeuten, dass nur manche Nachrichten mit dem Schlüssel fehlschlagen [23:36] es ist irgendwas im Keygen [23:36] nop> wir finden schon was, um das zu lösen. Aber ich habe in meiner E-Mail einige spezifische Fragen skizziert, die implementierungsunabhängig sind [23:36] ok, thecrypto, das gehen wir nach dem Meeting durch [23:37] die Frage zur doppelten Ciphertext? [23:37] okay [23:37] nop> das ist eine der Fragen [23:37] * nop geht lesen [23:39] nop> irgendeine Idee, wann das Wiki oben ist? Wenn es nur DNS ist, wie lautet die IP, damit ich meine Hosts-Datei anpassen kann und anfangen kann zu editieren? [23:40] kurze Frage, jrand0m: wo schlägt es fehl? Der Benchmark läuft perfekt und erzeugt jedes Mal ein neues Schlüsselpaar? [23:41] lass mich das hochziehen, Moment [23:41] wiki.invisiblenet.net == jasonclinton.com [64.91.236.103] [23:41] gracias mihi [23:42] thecrypto> es erzeugt jedes Mal ein neues Schlüsselpaar. Es scheitert an einem Zwei-Zeilen-Testfall, den ich beim Debuggen der ElGamalAESEngine gebaut habe [23:42] kann ich diese ElGamalAESEngine sehen? [23:42] commit es einfach ins CVS und ich schaue, wo das Problem ist [23:43] ok, Wiki ist CNAME'd [23:43] sollte gleich propagieren [23:43] * jrand0m committet keine Dinge, die nicht funktionieren, aber ich maile es dir [23:43] danke, nop [23:43] ist oben [23:43] ;) [23:43] (Link: http://wiki.invisiblenet.net)http://wiki.invisiblenet.net [23:43] nicht auf meiner Kiste [23:43] ;) [23:44] was bringen wir ins Wiki [23:44] ? [23:44] das Security-Dokument, plus einen Ort, um die Specs zu verteilen. [23:44] vielleicht sogar die i2p-Website vor dem 1.0-Release, aber zumindest das Security-Dokument. [23:45] *** Abmeldung: sirk ((null)) [23:45] *** Abmeldung: shardy_ (Ping-Timeout) [23:46] ok. Angesichts der obigen 5 Punkte im Release-Plan hätte ich die Specs gerne bis spätestens Freitag, Samstag oder Sonntag draußen. [23:46] *** shardy_ (~shardy@anon.iip) ist Kanal #iip-dev beigetreten [23:46] Ich habe einen Grphx-Typen, der an der Website arbeitet [23:47] für i2p [23:47] irgendwelche Probleme mit dieser Deadline? [Deadline Freitag, Ausweichtermin nur, wenn Bad Things Happen] [23:47] klar [23:47] jrand0m: gesendet? [23:47] 'k, also nur die Security-Dokus und der i2p-Spec-Distro-Ort [23:47] nein, thecrypto, es sind ein halbes Dutzend Dateien. Ich schicke sie nach dem Meeting. [23:47] okay [23:48] ich hätte sie gerne früher, weil wir heute Tische umstellen, daher muss ich gleich Rechner verschieben [23:48] jrand0m, ich muss mir deine E-Mail anschauen und antworte gleich [23:48] Multitasking [23:49] 'k. [23:49] 0.5> Apps [23:49] der Name Service ist AWOL, da co nicht da ist ;) [aber ich glaube, er ist auch gerade zur Schule/Uni aufgebrochen, also ist das kurzfristig zu erwarten] [23:49] mihi hat eine mega mega i2ptunnel-App [23:50] *** Abmeldung: WinBear_ (EOF vom Client) [23:50] streiche ein oder zwei `awesome`s ;) [23:50] heh [23:51] nun, es ist sehr beeindruckend. Es gibt noch Dinge hinzuzufügen, aber so wie es ist, ist es ein funktionierender Port-Forwarder mit vernünftiger Performance. Ein wirklich guter Proof of Concept [23:51] es verlässt sich auf zu viele Dinge, die ich der Spez nicht entnehmen kann (z. B., dass GUARANTEED-Pakete in Reihenfolge zugestellt werden) [23:52] GUARANTEED-Pakete werden nicht in Reihenfolge zugestellt, aber die Java-Impl blockiert beim Senden von GUARANTEED, daher ist es in der Java-Impl mit GUARANTEED und ohne mehrere Sendethreads in der Reihenfolge garantiert. [23:52] ideal wäre es, wenn es FEC hätte oder eine eingebaute Sortierung & Rekonstruktion oder so [23:52] (damit es beim Senden nicht blockiert und kein GUARANTEED benötigt) [23:53] das sind ein bot zu viele Ifs, denke ich... [23:53] s/bot/bit/ [23:55] aber vielleicht habe ich etwas Zeit, um Reordering/Resending hinzuzufügen... [23:55] nun, so ist die Java-Client-Impl implementiert ;) GUARANTEED wird für synchrone Anwendungen mit niedriger Latenz nicht empfohlen, da es ein ACK erfordert (was wiederum eine vollständige Nachrichtenzustellung ist, allerdings ohne die clientseitige End-to-End-Krypto, nur I2NP-Krypto) [23:55] word [23:56] gibt es andere Apps am Horizont? Sollten wir im Wiki eine Seite mit Apps & App-Ideen haben, bei denen sich Devs beteiligen können? [23:57] * jrand0m denkt, wir sind wahrscheinlich nicht mehr weit davon entfernt, bis yodels XML-RPC über das i2p-SDK arbeiten kann (entweder durch mihis tunnel oder nativ) [23:57] hmm [23:57] test [23:57] tset [23:57] noch verbunden? [23:57] si sr [23:58] wir ziehen gerade Telefonleitungen ab [23:58] IIP, es trotzt Telefonleitungen [23:58] heh [23:58] :) [23:58] ich kann wieder auf die IM-Front und Dateitransfer [23:58] wikked [00:00] ok. Das sind alle Punkte, die ich auf der Agenda habe. [00:00] irgendwelche Kommentare/Fragen/Bedenken/Frisbees? [00:00] * thecrypto wirft einen Frisbee [00:00] * jrand0m bekommt einen Frisbee ins Gesicht [00:01] ich will das Crypto-Zeug einfach fertigkriegen, damit ich zurückgehen und ElG optimieren kann [00:01] und hoffentlich dasselbe für Python tun [00:01] word. Ich schicke dir den Code in den nächsten 5 [00:02] das wäre gut [00:03] * jrand0m bereitet den *baf*er vor [00:03] * jrand0m holt aus [00:03] * jrand0m *baf*t das Meeting ab.