Files
i2p.www/www.i2p2/pages/meeting55.html
2008-02-04 18:22:36 +00:00

214 lines
16 KiB
HTML

{% extends "_layout.html" %}
{% block title %}I2P Development Meeting 55{% endblock %}
{% block content %}<div class="irclog">
<p>[23:00] &lt;jrand0m&gt; ok, topics&gt; x.0: welcome x.1: spec questions x.2: elg issues x.3: sdk status x.4: release plan x.5: apps </p>
<p>[23:00] &lt;jrand0m&gt; is x == 0 or 1 or 2? </p>
<p>[23:00] &lt;jeremiah&gt; 22/7</p>
<p>[23:01] &lt;thecrypto&gt; i think it's 0</p>
<p>[23:01] * jrand0m always logs, so wtf, why not.</p>
<p>[23:01] &lt;jrand0m&gt; 0.0: welcome. </p>
<p>[23:01] &lt;jrand0m&gt; hi. </p>
<p>[23:01] &lt;jrand0m&gt; 0.1: spec questions </p>
<p>[23:01] &lt;jrand0m&gt; anyone read the specs? :) </p>
<p>[23:02] * mihi did. at least tried to</p>
<p>[23:02] &lt;jrand0m&gt; w0ah word </p>
<p>[23:02] &lt;jeremiah&gt; nope</p>
<p>[23:02] &lt;jeremiah&gt; what are the new ones?</p>
<p>[23:02] &lt;thecrypto&gt; occasionally</p>
<p>[23:02] &lt;jrand0m&gt; mihi&gt; tried to, hard to read, bad language, incomprehensible organization, or just boring as fuck? </p>
<p>[23:03] &lt;mihi&gt; i'm just not familiar enough with crypto. the first part was very interesting.</p>
<p>[23:03] &lt;jrand0m&gt; jeremiah&gt; specs are in cvs, and I post to iip-dev when they come out. current ones are: i2cp, i2np, i2p data structures, polling http transport proto </p>
<p>[23:03] &lt;mihi&gt; but when it got into detaily, you could have described how to brew an irish stew and i would not hav noticed ;)</p>
<p>[23:04] &lt;jeremiah&gt; sweet</p>
<p>[23:04] &lt;jrand0m&gt; lol mihi </p>
<p>[23:05] &lt;mihi&gt; although the format had its problems as well -don't have open office here, just ol' staroffice 5.2</p>
<p>[23:05] &lt;jrand0m&gt; does star office 5.2 not read it? would you prefer .pdf or kludged html? </p>
<p>[23:05] &lt;jrand0m&gt; (or .txt? though txt wouldn't have pics or real formatting) </p>
<p>[23:05] &lt;mihi&gt; i'd prefer "old" .sdw format.</p>
<p>[23:05] &lt;jeremiah&gt; pdf if at all possible</p>
<p>[23:05] &lt;mihi&gt; or pdf</p>
<p>[23:06] &lt;jrand0m&gt; pdf is a one click solution. </p>
<p>[23:06] * jrand0m edits in open office, reads in pdf</p>
<p>[23:06] &lt;jeremiah&gt; or appleworks</p>
<p>[23:06] &lt;jeremiah&gt; ;)</p>
<p>[23:06] &lt;mihi&gt; sxw is supported only in staroffice 6.0 and above</p>
<p>[23:06] &lt;jrand0m&gt; ah ok mihi </p>
<p>[23:06] * jrand0m put out .sxw because last time people complained and wanted .sxw. when we publish we'll put out .sxw, .sdw, and .pdf</p>
<p>[23:07] &lt;jrand0m&gt; (or maybe .doc if i'm feeling dirty) </p>
<p>[23:07] &lt;mihi&gt; i would not mind .sdw.zip or .sdw.gz or .sdw.bzw either...</p>
<p>[23:07] &lt;mihi&gt; s/bzw/bz2/</p>
<p>[23:07] &lt;jrand0m&gt; heh, zipped up, for sure. </p>
<p>[23:08] &lt;jrand0m&gt; the data structures spec may require a mod, and the network proto requires some fixed urls before release. </p>
<p>[23:08] &lt;jrand0m&gt; anyone have any questions on any of the four specs? </p>
<p>[23:09] &lt;thecrypto&gt; not at the momemet</p>
<p>[23:10] &lt;jrand0m&gt; ok. 0.2: elg issues </p>
<p>[23:10] &lt;jrand0m&gt; we're having some probs w/ elgamal encryption as specified on p13 of the data structures spec. </p>
<p>[23:11] &lt;jrand0m&gt; it may be key related, algorithm related, or implementation related. probably not implementation related, as this has been tested against two implementations. </p>
<p>[23:11] &lt;jrand0m&gt; if its algorithm related, we're going to want to update the spec prior to spec release to reflect whatever we need to change to make it work. </p>
<p>[23:12] &lt;jrand0m&gt; if its implementation or key generation related, we can publish the spec and fix the sdk when resolved. </p>
<p>[23:13] &lt;jrand0m&gt; thecrypto&gt; any thoughts on whats up, or we waiting for nop to reply to the list (or here, if he's around and available to talk) </p>
<p>[23:14] &lt;thecrypto&gt; i'm trying to figure it out at the moment</p>
<p>[23:15] *** Signoff: mihi (Ping timeout)</p>
<p>[23:15] *** mihi_ (~none@anon.iip) has joined channel #iip-dev</p>
<p>[23:15] &lt;jrand0m&gt; 'k </p>
<p>[23:15] *** mihi_ is now known as mihi</p>
<p>[23:15] &lt;thecrypto&gt; i have to run some math and through some other implementation and figure it out</p>
<p>[23:15] &lt;thecrypto&gt; i never had a problem with elgamal</p>
<p>[23:15] &lt;thecrypto&gt; last time i tested</p>
<p>[23:16] *** Signoff: mihi ((null))</p>
<p>[23:17] &lt;thecrypto&gt; with that benchmark</p>
<p>[23:17] &lt;jrand0m&gt; right, but the benchmark only tried one key </p>
<p>[23:17] &lt;thecrypto&gt; ahh</p>
<p>[23:17] &lt;jrand0m&gt; i can quite repeatedly get the error without any mods to the elg impl </p>
<p>[23:17] &lt;thecrypto&gt; didn't we have a wrong key message that came up?</p>
<p>[23:18] &lt;jrand0m&gt; yes, those still come up </p>
<p>[23:18] *** mihi_ (~none@anon.iip) has joined channel #iip-dev</p>
<p>[23:18] &lt;jrand0m&gt; periodically (usually 2-4 times per keygen) </p>
<p>[23:18] *** mihi (~none@anon.iip) has joined channel #iip-dev</p>
<p>[23:18] *** mihi is now known as mihi_backup</p>
<p>[23:18] *** mihi_ is now known as mihi</p>
<p>[23:18] &lt;thecrypto&gt; and we still get bad keys?</p>
<p>[23:19] &lt;jrand0m&gt; or something. </p>
<p>[23:19] &lt;jrand0m&gt; all that wrong size tests is "if ( (k0.length == PublicKey.KEYSIZE_BYTES) &amp;&amp; (k1.length == PrivateKey.KEYSIZE_BYTES) ) {" </p>
<p>[23:19] &lt;jrand0m&gt; no value evaluation, etc. </p>
<p>[23:20] &lt;thecrypto&gt; one second</p>
<p>[23:23] &lt;thecrypto&gt; can you check if x the private key is &lt; p</p>
<p>[23:23] &lt;jrand0m&gt; if (m.compareTo(CryptoConstants.elgp) &gt;= 0) </p>
<p>[23:23] &lt;jrand0m&gt; already done. </p>
<p>[23:23] &lt;jrand0m&gt; (throw new IllegalArgumentException("ARGH. Data cannot be larger than the ElGamal prime. FIXME");) that exception is never thrown. </p>
<p>[23:23] &lt;jrand0m&gt; er x? hmm. </p>
<p>[23:24] &lt;jrand0m&gt; 'k. perhaps we may want to steal bouncycastle's or another impl's elg key gen algo </p>
<p>[23:25] &lt;jrand0m&gt; ok. 0.3&gt; sdk issues </p>
<p>[23:26] &lt;jrand0m&gt; elg is pending, but other than that the sdk is very close to 0.8 (aka release matching specs) </p>
<p>[23:26] &lt;jrand0m&gt; (only the elg issue plus the LeaseSet modification is left) </p>
<p>[23:26] &lt;jrand0m&gt; I'd like to have the SDK 0.8 ready to go with the spec release, but I don't think we should commit to that. </p>
<p>[23:27] &lt;jrand0m&gt; or even whether we need to include SDK 0.1 with the spec release. </p>
<p>[23:27] &lt;thecrypto&gt; gah! annoying</p>
<p>[23:28] &lt;thecrypto&gt; miracl which nop pointed me too does the exact same thing we do</p>
<p>[23:28] &lt;thecrypto&gt; and they have no checks</p>
<p>[23:28] &lt;jrand0m&gt; unsigned though. </p>
<p>[23:28] &lt;jrand0m&gt; (since miracl is in c) </p>
<p>[23:28] * jrand0m assumes</p>
<p>[23:28] &lt;thecrypto&gt; yes</p>
<p>[23:29] &lt;thecrypto&gt; but still, i make sure we never have a signed biginteger</p>
<p>[23:30] &lt;jrand0m&gt; biginteger.toByteArray() returns a signed byte array </p>
<p>[23:30] &lt;thecrypto&gt; sorry, continue</p>
<p>[23:30] &lt;jrand0m&gt; 'k </p>
<p>[23:30] &lt;jrand0m&gt; any movement on the python front jeremiah? </p>
<p>[23:31] &lt;jeremiah&gt; hey</p>
<p>[23:31] &lt;jeremiah&gt; sorry I was reading the backlog</p>
<p>[23:31] &lt;jrand0m&gt; heh hi </p>
<p>[23:31] &lt;jeremiah&gt; nope, I'm still getting used to classes</p>
<p>[23:31] &lt;jrand0m&gt; coo' </p>
<p>[23:31] &lt;jrand0m&gt; no prob </p>
<p>[23:31] &lt;jeremiah&gt; I think I'm gonna sleep for a bit actually</p>
<p>[23:31] &lt;jrand0m&gt; 'k </p>
<p>[23:32] &lt;jrand0m&gt; 0.4: release plan </p>
<p>[23:32] &lt;jrand0m&gt; we need the sdk issues resolved in the next day or so, one way or another. </p>
<p>[23:32] &lt;jrand0m&gt; we need to get working on wiki-fiying the security model </p>
<p>[23:32] &lt;jrand0m&gt; (wiki, where art thou) </p>
<p>[23:33] &lt;jrand0m&gt; we need to get the performance model up (not a prob, ill have it in a day or so) </p>
<p>[23:33] &lt;jrand0m&gt; we need to update the specs to include any elg mods, plus real URLs to other specs. </p>
<p>[23:33] &lt;nop&gt; miracl</p>
<p>[23:33] &lt;nop&gt; has a port</p>
<p>[23:33] &lt;nop&gt; to java</p>
<p>[23:33] &lt;jrand0m&gt; perhaps we need to host the specs &amp;&amp; / || sdk outside the US for export regulations [not that i care] </p>
<p>[23:34] &lt;jrand0m&gt; right, but miracl's java port doesnt have elg encryption last i checked. </p>
<p>[23:34] &lt;jrand0m&gt; i'll check again. </p>
<p>[23:34] &lt;nop&gt; jrand0m, we don't care, but we'll worry about that later</p>
<p>[23:34] &lt;nop&gt; jrand0m if it has bigdig() and modexp()</p>
<p>[23:34] &lt;nop&gt; you're fine</p>
<p>[23:34] *** yodel (~yodel@anon.iip) has joined channel #iip-dev</p>
<p>[23:34] &lt;thecrypto&gt; one second</p>
<p>[23:34] &lt;thecrypto&gt; i think i found our problem</p>
<p>[23:35] &lt;jrand0m&gt; word, whats up thecrypto? </p>
<p>[23:35] &lt;nop&gt; can you check jrand0m</p>
<p>[23:35] &lt;thecrypto&gt; our k isn't being checked for relitive prime</p>
<p>[23:36] &lt;jrand0m&gt; will that cause the problems described thecrypto? i thought that would just render the encryption insecure (a problem, nonetheless) </p>
<p>[23:36] &lt;thecrypto&gt; but that would mean only some messages with the key would fail</p>
<p>[23:36] &lt;thecrypto&gt; it's something in keygen</p>
<p>[23:36] &lt;jrand0m&gt; nop&gt; we'll find something to solve it. but i outlined some specific questions in my email that are implementation independent </p>
<p>[23:36] &lt;jrand0m&gt; ok thecrypto, we'll work through that after the meeting </p>
<p>[23:37] &lt;nop&gt; the double ciphertext question?</p>
<p>[23:37] &lt;thecrypto&gt; okay</p>
<p>[23:37] &lt;jrand0m&gt; nop&gt; thats one of the questions </p>
<p>[23:37] * nop goes to read</p>
<p>[23:39] &lt;jrand0m&gt; nop&gt; any ideas on when the wiki will be up? if its just dns, whats the IP so I can mod my hosts file so I can start editing? </p>
<p>[23:40] &lt;thecrypto&gt; quick q jrand0m: where does it fail, the benchmark runs perfectly and it makes a new keypair every time?</p>
<p>[23:41] &lt;nop&gt; let me get it up, hold</p>
<p>[23:41] &lt;mihi&gt; wiki.invisiblenet.net == jasonclinton.com [64.91.236.103]</p>
<p>[23:41] &lt;jrand0m&gt; gracias mihi </p>
<p>[23:42] &lt;jrand0m&gt; thecrypto&gt; it makes a new keypair each time. it fails on a two line test case that I built when debugging the ElGamalAESEngine </p>
<p>[23:42] &lt;thecrypto&gt; can i see this ElGamalAESEngine?</p>
<p>[23:42] &lt;thecrypto&gt; just commit it to CVS and i'll see what the problem is</p>
<p>[23:43] &lt;nop&gt; ok wiki is cname'd</p>
<p>[23:43] &lt;nop&gt; should propagate in a bit</p>
<p>[23:43] * jrand0m doesnt commit things that don't work, but I'll email you</p>
<p>[23:43] &lt;jrand0m&gt; thanks nop </p>
<p>[23:43] &lt;nop&gt; it's up</p>
<p>[23:43] &lt;nop&gt; ;)</p>
<p>[23:43] &lt;nop&gt; (Link: http://wiki.invisiblenet.net)http://wiki.invisiblenet.net</p>
<p>[23:43] &lt;jrand0m&gt; not on my box it aint </p>
<p>[23:43] &lt;jrand0m&gt; ;) </p>
<p>[23:44] &lt;nop&gt; what are we wiki'ing</p>
<p>[23:44] &lt;nop&gt; ?</p>
<p>[23:44] &lt;jrand0m&gt; the security doc, plus a place to distro the specs. </p>
<p>[23:44] &lt;jrand0m&gt; perhaps even the i2p website prior to 1.0 release, but at least the security doc. </p>
<p>[23:45] *** Signoff: sirk ((null))</p>
<p>[23:45] *** Signoff: shardy_ (Ping timeout)</p>
<p>[23:46] &lt;jrand0m&gt; ok. given the above 5 points on the release plan, I'd like to have the specs out friday, saturday, or sunday, at the latest. </p>
<p>[23:46] *** shardy_ (~shardy@anon.iip) has joined channel #iip-dev</p>
<p>[23:46] &lt;nop&gt; I have a grphx guy working on the website</p>
<p>[23:47] &lt;nop&gt; for i2p</p>
<p>[23:47] &lt;jrand0m&gt; any problems with that for a deadline? [friday deadline, fallback only if Bad Things Happen] </p>
<p>[23:47] &lt;nop&gt; sure</p>
<p>[23:47] &lt;thecrypto&gt; jrand0m: sent?</p>
<p>[23:47] &lt;jrand0m&gt; 'k, so just the security docs and the i2p spec distro location </p>
<p>[23:47] &lt;jrand0m&gt; no thecrypto, there are half a dozen files. i'll send after the meeting. </p>
<p>[23:47] &lt;thecrypto&gt; okay</p>
<p>[23:48] &lt;thecrypto&gt; i'd like them sooner because we're moving tables around today so i need to move computers soon</p>
<p>[23:48] &lt;nop&gt; jrand0m, I'll need to look at your email and I'll respond shortly</p>
<p>[23:48] &lt;nop&gt; multi-tasking</p>
<p>[23:49] &lt;jrand0m&gt; 'k. </p>
<p>[23:49] &lt;jrand0m&gt; 0.5&gt; apps </p>
<p>[23:49] &lt;jrand0m&gt; the name service is awol, as co aint around ;) [but i think he just went off to school too, so thats to be expected for the short term] </p>
<p>[23:49] &lt;jrand0m&gt; mihi has an awesome awesome i2ptunnel app </p>
<p>[23:50] *** Signoff: WinBear_ (EOF From client)</p>
<p>[23:50] &lt;mihi&gt; strip one or two `awesome's ;)</p>
<p>[23:50] &lt;jrand0m&gt; heh </p>
<p>[23:51] &lt;jrand0m&gt; well, its very impressive. there's still stuff to add, but as is its a working port forwarder with reasonable performance. a really good proof of concept </p>
<p>[23:51] &lt;mihi&gt; it relies on too many things i cannot see from the spec (e.g. that GUARANTEED packets are delivered in order)</p>
<p>[23:52] &lt;jrand0m&gt; guaranteed packets are not delivered in order, but the java impl blocks on send of guaranteed, so if you use the java impl w/ guaranteed and don't have multiple sending threads, its guaranteed in order. </p>
<p>[23:52] &lt;jrand0m&gt; ideally, it'd be cool if it FEC'ed or had built in ordering &amp; reconstruction or something </p>
<p>[23:52] &lt;jrand0m&gt; (so that it didn't block on send and didn't require GUARANTEED) </p>
<p>[23:53] &lt;mihi&gt; that's a bot too many ifs i think...</p>
<p>[23:53] &lt;mihi&gt; s/bot/bit/</p>
<p>[23:55] &lt;mihi&gt; but perhaps i'll have some time to add reordering/resending to it...</p>
<p>[23:55] &lt;jrand0m&gt; well, thats how the java client impl is implemented ;) guaranteed is not recommended for low latency synchronous use, as it requires an ack (which in turn is a full message delivery, though without the client side end to end crypto, just i2np crypto) </p>
<p>[23:55] &lt;jrand0m&gt; word </p>
<p>[23:56] &lt;jrand0m&gt; any other apps on the horizon? should we have a page on the wiki w/ apps &amp; app ideas for devs to get involved with? </p>
<p>[23:57] * jrand0m thinks we probably aren't too far off until yodel's xml rpc can operate via the i2p sdk (either through mihis tunnel or natively)</p>
<p>[23:57] &lt;nop&gt; hmm</p>
<p>[23:57] &lt;thecrypto&gt; test</p>
<p>[23:57] &lt;jrand0m&gt; tset </p>
<p>[23:57] &lt;thecrypto&gt; still connected?</p>
<p>[23:57] &lt;jrand0m&gt; si sr </p>
<p>[23:58] &lt;thecrypto&gt; we're unplugging phonelines right now</p>
<p>[23:58] &lt;nop&gt; IIP, it defies phone lines</p>
<p>[23:58] &lt;jrand0m&gt; heh </p>
<p>[23:58] &lt;nop&gt; :)</p>
<p>[23:58] &lt;thecrypto&gt; i can get back on the IM front and file transfer</p>
<p>[23:58] &lt;jrand0m&gt; wikked </p>
<p>[00:00] &lt;jrand0m&gt; ok. thats all i have for agenda items. </p>
<p>[00:00] &lt;jrand0m&gt; any comments/questions/concerns/frisbees? </p>
<p>[00:00] * thecrypto throws a frisbee</p>
<p>[00:00] * jrand0m gets a frisbee in the face</p>
<p>[00:01] &lt;thecrypto&gt; i just want to get this crypto stuff done so i can go back and optimize elg</p>
<p>[00:01] &lt;thecrypto&gt; and do the same for python hopefully</p>
<p>[00:01] &lt;jrand0m&gt; word. I'll get you the code in the next 5 </p>
<p>[00:02] &lt;thecrypto&gt; that would be good</p>
<p>[00:03] * jrand0m readies the *baf*er</p>
<p>[00:03] * jrand0m winds up</p>
<p>[00:03] * jrand0m *baf*s the meeting to a close.</p>
</div>
{% endblock %}