I2P dev meeting, DATE

Quick recap

  • Present:

jeremiah, jrand0m, mihi, nop, thecrypto,

تمام وقایع IRC

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