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

886 lines
51 KiB
HTML

{% extends "_layout.html" %}
{% block title %}I2P Development Meeting 51{% endblock %}
{% block content %}<div class="irclog">
<p>--- Log opened Tue Jul 29 16:54:31 2003</p>
<p>17:11 &lt;@hezekiah&gt; Tue Jul 29 21:11:18 UTC 2003</p>
<p>17:11 &lt;@hezekiah&gt; The 51th (I think) iip-dev meeting.</p>
<p>17:11 &lt;@hezekiah&gt; Agenda:</p>
<p>17:11 &lt;@hezekiah&gt; 1.) Welcome</p>
<p>17:11 &lt;@hezekiah&gt; 2.) jrand0m's stuff</p>
<p>17:11 &lt;@hezekiah&gt; 3.) Any of the other developer's stuff</p>
<p>17:11 &lt;@hezekiah&gt; 4.) Anything nop adds when/if he gets here</p>
<p>17:12 &lt;@hezekiah&gt; 5.) Questions and Comments from the ever eager unwashed</p>
<p> masses. ;-)</p>
<p>17:12 &lt;@hezekiah&gt; OK!</p>
<p>17:12 &lt;@hezekiah&gt; Welcome everyone to the 51th (I think) iip-dev meeting</p>
<p>17:12 &lt;@hezekiah&gt; Item number 2!</p>
<p>17:12 &lt;@hezekiah&gt; jrand0m's stuff</p>
<p>17:12 -!- thetower [none@anon.iip] has joined #iip-dev</p>
<p>17:12 * hezekiah hands the mike to jrand0m</p>
<p>17:12 &lt;@jrand0m&gt; sub-agenda:</p>
<p>17:12 &lt;@jrand0m&gt; 2.1) I2CP spec &amp; dev status</p>
<p>17:12 &lt; co&gt; Where are the logs for meeting 50?</p>
<p>17:12 &lt;@jrand0m&gt; 2.2) SDK plans</p>
<p>17:12 &lt;@jrand0m&gt; 2.3) crypto</p>
<p>17:12 &lt;@jrand0m&gt; 2.4) roadmap / network proto status</p>
<p>17:13 &lt;@hezekiah&gt; co: cohesion is working on getting them up</p>
<p>17:13 &lt;@jrand0m&gt; (btw, its "mic", for microphone)</p>
<p>17:13 &lt;@hezekiah&gt; jrand0m: Sorry. :)</p>
<p>17:13 &lt;@hezekiah&gt; jrand0m: (And this mistake from a sound tech guy!)</p>
<p>17:13 -!- luckypunk [~yetalohe@anon.iip] has joined #iip-dev</p>
<p>17:13 -!- odargur [odargur@anon.iip] has joined #iip-dev</p>
<p>17:13 &lt;@jrand0m&gt; 2.1) I2CP: the spec is committed to CVS with a slight mod</p>
<p> to one of the messages (MessageStatusMessage)</p>
<p>17:14 &lt;@jrand0m&gt; Comments are always welcome on I2CP, but the sooner the</p>
<p> better.</p>
<p>17:14 &lt;@hezekiah&gt; jrand0m: Where's the spec in CVS? ... and is it on the SF</p>
<p> CVS too?</p>
<p>17:14 &lt;@jrand0m&gt; The reason for sooner the better is that we'll have a</p>
<p> working Java client implementation by friday.</p>
<p>17:14 -!- some_random_guy [~dan@anon.iip] has joined #iip-dev</p>
<p>17:14 * thecrypto crosses fingers on that one</p>
<p>17:14 &lt;@jrand0m&gt; Plus a local only router by the end of the weekend, I'm hoping</p>
<p>17:15 &lt;@jrand0m&gt; no hez, only on the cathedral</p>
<p>17:15 &lt;@jrand0m&gt; good point thecrypto.</p>
<p>17:15 &lt;@jrand0m&gt; Caveat:</p>
<p>17:15 &lt;@hezekiah&gt; Ugh. I still can't get CVS to work with cathedral.</p>
<p>17:15 &lt;@jrand0m&gt; some crypto isn't 100%, but its all stub'ed to let us plug</p>
<p> in more complete or other implementations later</p>
<p>17:15 &lt;@jrand0m&gt; hezekiah&gt; we'll get you up after the meeting.</p>
<p>17:15 &lt;@hezekiah&gt; jrand0m: Thanks. :)</p>
<p>17:16 &lt;@jrand0m&gt; the spec is in the</p>
<p> i2p/doc/specs/data_structure_spec/datastructures.html</p>
<p>17:16 &lt;@jrand0m&gt; thecrypto&gt; do you have anything to add re: java impl?</p>
<p>17:16 -!- ArdVark [simple1@anon.iip] has joined #iip-dev</p>
<p>17:16 &lt;@jeremiah&gt; the local-only router you mentioned was the python one,</p>
<p> right? or is there a java one too?</p>
<p>17:17 &lt;@jrand0m&gt; that all depends :)</p>
<p>17:17 &lt;@jrand0m&gt; jeremiah/hezekiah&gt; how goes the python client and local-only</p>
<p> router?</p>
<p>17:17 &lt;@thecrypto&gt; not really, except for the crypto issue i think we'll</p>
<p> talk about in a bit</p>
<p>17:17 &lt;@jrand0m&gt; word thecrypto.</p>
<p>17:17 &lt;@hezekiah&gt; jrand0m: It's coming. I finally got the TCP transport</p>
<p> stuff working yesterday.</p>
<p>17:17 &lt;@jeremiah&gt; it seems ok, i think most of it will be dependent on</p>
<p> hezekiah's dev speed more than mine</p>
<p>17:17 &lt;@hezekiah&gt; jrand0m: Jeremiah has some nice stuff going with the</p>
<p> message strcutures.</p>
<p>17:18 &lt;@hezekiah&gt; hezekiah: I'm hoping that we can make the deadline.</p>
<p>17:18 &lt;@jrand0m&gt; cool.</p>
<p>17:18 &lt;@jeremiah&gt; also... friday is my birthday, so I plan on not being</p>
<p> around the computer then</p>
<p>17:18 &lt;@hezekiah&gt; jeremiah: Understandable. :)</p>
<p>17:18 &lt;@hezekiah&gt; jeremiah: And happy birthday in advance. :)</p>
<p>17:18 &lt;@jeremiah&gt; thanks</p>
<p>17:18 &lt;@jrand0m&gt; jumping slightly to agenda 2.4&gt; when would we expect to be</p>
<p> able to have the python local only router? realistically?</p>
<p>17:19 &lt;@jrand0m&gt; word, if you code on friday I'll kick your ass</p>
<p>17:19 &lt;@jrand0m&gt; virtually, at least</p>
<p>17:19 &lt;@hezekiah&gt; jrand0m: I thought that's what I'm coding. The Python</p>
<p> local only router.</p>
<p>17:19 &lt;@jrand0m&gt; si, that you are</p>
<p>17:19 &lt;@hezekiah&gt; Well the deadline is August 1st.</p>
<p>17:19 &lt;@jeremiah&gt; right now we're working on message to-from binary format</p>
<p> stuff</p>
<p>17:19 &lt;@hezekiah&gt; That's not that hard.</p>
<p>17:19 &lt;@jeremiah&gt; right</p>
<p>17:19 &lt;@hezekiah&gt; I'm hoping to have that done in a day or two.</p>
<p>17:20 &lt;@jrand0m&gt; thats friday :)</p>
<p>17:20 &lt;@jrand0m&gt; awesome</p>
<p>17:20 &lt;@hezekiah&gt; I hope it will be done by August 1st. Realistically it</p>
<p> might be a few days late, but I hope not.</p>
<p>17:20 &lt;@jrand0m&gt; 'k, I'll hold off on touching any java local only stuff</p>
<p> then and work on the network spec after the java client api is set.</p>
<p>17:20 &lt;@hezekiah&gt; Yes. Specs are good.</p>
<p>17:21 &lt;@hezekiah&gt; They make my job a LOT easier! :)</p>
<p>17:21 &lt;@jrand0m&gt; word.</p>
<p>17:21 &lt;@jrand0m&gt; I'll write up a quick 2 paragraph run through of the java</p>
<p> I2CP test harness too</p>
<p>17:21 &lt;@jrand0m&gt; I'll get that out tonight</p>
<p>17:22 &lt;@hezekiah&gt; jrand0m: I love how you get these specs written so fast.</p>
<p>17:22 &lt;@hezekiah&gt; This is fun. :)</p>
<p>17:22 &lt;@jrand0m&gt; Ok, hez/jeremiah/thecrypto&gt; anything else on I2CP?</p>
<p>17:22 &lt;@jrand0m&gt; lol</p>
<p>17:22 -!- dm [~hifi@anon.iip] has joined #iip-dev</p>
<p>17:22 &lt;@hezekiah&gt; Um ...</p>
<p>17:22 &lt;@hezekiah&gt; I want the crypto spec!</p>
<p>17:22 &lt; dm&gt; welcome</p>
<p>17:22 * hezekiah pouts like a baby</p>
<p>17:22 &lt;@hezekiah&gt; ;-)</p>
<p>17:23 &lt;@hezekiah&gt; Seriously, ... I can't think of anything.</p>
<p>17:23 &lt;@jrand0m&gt; thats agenda item 2.3</p>
<p>17:23 &lt;@thecrypto&gt; still waiting for 2.3 to come up</p>
<p>17:23 &lt;@hezekiah&gt; If I do, I'll just come online and pester you with questions,</p>
<p> jrand0m. :)</p>
<p>17:23 &lt;@jrand0m&gt; word.</p>
<p>17:23 &lt;@jrand0m&gt; ok. 2.2) SDK plans</p>
<p>17:23 &lt;@hezekiah&gt; What agenda point did we just finish?</p>
<p>17:23 &lt;@hezekiah&gt; 2.4?</p>
<p>17:23 &lt;@hezekiah&gt; And have we finished 2.1 yet?</p>
<p>17:23 &lt;@jrand0m&gt; 2.1</p>
<p>17:24 &lt;@jrand0m&gt; now 2.2&gt; the SDK</p>
<p>17:24 &lt;@hezekiah&gt; OK.</p>
<p>17:24 &lt; dm&gt; agenda has decimal point in it now? I see progress already.</p>
<p>17:24 &lt;@hezekiah&gt; I'm found now (as opposed to lost).</p>
<p>17:24 &lt;@thecrypto&gt; we might have 2 decimal points :)</p>
<p>17:25 &lt;@jeremiah&gt; what makes up the SDK apart from the various APIs?</p>
<p>17:25 &lt;@jrand0m&gt; the SDK is: the client API (as many as we have available), the</p>
<p> local only router, a trivial sample app, and some docs on how to use the APIs.</p>
<p>17:25 &lt;@hezekiah&gt; jrand0m: Would I be correct in assuming that you're writing</p>
<p> the docs? :)</p>
<p>17:26 &lt;@jrand0m&gt; I'd like to have the SDK released asap, so that 3rd (or</p>
<p> even 2nd or 1st) party developers can write and test applications that will</p>
<p> run over I2P, so once the network is operational, we'll hit the ground running.</p>
<p>17:26 &lt;@jrand0m&gt; hezekiah&gt; I'd actually prefer not to.</p>
<p>17:26 &lt;@jrand0m&gt; hezekiah&gt; and I say that not because I don't want to document,</p>
<p> but because I'm too close to it.</p>
<p>17:26 &lt;@hezekiah&gt; jrand0m: OK.</p>
<p>17:26 &lt;@jrand0m&gt; we should have somone who *doesn't* actually implement the</p>
<p> code write that doc, so it can be understandable to people who didn't write</p>
<p> the I2CP spec</p>
<p>17:26 &lt;@hezekiah&gt; jrand0m: We'll cross that bridge when we get there.</p>
<p>17:26 &lt;@jrand0m&gt; but if need be, I'll jump on it.</p>
<p>17:26 &lt;@jrand0m&gt; word.</p>
<p>17:27 &lt; dm&gt; what incentive do people have to write apps without an operational</p>
<p> network, and how would they even test their app.</p>
<p>17:27 &lt;@hezekiah&gt; jrand0m: Or why don't someone who designed the protocol</p>
<p> write it, and then have someone who never worked with it go over it until</p>
<p> it makes sense?</p>
<p>17:27 &lt;@jrand0m&gt; Ok, there has been some discussion of a simple 'talk'</p>
<p> style app.</p>
<p>17:27 &lt;@jrand0m&gt; dm&gt; people will be able to test with the SDK.</p>
<p>17:27 &lt;@thecrypto&gt; actully, i was wondering what would be the use of that</p>
<p> if it's local only</p>
<p>17:28 &lt;@jeremiah&gt; dm: the idea is to implement a simple network that isn't</p>
<p> fully functional but can pass messages</p>
<p>17:28 &lt;@thecrypto&gt; you'd only be able to talk to yourself</p>
<p>17:28 &lt;@jeremiah&gt; it's not actually local-only, but it only includes</p>
<p> client-router, not router-router code</p>
<p>17:28 &lt;@jrand0m&gt; thecrypto&gt; you can talk to other Destinations. I2P is</p>
<p> location independent - local is the same as remote.</p>
<p>17:29 &lt;@thecrypto&gt; okay</p>
<p>17:29 &lt; dm&gt; nice and all, I just don't see anyone (besides you 3-4) writing</p>
<p> anything if you can only test locally. But anyway, doesn't matter.</p>
<p>17:29 &lt;@jrand0m&gt; so a talk app can open up two instances of the application</p>
<p> and talk to oneself, etc</p>
<p>17:30 &lt;@thecrypto&gt; but when we add the remote stuff, the app should just work</p>
<p>17:30 &lt;@jrand0m&gt; dm&gt; right, this is just a prereq for having other people</p>
<p> write apps.</p>
<p>17:30 &lt;@jrand0m&gt; exactly.</p>
<p>17:30 &lt;@jrand0m&gt; the app will work with absolutely NO changes</p>
<p>17:30 &lt; co&gt; dm: This is a test application. Once the router-router code is</p>
<p> written, you will be able to talk to others.</p>
<p>17:30 &lt;@jeremiah&gt; having local-only just lets us develop in parallel</p>
<p>17:30 &lt; dm&gt; yes, but if the app assumes 10 ms latency, and it ends being 12</p>
<p> seconds, it won't work too well :)</p>
<p>17:31 &lt;@jrand0m&gt; agreed dm</p>
<p>17:31 &lt; dm&gt; any estimates on latency btw? :)</p>
<p>17:31 &lt;@jrand0m&gt; if we have 12 second latency, we have work to do.</p>
<p>17:31 &lt;@jrand0m&gt; we won't have that though.</p>
<p>17:31 &lt;@jrand0m&gt; estimates are .6-2.7sec</p>
<p>17:31 &lt;@jrand0m&gt; for a 5,000,000 router network.</p>
<p>17:31 &lt;@hezekiah&gt; BTW, that reminds me. We need to talk about ElGamal.</p>
<p>17:31 &lt;@thecrypto&gt; the longest time is setup</p>
<p>17:31 &lt;@jrand0m&gt; (see iip-dev archives for the rudimentary models)</p>
<p>17:31 &lt; dm&gt; lower or higher for smaller networks?</p>
<p>17:32 &lt;@jrand0m&gt; hezekiah&gt; 2.3: crypto.</p>
<p>17:32 &lt;@thecrypto&gt; after that the time the drops dramatically</p>
<p>17:32 &lt;@jrand0m&gt; dm&gt; lower.</p>
<p>17:32 &lt;@thecrypto&gt; hezekiah: you prolly have the same question as i</p>
<p>17:32 &lt;@jrand0m&gt; thecrypto&gt; exactly, setup time is offline for message</p>
<p> delivery though [aka set up tunnels prior to sending messages]</p>
<p>17:32 &lt; dm&gt; ok, just checking you ;)</p>
<p>17:32 &lt;@jrand0m&gt; heh</p>
<p>17:33 &lt;@jrand0m&gt; ok. last part of the SDK - the app</p>
<p>17:33 &lt;@jrand0m&gt; co/thecrypto: thoughts on a java talk impl? workable?</p>
<p> time? plans? interest?</p>
<p>17:34 &lt;@thecrypto&gt; once the API is up, we can prolly have a talk done in</p>
<p> about a week or so, 2 tops, co agrre?</p>
<p>17:34 &lt;@jeremiah&gt; chat could be built in as a jabber router, right?</p>
<p>17:34 &lt; co&gt; That should be fairly easy to do.</p>
<p>17:34 &lt; co&gt; thecrypto: I agree.</p>
<p>17:34 &lt;@jrand0m&gt; jeremiah&gt; I don't know jabber, but if jabber can run over</p>
<p> the api, cool</p>
<p>17:35 &lt;@jrand0m&gt; word co &amp; thecrypto</p>
<p>17:35 &lt;@jrand0m&gt; jeremiah&gt; note that this is just a trivial app to do proof</p>
<p> of concept with, not a Kickass Anonymous IM System :)</p>
<p>17:35 &lt;@jeremiah&gt; not yet ;)</p>
<p>17:35 &lt;@thecrypto&gt; we can add that functionallity later</p>
<p>17:35 &lt;@jeremiah&gt; k</p>
<p>17:36 &lt;@jrand0m&gt; heh</p>
<p>17:36 &lt;@thecrypto&gt; let's start small</p>
<p>17:36 * jrand0m puts in the schedule "add feature: be kickass"</p>
<p>17:36 &lt; some_random_guy&gt; heh</p>
<p>17:36 &lt; some_random_guy&gt; nice feature :)</p>
<p>17:36 -!- dm2 [~hifi@anon.iip] has joined #iip-dev</p>
<p>17:37 &lt;@jeremiah&gt; jrand0m: I think I missed this in 2.1, but any thoughts</p>
<p> on kademlia as a DHT? it requires less upkeep than Chord</p>
<p>17:37 -!- nop [nop@anon.iip] has joined #iip-dev</p>
<p>17:37 &lt; nop&gt; sorry</p>
<p>17:37 &lt;@jrand0m&gt; plus one of these days we need to get someone on the IIP</p>
<p> redesign to run over this.</p>
<p>17:37 -!- dm [~hifi@anon.iip] has quit [Ping timeout]</p>
<p>17:37 &lt; nop&gt; what?</p>
<p>17:37 &lt; nop&gt; who</p>
<p>17:37 &lt; nop&gt; where</p>
<p>17:37 &lt; nop&gt; when</p>
<p>17:37 &lt; nop&gt; ?</p>
<p>17:37 -!- dm2 is now known as dm</p>
<p>17:37 &lt;@jrand0m&gt; hey, speakin of the devil</p>
<p>17:37 &lt; WinBear&gt; why?</p>
<p>17:37 &lt; WinBear&gt; nm</p>
<p>17:37 &lt; nop&gt; I'm an angel actually</p>
<p>17:37 &lt;@hezekiah&gt; lol</p>
<p>17:38 &lt;@thecrypto&gt; someone hand nop a log</p>
<p>17:38 &lt; WinBear&gt; azrel</p>
<p>17:38 &lt;@jrand0m&gt; jeremiah&gt; kademila is a good DHT, and we will definitely</p>
<p> review that plus the chord/tapestry crew, along with sloppy dhts in the</p>
<p> network spec.</p>
<p>17:38 &lt;@jeremiah&gt; jrand0m: cool</p>
<p>17:38 &lt;@hezekiah&gt; thecrypto: I'm working on it. :)</p>
<p>17:38 &lt; nop&gt; I was hearing of one that kicks but</p>
<p>17:38 &lt; nop&gt; called chord/middle</p>
<p>17:38 -!- hif [~hifi@anon.iip] has joined #iip-dev</p>
<p>17:39 &lt; nop&gt; but you know who is good to talk to his brandon wiley</p>
<p>17:39 * jrand0m !thwaps nop</p>
<p>17:39 &lt; nop&gt; I knew that would hurt</p>
<p>17:39 &lt;@hezekiah&gt; lol</p>
<p>17:39 &lt;@hezekiah&gt; Who's Brandon Wiley?</p>
<p>17:39 &lt; nop&gt; someone I'm sure jrand0m has been in numerous discussions with</p>
<p>17:39 &lt; nop&gt; :)</p>
<p>17:39 &lt; nop&gt; someone email me a log</p>
<p>17:39 &lt; dm&gt; Brandon is jrandom's real name, busted!</p>
<p>17:39 &lt;@hezekiah&gt; I'm working on it.</p>
<p>17:40 &lt;@hezekiah&gt; Hold you horses, nop. :)</p>
<p>17:40 &lt; nop&gt; haha</p>
<p>17:40 &lt; dm&gt; Brandon Wiley is the first Freenet programmer, having</p>
<p>17:40 &lt; dm&gt; co-founded the development effort with the system's inventor,</p>
<p> Ian Clarke</p>
<p>17:40 &lt; nop&gt; is userx here or there</p>
<p>17:40 &lt; WinBear&gt; you can talk to my brandon wiley</p>
<p>17:40 &lt;@hezekiah&gt; OK. It's on the way ... if my mail client will cooperate</p>
<p> and send a 15K attachement.</p>
<p>17:41 &lt;@thecrypto&gt; we've talked alot :)</p>
<p>17:41 &lt;@hezekiah&gt; nop: UserX is niether hither or thither.</p>
<p>17:41 &lt;@hezekiah&gt; OK!</p>
<p>17:41 &lt;@hezekiah&gt; The log is sent nop! Go read. :)</p>
<p>17:41 &lt;@thecrypto&gt; and now we wait</p>
<p>17:41 &lt;@jrand0m&gt; ok, anyone have any SDK thoughts while we give nop a min</p>
<p> to catch up? ;)</p>
<p>17:41 &lt;@hezekiah&gt; jrand0m: Now that I've gotten that log business done</p>
<p> ... what's kademlia?</p>
<p>17:42 &lt;@jrand0m&gt; Yet Another Academic DHT :)</p>
<p>17:42 &lt;@hezekiah&gt; And where I can get a link to kademlia's webpage?</p>
<p>17:42 -!- Erazerhead [JohnDoe@anon.iip] has joined #iip-dev</p>
<p>17:42 &lt;@jeremiah&gt; http://kademlia.scs.cs.nyu.edu/</p>
<p>17:42 &lt;@hezekiah&gt; Thanks. :)</p>
<p>17:42 &lt;@thecrypto&gt; YAADHT?</p>
<p>17:42 &lt;@hezekiah&gt; lol</p>
<p>17:42 &lt;@hezekiah&gt; Names these days ... I tell ya'!</p>
<p>17:43 &lt;@jrand0m&gt; and if there's ever any CS stuff mentioned that you don't</p>
<p> understand, go to citeseer.nj.nec.com/cs</p>
<p>17:43 &lt; WinBear&gt; klamidia?</p>
<p>17:43 &lt;@hezekiah&gt; OK.</p>
<p>17:43 &lt; nop&gt; jrand0m: I was just about to say citeseer</p>
<p>17:43 &lt; dm&gt; what's the ETA on the SDK?</p>
<p>17:44 * jrand0m avoids injecting the clap into I2P</p>
<p>17:44 * jrand0m hopes the SDK will be out next week. perhaps next friday?</p>
<p>17:44 * thecrypto crosses another pair of fingers</p>
<p>17:45 &lt;@jrand0m&gt; ok. moving on to 2.3) Crypto.</p>
<p>17:45 * hezekiah imagines thecrypto with about 13 sets of fingers crossed</p>
<p> ... and then realized that he must have run out by now.</p>
<p>17:45 &lt;@hezekiah&gt; Yay!</p>
<p>17:45 * jrand0m pokes nop to make sure he's here</p>
<p>17:45 &lt;@hezekiah&gt; Crypto!</p>
<p>17:45 &lt;@hezekiah&gt; I have something to start us off with. :)</p>
<p>17:46 &lt;@thecrypto&gt; i have something too</p>
<p>17:46 &lt;@thecrypto&gt; Dibs! :)</p>
<p>17:46 * jrand0m doesn.t so you two fight it out</p>
<p>17:46 &lt;@hezekiah&gt; thecrypto can go first. :)</p>
<p>17:46 &lt;@jrand0m&gt; thecrypto&gt; speak</p>
<p>17:46 &lt;@jrand0m&gt; :)</p>
<p>17:46 &lt;@thecrypto&gt; Ok, on Elgamal</p>
<p>17:47 &lt;@thecrypto&gt; We have to figure out whether or not we have common p</p>
<p> and alpha</p>
<p>17:47 -!- some_random_guy [~dan@anon.iip] has quit [BitchX: the original</p>
<p> point-and-click interface.]</p>
<p>17:47 &lt;@thecrypto&gt; the problem with a common p and alpha is that we'd have</p>
<p> to find someway to change everyone's keys at the same time</p>
<p>17:48 &lt;@jrand0m&gt; aka: really bad.</p>
<p>17:48 &lt; co&gt; thecrypto: Sorry, what are p and alpha?</p>
<p>17:48 &lt;@thecrypto&gt; the advantage is that we can pick specially optimized</p>
<p> ones and the amount of data transmitted for a public key is very small</p>
<p>17:48 * jrand0m sees no good reason to use common p and alpha, beyond saving</p>
<p> a few bits</p>
<p>17:48 &lt;@thecrypto&gt; co: for all intensive purposes, special big numbers</p>
<p>17:49 &lt;@jrand0m&gt; thecrypto&gt; we can still optimize for commonly encrypted to</p>
<p> destination's p and alpha</p>
<p>17:49 &lt;@thecrypto&gt; or should i go into an explaination of how elgamal workds</p>
<p>17:49 &lt;@thecrypto&gt; jrand0m: yes</p>
<p>17:49 &lt; co&gt; thecrypto: OK.</p>
<p>17:49 &lt;@thecrypto&gt; we can also have everyone have a different p and alpha</p>
<p>17:50 &lt;@jeremiah&gt; for those who are interested:</p>
<p> http://www.wikipedia.org/wiki/ElGamal_discrete_log_cryptosystem</p>
<p>17:50 &lt;@thecrypto&gt; this means that the amount of data transmitted is much</p>
<p> larger and we have to figure out how to pack it in</p>
<p>17:50 &lt;@jrand0m&gt; word, thanks jeremiah</p>
<p>17:50 &lt;@jrand0m&gt; much larger?</p>
<p>17:50 &lt;@jrand0m&gt; I thought with varying p and alpha we can use smaller p</p>
<p> and alpha?</p>
<p>17:51 &lt;@thecrypto&gt; instead of 160 bit numbers we are now talking 2 1024 bit</p>
<p> and 1 160</p>
<p>17:51 &lt;@thecrypto&gt; or overall 2308</p>
<p>17:51 &lt;@hezekiah&gt; 288 bytes</p>
<p>17:51 &lt;@hezekiah&gt; Big deal.</p>
<p>17:52 &lt;@jrand0m&gt; ok, thats not too bad. we've planned on 256bytes</p>
<p>17:52 &lt;@hezekiah&gt; These keys aren't transfered all that often, are they?</p>
<p>17:52 &lt;@jrand0m&gt; another 32 doesn't hurt</p>
<p>17:52 &lt;@jrand0m&gt; hezekiah&gt; they're inserted into the DHT</p>
<p>17:52 &lt;@hezekiah&gt; Ah!</p>
<p>17:52 &lt;@hezekiah&gt; That's why we wanted it small.</p>
<p>17:53 &lt;@thecrypto&gt; also, another problem about elgamal we might also have</p>
<p> to worry about</p>
<p>17:53 &lt;@jrand0m&gt; well, it doesn't really hurt if the RouterInfo structure</p>
<p> is about 10K or so</p>
<p>17:53 -!- mrflibble [mrflibble@anon.iip] has joined #iip-dev</p>
<p>17:53 &lt;@jrand0m&gt; 'k, s'up thecrypto?</p>
<p>17:53 &lt;@thecrypto&gt; message expansion is 2, the size of an encryption or a</p>
<p> signature is twice the size of the message</p>
<p>17:54 &lt;@jrand0m&gt; ElG encryption is only of the AES key</p>
<p>17:54 &lt;@jrand0m&gt; ElG signature is only of the SHA256 hashes</p>
<p>17:55 &lt;@thecrypto&gt; okay, it's just something to bring up as well</p>
<p>17:55 &lt;@hezekiah&gt; jrand0m: Which makes me _really_ puzzled.</p>
<p>17:55 &lt;@thecrypto&gt; now back to the original issue, do we want to have a</p>
<p> shared p and alpha or do we want everyone to have different p and alphas?</p>
<p>17:55 &lt;@jrand0m&gt; hezekiah&gt; hmm? you read the data structure spec for</p>
<p> #Payload ?</p>
<p>17:55 &lt;@jrand0m&gt; any thoughts/questions on that hezekiah?</p>
<p>17:55 * dm now understands how DHTs work.</p>
<p>17:55 &lt;@jrand0m&gt; nop&gt; thoughts?</p>
<p>17:55 &lt;@jrand0m&gt; awesome dm</p>
<p>17:55 &lt;@hezekiah&gt; If a signature is twice the size of the data signed,</p>
<p> then why does the IC2P spec say a signature is 128 bytes?</p>
<p>17:56 &lt; nop&gt; no</p>
<p>17:56 &lt; nop&gt; shared p</p>
<p>17:56 &lt;@hezekiah&gt; Shouldn't it bee 512?</p>
<p>17:56 &lt;@thecrypto&gt; the hash of the bytes</p>
<p>17:56 &lt; nop&gt; and alphas</p>
<p>17:56 &lt; dm&gt; seems like a lot of work is required when joining a DHT, but I</p>
<p> guess it works.</p>
<p>17:56 &lt; nop&gt; shared base, shared p</p>
<p>17:56 &lt;@jrand0m&gt; hezekiah&gt; bits / bytes.</p>
<p>17:56 &lt; nop&gt; this will eliminate a lot of risk</p>
<p>17:56 &lt;@thecrypto&gt; then how big do we want it?</p>
<p>17:56 &lt;@hezekiah&gt; Hmm</p>
<p>17:56 &lt;@jrand0m&gt; nop&gt; in 3 years, will we want to have everyone change their</p>
<p> p and alpha at the same time?</p>
<p>17:56 &lt; nop&gt; and hold our protocol to standards</p>
<p>17:57 &lt;@thecrypto&gt; since it does open up that p and alpha huge attacks</p>
<p>17:57 &lt; nop&gt; jrand0m: there is such a thing called cooked primes, at this</p>
<p> time, and this is the time I'm looking at</p>
<p>17:57 &lt;@thecrypto&gt; which if completed bring the entire network down</p>
<p>17:57 &lt; nop&gt; I believe we can modify with the times</p>
<p>17:57 &lt; nop&gt; but a static oakley approved prime is advised</p>
<p>17:57 &lt; nop&gt; as they have been reviewed thoroughly as secure</p>
<p>17:58 &lt; nop&gt; and that is a better basis than any of our assumptions about</p>
<p> primes being generated (probable at that)</p>
<p>17:58 &lt;@thecrypto&gt; if it's not prime, encryption or signatures won't work</p>
<p> so we just throw it our</p>
<p>17:59 &lt;@jrand0m&gt; agreed, they have better primes. so when one of those</p>
<p> primes are factored, everyone using them is exposed, correct?</p>
<p>17:59 &lt; dm&gt; hmmm, I gotta go. This is logged right?</p>
<p>17:59 &lt; nop&gt; jrand0m: yes</p>
<p>17:59 &lt;@thecrypto&gt; yup</p>
<p>17:59 &lt; nop&gt; jrand0m: when that happens we'll all know</p>
<p>17:59 &lt; nop&gt; I don't want to risk prime generation</p>
<p>17:59 -!- dm [~hifi@anon.iip] has quit [it better be]</p>
<p>17:59 &lt;@thecrypto&gt; how will we know?</p>
<p>17:59 &lt; nop&gt; plus it adds to our calculation time</p>
<p>17:59 -!- hif [~hifi@anon.iip] has quit []</p>
<p>17:59 &lt; nop&gt; thecrypto: if you use a standard defined Oakley prime set,</p>
<p> you will know when it's been cracked</p>
<p>18:00 &lt;@thecrypto&gt; how?</p>
<p>18:00 &lt; nop&gt; as it will be very public news</p>
<p>18:00 &lt;@jrand0m&gt; nop&gt; we'll know unless the NSA cracks it.</p>
<p>18:00 &lt; co&gt; nop: How many of those primes are there? If not many, using them</p>
<p> is a risk.</p>
<p>18:00 &lt;@thecrypto&gt; yeah, passive evesdropping is still a threat</p>
<p>18:00 &lt;@thecrypto&gt; and i can make a program to generate ps and alphas and</p>
<p> test them in about an hour</p>
<p>18:00 &lt;@jrand0m&gt; nop&gt; it would be very public news unless it was a threat</p>
<p> to national security.</p>
<p>18:00 &lt; co&gt; Wait... no, that's a stupid question. Never mind.</p>
<p>18:01 &lt; nop&gt; this is true, but I believe from numerous contacts in the</p>
<p> cryptography community that if it's solved it will be solved before the NSA</p>
<p> does it</p>
<p>18:01 &lt; nop&gt; our prime generation will not secure that either way</p>
<p>18:01 &lt; nop&gt; if they solve those primes</p>
<p>18:01 &lt; nop&gt; you may as well figure out a new algo to use</p>
<p>18:01 &lt;@jrand0m&gt; 'k.</p>
<p>18:02 &lt; nop&gt; please use static, it will relieve problems with cryptanalysis,</p>
<p> and reduce the risks of mistake in our crypto</p>
<p>18:02 &lt;@jrand0m&gt; I was on the fence, and I'm fine with going with shared</p>
<p> known good primes.</p>
<p>18:02 &lt;@thecrypto&gt; okay, then let's pick a prime then</p>
<p>18:02 &lt;@jrand0m&gt; nop&gt; we've still got you penciled in the ganttchart for</p>
<p> crypto spec</p>
<p>18:02 &lt;@thecrypto&gt; and do they have generators for these primes?</p>
<p>18:02 &lt; nop&gt; yes</p>
<p>18:02 &lt; nop&gt; yes I do</p>
<p>18:03 &lt; nop&gt; 2</p>
<p>18:03 &lt; nop&gt; that is a primitive root of the primes I will have</p>
<p>18:03 &lt; nop&gt; what size primes do you guys want?</p>
<p>18:03 &lt;@thecrypto&gt; i'm thinking somewhere between 2048-4096</p>
<p>18:03 &lt;@hezekiah&gt; We're using a 2048 key, right?</p>
<p>18:03 &lt; nop&gt; yes, so use a 4096 or higher prime</p>
<p>18:04 &lt;@thecrypto&gt; because the sharedness means we're out in the open</p>
<p>18:04 &lt;@thecrypto&gt; and if this takes off, it would be a very valuble prime</p>
<p> to break</p>
<p>18:04 * cohesion missed the meeting</p>
<p>18:04 &lt; co&gt; You are using this prime within ElGamal, though, right?</p>
<p>18:04 &lt;@hezekiah&gt; So the keys will be 4096 bits?</p>
<p>18:04 &lt;@cohesion&gt; did someone log?</p>
<p>18:04 &lt; nop&gt; co yes</p>
<p>18:04 &lt; nop&gt; no hezekiah</p>
<p>18:04 &lt; nop&gt; the keys will be 2048</p>
<p>18:04 &lt;@cohesion&gt; ok</p>
<p>18:04 &lt; nop&gt; the prime will be higher than 4096</p>
<p>18:04 * cohesion goes back to his work</p>
<p>18:04 &lt;@hezekiah&gt; OK. Please forgive my horribe understanding here. :)</p>
<p>18:04 &lt; nop&gt; brb</p>
<p>18:05 &lt;@thecrypto&gt; p and alpha can be fixed, alpha will be 2 and p will be</p>
<p> the prime we pick</p>
<p>18:05 &lt; nop&gt; ok, let me email the prime candidates</p>
<p>18:05 &lt; nop&gt; give me a couple of hours I have some work to do</p>
<p>18:05 * jeremiah wanders to dinner, will read logs later</p>
<p>18:05 &lt;@thecrypto&gt; the serect key is a, a number between 0 and p - 2</p>
<p>18:05 &lt;@thecrypto&gt; the public key is 2^a mod p</p>
<p>18:06 &lt; nop&gt; can we move to next topic and come back so I can be here for</p>
<p> that, I'll be right back, at work and have to do a task real quick</p>
<p>18:06 &lt;@hezekiah&gt; OK, so you call my 'x' as 'a'</p>
<p>18:06 &lt;@hezekiah&gt; ... and my 'g' as 'alpha'.</p>
<p>18:06 &lt; nop&gt; please move the algo talk explanations to a private message</p>
<p>18:06 &lt;@hezekiah&gt; thecrypto: Right?</p>
<p>18:06 &lt;@thecrypto&gt; yes</p>
<p>18:06 &lt;@jrand0m&gt; ok. so thecrypto, nop, and hezekiah will work out the</p>
<p> details of the algo later.</p>
<p>18:06 &lt; nop&gt; ok</p>
<p>18:06 &lt; nop&gt; for sure</p>
<p>18:06 &lt;@hezekiah&gt; OK ... so thecrypto, are you done with your question?</p>
<p>18:06 &lt;@thecrypto&gt; so let's move on</p>
<p>18:06 &lt; nop&gt; I'll email our primes</p>
<p>18:06 &lt;@thecrypto&gt; ye</p>
<p>18:06 &lt;@thecrypto&gt; s</p>
<p>18:06 &lt;@hezekiah&gt; OK. My turn! :)</p>
<p>18:07 &lt;@hezekiah&gt; Why on earth are we using ElGamal for signing?</p>
<p>18:07 &lt;@jrand0m&gt; ok. 2.4) roadmap / network proto status</p>
<p>18:07 &lt;@jrand0m&gt; not yet hez :)</p>
<p>18:07 &lt;@jrand0m&gt; oh hez</p>
<p>18:07 &lt;@hezekiah&gt; When do I get to ask it?</p>
<p>18:07 -!- dm [~hifi@anon.iip] has joined #iip-dev</p>
<p>18:07 &lt;@jrand0m&gt; what would you recommend, when we have ElG public keys?</p>
<p>18:07 &lt;@thecrypto&gt; when nop gets back</p>
<p>18:07 &lt;@jrand0m&gt; no, you're right, I'm wrong. now is the right time.</p>
<p>18:07 &lt; co&gt; Next topic, please.</p>
<p>18:07 &lt;@hezekiah&gt; jrand0m: Well, the problem is this:</p>
<p>18:07 &lt;@hezekiah&gt; speed</p>
<p>18:08 &lt;@hezekiah&gt; I was playing around with the crypto stuff today, and got</p>
<p> a nasty shock.</p>
<p>18:08 &lt;@hezekiah&gt; ElGamal was _astronomically_ slower at verifying a signature</p>
<p> than DSA or RSA.</p>
<p>18:08 &lt;@jrand0m&gt; hezekiah&gt; is that a library implementation problem or</p>
<p> the algorithm?</p>
<p>18:08 &lt;@hezekiah&gt; I don't know.</p>
<p>18:09 &lt;@hezekiah&gt; But I checked Applied Crypto and saw that at least _part_</p>
<p> of the problem is with ElGamal.</p>
<p>18:09 &lt;@hezekiah&gt; AC has tables of the amount of time it takes for signing</p>
<p> and verification for DSA, RSA, and ElGamal.</p>
<p>18:09 &lt;@jrand0m&gt; so are you suggesting we go to RSA for encryption, decryption,</p>
<p> and signing?</p>
<p>18:09 &lt;@hezekiah&gt; I</p>
<p>18:09 &lt;@hezekiah&gt; I'm not really suggesting much that's definate.</p>
<p>18:09 &lt;@jrand0m&gt; ...though we *could* add a second signing public key to</p>
<p> the RouterInfo structure</p>
<p>18:10 &lt;@hezekiah&gt; I'm just saying, that AC lists ElGamal verification at</p>
<p>9.30 seconds.</p>
<p>18:10 &lt;@hezekiah&gt; RSA is 0.08 seconds</p>
<p>18:10 &lt;@thecrypto&gt; for 1024 bits</p>
<p>18:10 &lt;@jrand0m&gt; damn.</p>
<p>18:10 &lt;@hezekiah&gt; DSA is 1.27 seconds</p>
<p>18:10 &lt;@hezekiah&gt; Now you see my problem.</p>
<p>18:10 &lt;@hezekiah&gt; ElGamal is dirt slow ...</p>
<p>18:10 &lt;@jrand0m&gt; we need sub &lt;100ms verification.</p>
<p>18:10 &lt;@jrand0m&gt; if not sub &lt;10ms</p>
<p>18:10 &lt;@hezekiah&gt; ... and my CPU is 333MHz.</p>
<p>18:11 &lt;@hezekiah&gt; BTW, these calculations were done on a SPARC II</p>
<p>18:11 &lt;@hezekiah&gt; I've got an AMD K6-2 333MHz.</p>
<p>18:11 &lt;@jrand0m&gt; a sparc 2 is a 40Mhz machine.</p>
<p>18:11 &lt;@hezekiah&gt; Verifying an ElGamal sig with my Python module (which uses</p>
<p> a C backend but smells a little fishy).</p>
<p>18:11 &lt; luckypunk&gt; god</p>
<p>18:11 &lt; luckypunk&gt; well</p>
<p>18:11 &lt;@hezekiah&gt; jrand0m: OK. I have no clue about SPARC's.</p>
<p>18:11 &lt;@hezekiah&gt; Anyway, it took about 20 seconds.</p>
<p>18:12 &lt;@hezekiah&gt; If not a little more.</p>
<p>18:12 &lt; luckypunk&gt; anyone with a 1 ghz -2 ghz proc doesn't need to worry.</p>
<p>18:12 &lt; co&gt; hezekiah: On modern computers, then, the verification should be</p>
<p> acceptably fast.</p>
<p>18:12 &lt;@hezekiah&gt; DSA and RSA were nearly instantainious.</p>
<p>18:12 &lt;@jrand0m&gt; hezekiah&gt; I do. sparc 2 was fast in '92</p>
<p>18:12 &lt;@hezekiah&gt; Anyway, that's why I bring all this up.</p>
<p>18:12 &lt;@hezekiah&gt; We could add a DSA key, but that would meen 2 keys</p>
<p>18:12 &lt;@thecrypto&gt; we should still wonder about people who don't have the</p>
<p> uber fast machines</p>
<p>18:12 &lt;@hezekiah&gt; Or we could go with RSA.</p>
<p>18:12 &lt;@jrand0m&gt; my memory of our rationale for ElG as opposed to RSA was</p>
<p> the preference was not very strong.</p>
<p>18:13 &lt;@hezekiah&gt; Or we can live with the long verification time and use ElG.</p>
<p>18:13 &lt;@jrand0m&gt; thecrypto&gt; absolutely.</p>
<p>18:13 &lt;@thecrypto&gt; nop was the one to say, let's use elgamal</p>
<p>18:13 &lt;@hezekiah&gt; thecrypto: Precisely. Mom and Pop will eventually be</p>
<p> transparently using I2P.</p>
<p>18:13 &lt;@jrand0m&gt; we're going to want bootable distros for 386s, as well as</p>
<p> in-applet implementations.</p>
<p>18:13 &lt;@hezekiah&gt; Mom and Pop won't have state of the art hardware.</p>
<p>18:13 &lt; luckypunk&gt; oh god</p>
<p>18:14 &lt; luckypunk&gt; everyone who would want this has at least a p100 or so.</p>
<p>18:14 &lt; co&gt; Let's not compromise security by choosing a weaker algorithm</p>
<p> that is faster.</p>
<p>18:14 &lt;@hezekiah&gt; co: I'm not suggesting we do.</p>
<p>18:14 &lt;@thecrypto&gt; elgamal and DSA are equivilent</p>
<p>18:14 &lt;@jrand0m&gt; ok. so we're going to revisit the RSA/ElG choice. the code</p>
<p> changes shouldn't be a problem.</p>
<p>18:14 &lt; luckypunk&gt; they can suffer.</p>
<p>18:14 &lt;@hezekiah&gt; co: RSA and DSA are just as reputable as ElGamal.</p>
<p>18:14 &lt; luckypunk&gt; lol</p>
<p>18:14 &lt; luckypunk&gt; if you're concerned about anonyminity</p>
<p>18:14 &lt;@hezekiah&gt; thecrypto: And nothing could be farther from the truth.</p>
<p>18:14 &lt; luckypunk&gt; you won't care about speed too much.</p>
<p>18:14 &lt;@thecrypto&gt; hezekiah: they are both implementations of the same</p>
<p> general algorithim</p>
<p>18:14 &lt; dm&gt; the obvious step here is for someone to figure out for certain</p>
<p> what the CPU usages for the two are :)</p>
<p>18:14 &lt;@jrand0m&gt; luckypunk&gt; you listen to the complaints wrt freenet much?</p>
<p>18:15 &lt;@hezekiah&gt; thecrypto: DSA can't encrypt. It's only a sig algo, and</p>
<p> it's a lot faster than ElG.</p>
<p>18:15 &lt;@thecrypto&gt; hezekiah: it just happens that the signing and verification</p>
<p> equations for DSA are faster</p>
<p>18:15 &lt;@jrand0m&gt; dm&gt; if Applied Crypto benchmarked RSA verification at</p>
<p>1/100th ElG, thats enough for me.</p>
<p>18:15 &lt;@thecrypto&gt; we can use ElG for encryption/decryption and DSA for</p>
<p> signing/verification</p>
<p>18:15 &lt;@jrand0m&gt; the options are go to RSA or add a DSA key (~256bytes more)</p>
<p> to the RouterInfo structure</p>
<p>18:15 &lt;@hezekiah&gt; Right. But now the DHT has 2 public keys in it.</p>
<p>18:16 &lt;@jrand0m&gt; so?</p>
<p>18:16 &lt; co&gt; Let's have one public key. That will be less confusing.</p>
<p>18:16 &lt;@hezekiah&gt; co: It would only be 'confusing' for developers ... and</p>
<p> we need to know what we're doing. :)</p>
<p>18:16 &lt;@thecrypto&gt; i think it's time to wait for nop on this one too</p>
<p>18:16 &lt;@hezekiah&gt; Right.</p>
<p>18:16 &lt;@jrand0m&gt; but if its 100times a slow...</p>
<p>18:16 &lt;@jrand0m&gt; anyway, we'll continue the crypto design discussion offline.</p>
<p>18:17 &lt;@hezekiah&gt; jrand0m: Email the mailing list, will ya'?</p>
<p>18:17 &lt; luckypunk&gt; jrand0m: god, i don't mind, if you cant wait 40 sseconds</p>
<p> for your page to load, fuck off.</p>
<p>18:17 &lt;@thecrypto&gt; or after the main part of the meeting</p>
<p>18:17 &lt;@jrand0m&gt; shit, I email the list daily :)</p>
<p>18:17 &lt;@jrand0m&gt; heh lucky</p>
<p>18:17 -!- hif [~hifi@anon.iip] has joined #iip-dev</p>
<p>18:17 &lt;@jrand0m&gt; right.</p>
<p>18:17 &lt;@jrand0m&gt; ok&gt; 2.4) roadmap / network proto status</p>
<p>18:17 -!- hif is now known as dm2</p>
<p>18:18 &lt;@jrand0m&gt; I have done very little wrt the network proto beyond</p>
<p> responding to co's messages, as I've been working on the java and I2CP.</p>
<p>18:18 &lt;@jrand0m&gt; roadmap still seems on target.</p>
<p>18:18 &lt;@jrand0m&gt; any changes to the roadmap?</p>
<p>18:19 &lt;@jrand0m&gt; ok. if there are, whenever there are, just mail the list.</p>
<p>18:19 &lt;@hezekiah&gt; Right.</p>
<p>18:19 -!- dm [~hifi@anon.iip] has quit [Ping timeout]</p>
<p>18:19 &lt;@jrand0m&gt; the roadmap.xml is now in the i2p cvs module</p>
<p> i2p/doc/projectPlan</p>
<p>18:19 -!- dm2 is now known as dm</p>
<p>18:20 &lt;@hezekiah&gt; jrand0m: Let me guess ... that's on cathedral too?</p>
<p>18:20 &lt; nop&gt; back</p>
<p>18:20 &lt; nop&gt; sorry bout that</p>
<p>18:20 &lt;@jrand0m&gt; ok, thats it for that (though we can come back to network</p>
<p> protocol questions in the questions section).</p>
<p>18:20 &lt;@jrand0m&gt; I have no more subitems</p>
<p>18:20 &lt;@jrand0m&gt; hezekiah&gt; I don't use sf</p>
<p>18:20 &lt;@thecrypto&gt; well, now that nop is back we can go back to the speed</p>
<p> issue quickly</p>
<p>18:20 &lt;@hezekiah&gt; Right.</p>
<p>18:21 &lt; nop&gt; which speed issue</p>
<p>18:21 &lt;@thecrypto&gt; Elgamal is slow to verify</p>
<p>18:21 &lt; nop&gt; that's true</p>
<p>18:21 &lt; nop&gt; but so is rsa</p>
<p>18:21 &lt;@jrand0m&gt; nop&gt; Applied Crypto benchmarked RSA verification at 1/100th</p>
<p> ElG for signing.</p>
<p>18:21 &lt; nop&gt; hmm</p>
<p>18:22 &lt;@hezekiah&gt; RSA and DSA are instantanious for me.</p>
<p>18:22 &lt;@hezekiah&gt; ElG takes 20 seconds.</p>
<p>18:22 &lt; nop&gt; DSA is el gamal</p>
<p>18:22 &lt;@jrand0m&gt; So we can either jump to RSA or add a DSA key to the</p>
<p> RouterInfo structure</p>
<p>18:22 &lt; nop&gt; DSA</p>
<p>18:22 &lt; nop&gt; I have anything with R's in it</p>
<p>18:22 &lt; nop&gt; ;)</p>
<p>18:22 * jrand0m doesn't remember a really strong reason for ElG as opposed</p>
<p> to RSA</p>
<p>18:22 * jrand0m resents that</p>
<p>18:22 &lt;@hezekiah&gt; nop: Will you enlighten us? Why don't we use RSA?</p>
<p>18:23 &lt;@hezekiah&gt; In all the gory detials. :)</p>
<p>18:23 &lt; nop&gt; for the reasons of this, and it's debatable, but</p>
<p>18:23 &lt; dm&gt; someone msg me the URL to the iip-dev again when you get a chance.</p>
<p>18:23 &lt; nop&gt; factoring primes is how to solve RSA</p>
<p>18:23 &lt; dm&gt; iip-dev list that is.</p>
<p>18:23 &lt; luckypunk&gt; RSA has been cracked.</p>
<p>18:23 &lt; luckypunk&gt; practically.</p>
<p>18:23 &lt; nop&gt; yes, 512 bit RSA has been cracked</p>
<p>18:23 &lt; luckypunk&gt; or was it DES?</p>
<p>18:23 &lt; luckypunk&gt; bah.</p>
<p>18:23 &lt;@hezekiah&gt; DES has been cracked.</p>
<p>18:23 &lt; nop&gt; it was DES I think you're talking about</p>
<p>18:23 &lt; co&gt; luckypunk: Keys of certain size have been cracked.</p>
<p>18:23 &lt;@hezekiah&gt; RSA is not quite there yet.</p>
<p>18:24 &lt; nop&gt; anyway</p>
<p>18:24 &lt; luckypunk&gt; but it might.</p>
<p>18:24 &lt; nop&gt; back to my point</p>
<p>18:24 &lt;@hezekiah&gt; But the question is: is a 2048 or 4096 RSA key secure today?</p>
<p>18:24 &lt;@thecrypto&gt; hold one second</p>
<p>18:24 &lt; nop&gt; 512 bit RSA keys have been cracked with office computers</p>
<p>18:24 &lt;@jrand0m&gt; we're looking at 2048bit RSA or ElG</p>
<p>18:24 &lt; nop&gt; hezekiah: it would be, but here's the fun part</p>
<p>18:24 &lt; nop&gt; if you can factor primes</p>
<p>18:24 &lt; nop&gt; you can crack RSA</p>
<p>18:24 &lt; nop&gt; if you can compute discrete logarithms you can solve RSA and</p>
<p> EL gamal</p>
<p>18:24 &lt; nop&gt; we're closer to factoring</p>
<p>18:24 &lt; nop&gt; than we are with computing discrete logs</p>
<p>18:24 &lt; nop&gt; at this time</p>
<p>18:24 &lt; luckypunk&gt; isn't discrete logs a bit harder?</p>
<p>18:25 &lt;@hezekiah&gt; If you can factor primes _quickly_ you can crack RSA.</p>
<p>18:25 &lt;@hezekiah&gt; luckypunk: That's what nop's saying.</p>
<p>18:25 &lt; luckypunk&gt; quantum computers.</p>
<p>18:25 &lt; luckypunk&gt; are damned near to functional.</p>
<p>18:25 &lt;@hezekiah&gt; lol</p>
<p>18:25 &lt; nop&gt; and the ratio of bit sizes for pub keys for discrete logs is</p>
<p> stronger than RSA's keys</p>
<p>18:25 &lt; nop&gt; for instance 768 bit key is not advised by diffie-hellman</p>
<p> variants, but it has not been provably cracked</p>
<p>18:25 &lt;@hezekiah&gt; So, the end of it is that we add a DSA key.</p>
<p>18:25 &lt;@thecrypto&gt; nop, don't do a bill gates, it's factor large n where n = pq</p>
<p>18:25 &lt; nop&gt; as 512 bit RSA keys have</p>
<p>18:25 &lt;@thecrypto&gt; since factoring prime numbers is easy</p>
<p>18:25 &lt; nop&gt; thnx</p>
<p>18:25 &lt; nop&gt; sorry</p>
<p>18:25 &lt;@jrand0m&gt; hezekiah&gt; thats what its looking like.</p>
<p>18:26 &lt; nop&gt; I was trying to let everyone understand</p>
<p>18:26 &lt; nop&gt; sorry</p>
<p>18:26 &lt;@thecrypto&gt; just a bit of a clarification</p>
<p>18:26 &lt;@jrand0m&gt; word nop, thats cool, gracias</p>
<p>18:26 &lt;@hezekiah&gt; OK.</p>
<p>18:26 &lt; nop&gt; so DSA</p>
<p>18:26 &lt; nop&gt; then</p>
<p>18:26 &lt;@hezekiah&gt; So we're adding a DSA key?</p>
<p>18:26 &lt; nop&gt; which is a diffie-hellman variant as well</p>
<p>18:26 &lt;@jrand0m&gt; ok, given that, we'll continue crypto details offline.</p>
<p>18:26 &lt; nop&gt; I'm in favor of logs over factors</p>
<p>18:27 &lt; nop&gt; ;)</p>
<p>18:27 &lt;@hezekiah&gt; BTW, what do we still need to continue?</p>
<p>18:27 &lt; co&gt; dm: That URL is</p>
<p> http://news.gmane.org/thread.php?group=gmane.comp.security.invisiblenet.iip.devel</p>
<p>18:27 &lt;@thecrypto&gt; hezekiah: picking the magic prime</p>
<p>18:27 &lt;@hezekiah&gt; Oh, right!</p>
<p>18:27 &lt; dm&gt; thanks co, I found jrand0m's specs. Now all I need is a printer</p>
<p> with lots of toner.</p>
<p>18:27 &lt; nop&gt; I'll send that out</p>
<p>18:27 &lt;@jrand0m&gt; hezekiah&gt; update the data structure spec, add info wrt the</p>
<p> DSA, specify key size for dsa, etc.</p>
<p>18:27 &lt; nop&gt; let's do that offline</p>
<p>18:27 &lt;@jrand0m&gt; lol dm.</p>
<p>18:28 &lt;@hezekiah&gt; OK, so do you have anything left, jrand0m?</p>
<p>18:28 &lt;@jrand0m&gt; ok, I'm done with my stuff. hezekiah&gt; you had # 3?</p>
<p>18:28 &lt;@hezekiah&gt; Yeah.</p>
<p>18:28 &lt; dm&gt; hmmm. pictures are not showing up.</p>
<p>18:28 &lt;@hezekiah&gt; 3.) Whatever nop wants to add to the agenda.</p>
<p>18:28 &lt; dm&gt; jrand0m: is there a place to get the 'I2P Network Spec Draft</p>
<p>2003.07.23' with pictures included?</p>
<p>18:29 &lt; co&gt; dm: Yes, I have had that problem, too.</p>
<p>18:29 &lt;@jrand0m&gt; dm/co&gt; get the first rev of the network spec (two weeks</p>
<p> prior in the zip), which includes the png.</p>
<p>18:30 &lt;@jrand0m&gt; (its in cvs too, but thats not anon/public yet)</p>
<p>18:30 &lt; arj&gt; when will it be? :)</p>
<p>18:30 &lt;@hezekiah&gt; Wow!</p>
<p>18:30 &lt;@hezekiah&gt; CVS is fast now!</p>
<p>18:31 &lt;@jrand0m&gt; arj&gt; we're doing our best to avoid hype, so once its ready</p>
<p> we're going to put things public, but keep it largely quiet until.</p>
<p>18:31 &lt; nop&gt; hezekiah: what the cathedral one?</p>
<p>18:31 &lt;@jrand0m&gt; arj&gt; however, everything we're doing is GPL, at least so far.</p>
<p>18:31 &lt;@hezekiah&gt; nop: Yeah</p>
<p>18:31 &lt;@hezekiah&gt; !</p>
<p>18:31 &lt; dm&gt; two weeks prior in which zip?</p>
<p>18:31 &lt;@jrand0m&gt; oh word, you got it working hezekiah?</p>
<p>18:31 &lt; arj&gt; jrand0m: just wanted to read the latest specs</p>
<p>18:31 &lt;@jrand0m&gt; dm&gt; network_spec_*.zip iirc</p>
<p>18:31 &lt;@hezekiah&gt; jrand0m: Yup! :)</p>
<p>18:31 &lt; dm&gt; same here, with pictures!</p>
<p>18:31 &lt;@thecrypto&gt; iip-dev has most of it</p>
<p>18:32 &lt;@jrand0m&gt; arj&gt;</p>
<p> http://article.gmane.org/gmane.comp.security.invisiblenet.iip.devel/292 has</p>
<p> all but one tiny change.</p>
<p>18:32 &lt;@jrand0m&gt; (well, except for the Client Access Layer, which is in a</p>
<p> different spec now)</p>
<p>18:33 &lt; arj&gt; ok thanx</p>
<p>18:33 &lt;@jrand0m&gt; the client access layer spec is</p>
<p> http://article.gmane.org/gmane.comp.security.invisiblenet.iip.devel/298</p>
<p>18:33 &lt; dm&gt; ok, and the link to the zip with the pictures?</p>
<p>18:33 &lt;@jrand0m&gt; ok. nop you have anything, or we "5) opening up to</p>
<p> questions/thoughts from the masses"?</p>
<p>18:34 -!- mihi [none@anon.iip] has quit [Ping timeout]</p>
<p>18:34 * jeremiah is back and has read the backlog</p>
<p>18:34 &lt;@jrand0m&gt; dm&gt; h/o, pulling it up</p>
<p>18:34 &lt;@jrand0m&gt;</p>
<p> http://article.gmane.org/gmane.comp.security.invisiblenet.iip.devel/269</p>
<p>18:35 &lt; dm&gt; ty</p>
<p>18:35 &lt;@jrand0m&gt; ok, any questions / thoughts?</p>
<p>18:35 -!- arj [anders@anon.iip] has quit [EOF From client]</p>
<p>18:35 &lt; co&gt; yes.</p>
<p>18:35 &lt;@jrand0m&gt; np</p>
<p>18:35 &lt; co&gt; Are we on item 5 now?</p>
<p>18:35 * jrand0m knew you'd have some co :)</p>
<p>18:35 &lt; co&gt; Currently, communication between client and router (outgoing)</p>
<p> is not encrypted.</p>
<p>18:35 &lt;@jrand0m&gt; yes, since nop is slow :)</p>
<p>18:35 &lt;@jrand0m&gt; (damn people with jobs and stuff)</p>
<p>18:36 &lt;@hezekiah&gt; lol</p>
<p>18:36 &lt; co&gt; Suppose I have a trusted friend and want to use his router for</p>
<p> outgoing messages.</p>
<p>18:36 &lt;@hezekiah&gt; jrand0m: Well, you know. Not everyone can aford not having</p>
<p> a life.</p>
<p>18:36 &lt;@jrand0m&gt; co&gt; largely correct. message payloads are encrypted,</p>
<p> but the rest of I2CP isn't</p>
<p>18:36 &lt; co&gt; Wouldn't that put me at risk of having my messages captured.</p>
<p>18:37 &lt;@hezekiah&gt; Yeah. They would be transfered in the clear over the wire.</p>
<p>18:37 &lt;@hezekiah&gt; Unless you ssh tunnel to his router or something.</p>
<p>18:37 &lt;@jrand0m&gt; if you have a trusted friend and connect to their router,</p>
<p> they can know that you sent or recieved a message, but they can't know what</p>
<p> you sent.</p>
<p>18:37 &lt;@jeremiah&gt; wouldn't the messages still go under public key encryption?</p>
<p>18:37 &lt;@hezekiah&gt; Oops.</p>
<p>18:37 &lt;@hezekiah&gt; My bad.</p>
<p>18:37 &lt; dm&gt; I'm gonna use I2P as a way to learn new stuff to prevent 9to5</p>
<p> (windows admin, VB tools) job from turning me into a zombie.</p>
<p>18:37 &lt;@jrand0m&gt; I'm fine with adding SSL listener support, as opposed to</p>
<p> just TCP listener.</p>
<p>18:37 &lt;@hezekiah&gt; I forgot that clients to end to end encryption.</p>
<p>18:37 &lt; co&gt; Your assumption is that I run a local trusted router, but as</p>
<p> stated above, I might not want to do that so that messages would not be</p>
<p> connected to me.</p>
<p>18:37 &lt;@jrand0m&gt; yes jeremiah, but thats only for the payload</p>
<p>18:37 &lt;@jrand0m&gt; heh word dm</p>
<p>18:37 -!- mihi [none@anon.iip] has joined #iip-dev</p>
<p>18:38 &lt;@jrand0m&gt; hmm.</p>
<p>18:38 &lt;@hezekiah&gt; jrand0m: Why not add support later on for client-to-router</p>
<p> comm to be encrypted?</p>
<p>18:38 &lt;@jrand0m&gt; you really always should have a local trusted router.</p>
<p> you can have it connect to another known non-local trusted router too.</p>
<p>18:39 &lt; co&gt; True, but I would like to second hezekiah's suggestion.</p>
<p>18:39 &lt;@jrand0m&gt; hezekiah&gt; I'm fine with adding it later (where later:</p>
<p> t=0...releaseDate ;)</p>
<p>18:40 &lt;@jrand0m&gt; I have absolutely no qualms with even adding support for</p>
<p> DH+AES for I2CP</p>
<p>18:40 &lt; nop&gt; good</p>
<p>18:40 &lt;@jrand0m&gt; actually, those features can be added on per-router basis</p>
<p> as well</p>
<p>18:41 &lt; nop&gt; jrand0m: also I believe the polymorphic key rotation will be</p>
<p> needed as well as chaffe traffic</p>
<p>18:41 &lt; nop&gt; I'm sure we're looking at that at a later meeting</p>
<p>18:41 &lt; nop&gt; just my side comment</p>
<p>18:41 &lt; nop&gt; using key sets</p>
<p>18:41 &lt;@jrand0m&gt; yes, when we touch the router-router comm.</p>
<p>18:41 &lt;@jrand0m&gt; (1-2 weeks off)</p>
<p>18:41 &lt; co&gt; nop: Currently, I don't see chaffe traffic in the spec, but it</p>
<p> would be good to add.</p>
<p>18:42 &lt;@jrand0m&gt; there is chaffe, in the sense that routers and tunnel</p>
<p> participants test themselves and their peers.</p>
<p>18:42 -!- arj [~anders@anon.iip] has joined #iip-dev</p>
<p>18:42 &lt;@jrand0m&gt; plus DHT requests are chaffe wrt payload messages</p>
<p>18:42 &lt; nop&gt; jrand0m: well I'll dive into some research on evading some</p>
<p> traffic analysis and giving away any known plaintext</p>
<p>18:42 &lt;@jrand0m&gt; *and* individual transports will have hteir own chaffe styles</p>
<p> (e.g. http transport will query google for "cute puppy dogs" periodically,</p>
<p> or whatever)</p>
<p>18:43 &lt; nop&gt; well, that chaffe is nice, but I also mean encrypted chaffe</p>
<p>18:43 &lt; nop&gt; this helps rotate the session keys</p>
<p>18:43 &lt; nop&gt; and keep your node busy even when inactive</p>
<p>18:43 &lt; dm&gt; maybe change that to hard child porn for more realistic chaffe</p>
<p>18:43 &lt;@jrand0m&gt; word.</p>
<p>18:43 &lt; dm&gt; just kidding!</p>
<p>18:43 &lt;@hezekiah&gt; dm: Good. Otherwise I'd have to !thwack you.</p>
<p>18:43 &lt;@hezekiah&gt; :)</p>
<p>18:44 &lt;@jrand0m&gt; DHT (link encrypted) and test messages (free route mix,</p>
<p> ala onion/garlic) won't have known plaintext problems</p>
<p>18:44 &lt; nop&gt; since newer nodes will have less traffic when starting out</p>
<p>18:44 &lt;@jrand0m&gt; plus we'll have support for constant bitrate transports</p>
<p>18:44 &lt; nop&gt; garlic rocks</p>
<p>18:44 &lt; nop&gt; :)</p>
<p>18:44 &lt; nop&gt; jrand0m: DC net style :)</p>
<p>18:44 * jrand0m is making some pasta w/ lots of garlic after this meeting</p>
<p> is over</p>
<p>18:45 &lt; nop&gt; jrand0m: I meant garlic routing</p>
<p>18:45 &lt;@hezekiah&gt; lol!</p>
<p>18:45 &lt;@jrand0m&gt; i know ;)</p>
<p>18:45 &lt; nop&gt; jrand0m: anyway, constant bitrate could be forced with the</p>
<p> block encryption since AES generates 128 bit blocks</p>
<p>18:45 &lt; nop&gt; ;)</p>
<p>18:45 &lt; nop&gt; so we could just pad all data to be 16 bytes per message</p>
<p>18:45 &lt;@jrand0m&gt; co&gt; did my answers to your email make sense?</p>
<p>18:47 &lt;@jrand0m&gt; *ping*</p>
<p>18:47 &lt;@hezekiah&gt; *pong*</p>
<p>18:47 &lt;@thecrypto&gt; *pong</p>
<p>18:47 &lt;@thecrypto&gt; *</p>
<p>18:47 &lt;@jrand0m&gt; any other questions from anyone, or has my iproxy</p>
<p> disconnected?</p>
<p>18:47 &lt;@jrand0m&gt; heh word</p>
<p>18:47 &lt;@hezekiah&gt; thecrypto: Fragmented packet!</p>
<p>18:47 &lt;@hezekiah&gt; lol</p>
<p>18:48 &lt;@thecrypto&gt; lost that tail end there</p>
<p>18:48 &lt;@thecrypto&gt; smaller MTU here :)</p>
<p>18:48 &lt;@hezekiah&gt; jrand0m: Well, I have no questions.</p>
<p>18:48 &lt; co&gt; jrand0m: Yes, the answers made sense.</p>
<p>18:48 &lt; co&gt; I have no more questions.</p>
<p>18:48 &lt; dm&gt; I shall create questions when I read the specs tomorrow.</p>
<p>18:49 &lt;@jrand0m&gt; well, I hope you have more later :)</p>
<p>18:49 &lt;@jrand0m&gt; awesome dm</p>
<p>18:49 &lt; dm&gt; awesome initially maybe.</p>
<p>18:49 &lt; dm&gt; well, i'm off. good luck people!</p>
<p>18:49 -!- dm [~hifi@anon.iip] has quit []</p>
<p>18:50 &lt;@jrand0m&gt; we *do* still have the big 2 week peer review period in</p>
<p> the schedule, but review before then is appreciated (even though all the</p>
<p> details haven't yet been put in)</p>
<p>18:51 &lt;@jrand0m&gt; ok. any other questions, or are we going to wrap up #52</p>
<p> as a 102 minute meeting?</p>
<p>18:52 &lt;@thecrypto&gt; #51</p>
<p>18:52 &lt;@hezekiah&gt; Uh, I read 1:57 minutes.</p>
<p>18:52 &lt;@hezekiah&gt; Duh.</p>
<p>18:52 &lt;@hezekiah&gt; I'm stupid</p>
<p>18:52 &lt;@hezekiah&gt; Never mind me.</p>
<p>18:52 &lt;@hezekiah&gt; I have no questions ...</p>
<p>18:52 &lt;@hezekiah&gt; Questions!</p>
<p>18:52 * jrand0m could never add...</p>
<p>18:52 &lt;@hezekiah&gt; Speak now or hold you peace until next Tuesday!</p>
<p>18:52 &lt;@hezekiah&gt; Going once!</p>
<p>18:53 &lt;@hezekiah&gt; ... Going twice!</p>
<p>18:53 &lt;@thecrypto&gt; Sold to the guy in a button down shirt</p>
<p>18:53 &lt;@hezekiah&gt; Gone!</p>
<p>18:53 * jrand0m goes to the kitchen to make some long overdue dinner</p>
<p>18:53 &lt;@jrand0m&gt; gracias srs y srtas</p>
<p>18:53 &lt;@hezekiah&gt; Goodbye everyone!</p>
<p>18:53 &lt;@jeremiah&gt; I should checkout the source before I wander off</p>
<p>18:53 &lt;@hezekiah&gt; See you next Tuesday!</p>
<p>--- Log closed Tue Jul 29 18:53:55 2003</p>
</div>
{% endblock %}