{% extends "_layout.html" %} {% block title %}I2P Development Meeting 55{% endblock %} {% block content %}

[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) && (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 && / || 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 [64.91.236.103]

[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 & 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 & 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.

{% endblock %}