간단 요약

참석자: jeremiah, jrand0m, mihi, nop, thecrypto

회의 기록

[23:00] 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] x == 0 또는 1 또는 2? [23:00] 22/7 [23:01] 0이라고 생각 [23:01] * jrand0m 항상 로그 남기니까, wtf, 그냥 하자. [23:01] 0.0: welcome. [23:01] 하이. [23:01] 0.1: spec questions [23:01] 누구 스펙 읽어봤어? :) [23:02] * mihi 읽어봤음. 적어도 시도는 해봄 [23:02] w0ah word [23:02] 아뇨 [23:02] 뭐가 새로 나왔죠? [23:02] 가끔씩 [23:02] mihi> 읽어보려 했는데, 읽기 어려움? 문장 상태가 별로? 구성은 이해 불가? 아니면 그냥 지독하게 지루한가? [23:03] 내가 crypto에 충분히 익숙하지가 않아서요. 첫 부분은 매우 흥미로웠어요. [23:03] jeremiah> 스펙은 cvs에 있고, 나오면 iip-dev에 게시해. 현재 것은: i2cp, i2np, i2p data structures, polling http transport proto [23:03] 그런데 자세한 부분으로 들어가니, 아일리시 스튜 끓이는 법을 적어놔도 눈치 못 챘을 듯 ;) [23:04] 굿 [23:04] lol mihi [23:05] 형식에도 문제가 있었어요 - 여기 OpenOffice는 없고, 구형 StarOffice 5.2만 있어요 [23:05] StarOffice 5.2에서 못 읽어? .pdf가 좋아, 아니면 대충 만든 html? [23:05] (아니면 .txt? 근데 txt는 그림이나 제대로 된 서식이 없을 거) [23:05] "옛날" .sdw 포맷이 좋아요. [23:05] 가능하면 pdf [23:05] 아니면 pdf [23:06] pdf는 원클릭 해결. [23:06] * jrand0m OpenOffice로 편집, PDF로 읽음 [23:06] 아니면 appleworks [23:06] ;) [23:06] sxw는 StarOffice 6.0 이상에서만 지원 [23:06] 오케이 알았어 mihi [23:06] * jrand0m 지난번에 사람들 .sxw 원한다고 해서 .sxw로 냈었어. 퍼블리시할 땐 .sxw, .sdw, .pdf로 낼게 [23:07] (아니면 기분이 더러우면 .doc도) [23:07] .sdw.zip이나 .sdw.gz, .sdw.bzw도 상관없어요... [23:07] s/bzw/bz2/ [23:07] 헤, 압축은 당연. [23:08] data structures 스펙은 수정이 필요할 수도 있고, network proto는 릴리스 전에 고정 urls가 필요해. [23:08] 4개 스펙 중에 질문 있는 사람? [23:09] 지금은 없음 [23:10] 좋아. 0.2: elg issues [23:10] data structures 스펙 13쪽에 명시된 ElGamal 암호화에 문제가 좀 있어. [23:11] 키 관련일 수도, 알고리즘 관련일 수도, 구현 관련일 수도. 두 구현에서 테스트했으니 아마 구현 문제는 아닐 듯. [23:11] 만약 알고리즘 문제라면, 동작하게 만들기 위해 바꿔야 하는 내용을 반영하도록 스펙 릴리스 전에 스펙을 업데이트해야 해. [23:12] 구현이나 키 생성 관련 문제라면, 스펙은 공개하고 해결되는 대로 sdk를 고치면 돼. [23:13] thecrypto> 뭐가 문제인지 생각 있어? 아니면 nop이 리스트에 답할 때까지 기다릴까 (아니면 여기서, 만약 근처에 있고 말할 수 있으면) [23:14] 지금 알아내려는 중 [23:15] *** Signoff: mihi (Ping timeout) [23:15] *** mihi_ (~none@anon.iip)님이 채널 #iip-dev에 참여했습니다 [23:15] 'k [23:15] *** mihi_ 닉네임이 mihi로 변경되었습니다 [23:15] 수학 좀 돌리고 다른 구현에도 넣어보고 파악해볼게 [23:15] ElGamal에서 문제 겪은 적은 없음 [23:15] 지난번 테스트에선 [23:16] *** Signoff: mihi ((null)) [23:17] 그 벤치마크에선 [23:17] 맞아, 근데 벤치마크는 키 하나만 써봤잖아 [23:17] 아하 [23:17] elg 구현 건드리지 않고도 꽤 반복적으로 에러 재현 가능 [23:17] 잘못된 키 메시지가 떴던가? [23:18] 응, 아직도 떠 [23:18] *** mihi_ (~none@anon.iip)님이 채널 #iip-dev에 참여했습니다 [23:18] 주기적으로 (보통 키 생성당 2~4회) [23:18] *** mihi (~none@anon.iip)님이 채널 #iip-dev에 참여했습니다 [23:18] *** mihi 닉네임이 mihi_backup으로 변경되었습니다 [23:18] *** mihi_ 닉네임이 mihi로 변경되었습니다 [23:18] 아직도 나쁜 키가 나와? [23:19] 그런 듯. [23:19] wrong size가 검사하는 건 "if ( (k0.length == PublicKey.KEYSIZE_BYTES) && (k1.length == PrivateKey.KEYSIZE_BYTES) ) {" 뿐이야 [23:19] 값 검사는 전혀 없음. [23:20] 잠깐만 [23:23] 개인키 x가 p보다 작은지 확인 가능? [23:23] if (m.compareTo(CryptoConstants.elgp) >= 0) [23:23] 이미 해봤어. [23:23] (throw new IllegalArgumentException("ARGH. Data cannot be larger than the ElGamal prime. FIXME");) 그 예외는 한 번도 안 던져져. [23:23] 어 x? 흠. [23:24] 'k. bouncycastle이나 다른 구현의 elg 키 생성 알고리즘을 가져오는 게 나을지도 [23:25] 좋아. 0.3> sdk issues [23:26] elg는 보류 중이지만, 그 외엔 sdk가 0.8에 매우 근접해 있어 (aka 스펙과 일치하는 릴리스) [23:26] (elg 이슈와 LeaseSet 수정만 남음) [23:26] SDK 0.8을 스펙 릴리스와 함께 준비해 두고 싶은데, 그걸 확정하진 말자. [23:27] 스펙 릴리스에 SDK 0.1을 포함해야 할지조차도 확실치 않고. [23:27] 가! 성가시네 [23:28] nop이 알려준 miracl도 우리랑 완전히 똑같이 해 [23:28] 그리고 검사는 없어 [23:28] 근데 unsigned겠지. [23:28] (miracl은 c니까) [23:28] * jrand0m 그런 줄 암 [23:28] 응 [23:29] 그래도, 우린 절대 signed biginteger가 안 나오게 해 [23:30] biginteger.toByteArray()는 signed byte array를 반환해 [23:30] 미안, 계속해 [23:30] 'k [23:30] jeremiah, 파이썬 쪽 진전 있어? [23:31] 헤이 [23:31] 미안, backlog 읽는 중이었어 [23:31] 헤 헐 [23:31] 아니, 아직 클래스에 익숙해지는 중 [23:31] 좋아 [23:31] 문제없어 [23:31] 사실 잠깐 자려고 [23:31] 'k [23:32] 0.4: release plan [23:32] sdk 이슈는 어떻게든 하루이틀 내로 해결해야 해. [23:32] 보안 모델을 위키화하는 작업을 시작해야 하고 [23:32] (wiki, where art thou) [23:33] 성능 모델도 올려야 해 (문제 아님, 하루이틀 내에 올릴게) [23:33] elg 수정 사항이 있으면 스펙을 업데이트하고, 다른 스펙으로 향하는 실제 URL도 넣어야 해. [23:33] miracl [23:33] 포트가 있어 [23:33] java로 [23:33] 수출 규정 때문에 스펙 && / || sdk를 미국 밖에 호스팅해야 할지도 [난 신경 안 씀] [23:34] 맞아, 근데 miracl의 java 포트엔 마지막에 확인했을 때 elg 암호화가 없었어. [23:34] 다시 확인해볼게. [23:34] jrand0m, 우린 신경 안 쓰지만, 그건 나중에 걱정하자 [23:34] jrand0m bigdig()랑 modexp()만 있으면 [23:34] 충분해 [23:34] *** yodel (~yodel@anon.iip)님이 채널 #iip-dev에 참여했습니다 [23:34] 잠깐만 [23:34] 문제를 찾은 것 같아 [23:35] 오, 뭐야, thecrypto? [23:35] 확인해줄래 jrand0m [23:35] 우리 k가 서로소 체크가 안 되고 있어 [23:36] 그게 우리가 말한 문제를 유발해, thecrypto? 그건 암호화를 불안하게 만들 뿐인 줄 알았는데 (그래도 문제긴 하지만) [23:36] 그래서 그 키로는 일부 메시지만 실패하게 될 거야 [23:36] 키 생성 쪽 무언가야 [23:36] nop> 해결책은 찾을 거야. 근데 메일에 구현과 무관한 구체적 질문 몇 개 적어놨어 [23:36] 좋아 thecrypto, 미팅 끝나고 그거 같이 보자 [23:37] double ciphertext 질문? [23:37] 오케이 [23:37] nop> 그게 질문 중 하나야 [23:37] * nop 읽으러 감 [23:39] nop> 위키 언제 올라와? dns만 문제면, IP가 뭐야? hosts 파일 수정해서 편집 시작할 수 있게 [23:40] 빠른 질문 jrand0m: 어디서 실패해? 벤치마크는 완벽히 돌아가고 매번 새 키쌍 만들잖아? [23:41] 지금 올릴게, 잠깐만 [23:41] wiki.invisiblenet.net == jasonclinton.com [64.91.236.103] [23:41] gracias mihi [23:42] thecrypto> 매번 새 키쌍 만들어. ElGamalAESEngine 디버깅할 때 만든 두 줄짜리 테스트 케이스에서 실패해 [23:42] 그 ElGamalAESEngine 좀 볼 수 있을까? [23:42] 그냥 CVS에 커밋해주면 내가 문제 보겠음 [23:43] 오케이 위키 CNAME 등록됨 [23:43] 좀 있으면 전파될 거야 [23:43] * jrand0m 안 되는 건 커밋 안 해, 대신 메일로 보낼게 [23:43] 고마워 nop [23:43] 지금 올라왔어 [23:43] ;) [23:43] (Link: http://wiki.invisiblenet.net)http://wiki.invisiblenet.net [23:43] 내 컴에선 아직 아님 [23:43] ;) [23:44] 위키에 뭘 올릴 거야 [23:44] ? [23:44] 보안 문서, 그리고 스펙 배포 장소. [23:44] 아마 i2p 웹사이트도 1.0 릴리스 전까진, 최소한 보안 문서는 확실히. [23:45] *** Signoff: sirk ((null)) [23:45] *** Signoff: shardy_ (Ping timeout) [23:46] 좋아. 위의 5가지 릴리스 계획에 따라, 스펙은 늦어도 금/토/일 중에 내고 싶어. [23:46] *** shardy_ (~shardy@anon.iip)님이 채널 #iip-dev에 참여했습니다 [23:46] 웹사이트용 grphx 담당 있어 [23:47] i2p용 [23:47] 그 데드라인에 문제 있어? [금요일 마감, 정말 나쁜 일이 생길 때만 예외] [23:47] 좋아 [23:47] jrand0m: 보냈어? [23:47] 'k, 그럼 보안 문서랑 i2p 스펙 배포 위치만 [23:47] 아직이야 thecrypto, 파일이 대여섯 개라서. 미팅 끝나고 보낼게. [23:47] 오케이 [23:48] 오늘 책상 옮겨서 곧 컴퓨터도 옮겨야 하니 가능하면 빨리 부탁 [23:48] jrand0m, 네 메일 보고 곧 답할게 [23:48] 멀티태스킹 중 [23:49] 'k. [23:49] 0.5> apps [23:49] name service는 awol, co가 없어서 ;) [근데 아마 방금 학교 간 듯해서, 단기적으로는 당연한 일] [23:49] mihi가 엄청 엄청 멋진 i2ptunnel 앱을 만들었어 [23:50] *** Signoff: WinBear_ (EOF From client) [23:50] `awesome` 한두 개는 빼죠 ;) [23:50] 헤 [23:51] 정말 인상적이야. 추가할 건 여전히 있지만, 지금도 성능이 준수한 동작하는 포트 포워더야. 정말 좋은 개념 증명 [23:51] 스펙에서 보이지 않는 것들에 너무 의존해요 (예: GUARANTEED 패킷이 순서대로 전달된다는 가정) [23:52] GUARANTEED 패킷은 순서대로 전달되지 않아, 하지만 자바 구현은 guaranteed 전송 시 블록돼. 그래서 자바 구현을 GUARANTEED로 쓰고, 송신 스레드가 여러 개가 아니면, 결과적으로는 순서가 보장돼. [23:52] 이상적으로는, FEC(Forward Error Correction, 전방 오류 정정)을 적용하거나, 내장된 ordering & reconstruction 같은 게 있으면 멋질 듯 [23:52] (그러면 전송 시 블록하지도 않고 GUARANTEED도 필요 없게) [23:53] if가 좀 너무 많은 듯... [23:53] s/bot/bit/ [23:55] 그래도 재정렬/재전송을 추가할 시간이 날지도... [23:55] 글쎄, 자바 클라이언트 구현이 그렇게 돼 있어 ;) guaranteed는 ACK가 필요해서 저지연 동기식 사용에는 권장되지 않아 (ACK도 결국 풀 메시지 전달이고, 다만 클라이언트 측 end to end 암호화 없이 i2np 암호화만 적용) [23:55] 굿 [23:56] 다른 앱 예정된 거 있어? 위키에 dev들이 참여할 수 있게 apps & app ideas 페이지를 만들어야 할까? [23:57] * jrand0m yodel의 xml rpc가 i2p sdk를 통해 동작할 때까지 그리 멀지 않았다고 생각 (mihis tunnel로든 네이티브로든) [23:57] 흠 [23:57] test [23:57] tset [23:57] 아직 연결돼? [23:57] si sr [23:58] 지금 전화선 뽑는 중이야 [23:58] IIP, 전화선을 거스르지 [23:58] 헤 [23:58] :) [23:58] IM 쪽으로 다시 들어가서 파일 전송할 수 있어 [23:58] wikked [00:00] 좋아. 내가 준비한 안건은 여기까지. [00:00] 코멘트/질문/우려/프리스비? [00:00] * thecrypto 프리스비를 던진다 [00:00] * jrand0m 얼굴에 프리스비를 맞는다 [00:01] 이 crypto 문제만 끝내면 elg 최적화로 돌아가고 싶어 [00:01] 가능하면 파이썬에서도 동일하게 [00:01] 좋지. 5분 안에 코드 보낼게 [00:02] 그러면 좋겠어 [00:03] * jrand0m *baf*er를 준비한다 [00:03] * jrand0m 팔을 휘감는다 [00:03] * jrand0m 회의를 *baf*로 마무리한다.