Resumo rápido

Presentes: jeremiah, jrand0m, mihi, nop, thecrypto

Registro da reunião

[23:00] ok, tópicos> x.0: boas-vindas x.1: perguntas sobre as especificações x.2: questões de elg x.3: status do sdk x.4: plano de lançamento x.5: apps [23:00] x == 0 ou 1 ou 2? [23:00] 22/7 [23:01] acho que é 0 [23:01] * jrand0m sempre faz log, então wtf, por que não. [23:01] 0.0: boas-vindas. [23:01] oi. [23:01] 0.1: perguntas sobre as especificações [23:01] alguém leu as especificações? :) [23:02] * mihi leu. ou pelo menos tentou [23:02] uau, show [23:02] não [23:02] quais são as novas? [23:02] de vez em quando [23:02] mihi> tentou, é difícil de ler, linguagem ruim, organização incompreensível ou só chato pra caralho? [23:03] só não sou familiar o suficiente com cripto. a primeira parte foi muito interessante. [23:03] jeremiah> as especificações estão no cvs, e eu posto em iip-dev quando saem. as atuais são: i2cp, i2np, estruturas de dados do i2p, proto de transporte http por polling [23:03] mas quando entrou nos detalhes, você poderia ter descrito como preparar um ensopado irlandês e eu nem teria notado ;) [23:04] legal [23:04] lol mihi [23:05] embora o formato também tivesse seus problemas — não tenho open office aqui, só o velho staroffice 5.2 [23:05] o star office 5.2 não abre? você prefere .pdf ou html gambiarra? [23:05] (ou .txt? embora txt não tenha imagens nem formatação de verdade) [23:05] eu preferiria o formato .sdw “antigo”. [23:05] pdf se for possível [23:05] ou pdf [23:06] pdf é uma solução de um clique. [23:06] * jrand0m edita no open office, lê em pdf [23:06] ou appleworks [23:06] ;) [23:06] sxw só é suportado no staroffice 6.0 e acima [23:06] ah ok mihi [23:06] * jrand0m publicou .sxw porque da última vez o pessoal reclamou e quis .sxw. quando publicarmos vamos disponibilizar .sxw, .sdw e .pdf [23:07] (ou talvez .doc se eu estiver me sentindo sujo) [23:07] eu não me importaria com .sdw.zip ou .sdw.gz ou .sdw.bzw também... [23:07] s/bzw/bz2/ [23:07] heh, compactado, com certeza. [23:08] a especificação de estruturas de dados pode precisar de uma modificação, e o proto de rede precisa de algumas URLs fixas antes do lançamento. [23:08] alguém tem alguma pergunta sobre alguma das quatro especificações? [23:09] no momento não [23:10] ok. 0.2: questões de elg [23:10] estamos tendo alguns problemas com a criptografia elgamal conforme especificado na p. 13 da especificação de estruturas de dados. [23:11] pode ser relacionado à chave, ao algoritmo ou à implementação. provavelmente não é relacionado à implementação, pois isso foi testado contra duas implementações. [23:11] se for relacionado ao algoritmo, vamos querer atualizar a especificação antes do lançamento para refletir o que precisarmos mudar para fazê-la funcionar. [23:12] se for relacionado à implementação ou à geração de chaves, podemos publicar a especificação e consertar o sdk quando for resolvido. [23:13] thecrypto> alguma ideia do que está acontecendo, ou esperamos o nop responder na lista (ou aqui, se ele estiver por perto e disponível pra conversar) [23:14] estou tentando entender isso agora [23:15] *** Saída: mihi (Tempo limite de ping) [23:15] *** mihi_ (~none@anon.iip) entrou no canal #iip-dev [23:15] 'k [23:15] *** mihi_ agora é conhecido como mihi [23:15] tenho que rodar umas contas e passar por alguma outra implementação pra entender [23:15] nunca tive problema com elgamal [23:15] da última vez que testei [23:16] *** Saída: mihi ((null)) [23:17] com aquele benchmark [23:17] certo, mas o benchmark testou só uma chave [23:17] ahh [23:17] consigo repetir o erro várias vezes sem nenhuma mod na impl de elg [23:17] não aparecia uma mensagem de chave errada? [23:18] sim, essas ainda aparecem [23:18] *** mihi_ (~none@anon.iip) entrou no canal #iip-dev [23:18] periodicamente (geralmente 2–4 vezes por geração de chaves) [23:18] *** mihi (~none@anon.iip) entrou no canal #iip-dev [23:18] *** mihi agora é conhecido como mihi_backup [23:18] *** mihi_ agora é conhecido como mihi [23:18] e ainda recebemos chaves ruins? [23:19] ou algo assim. [23:19] tudo o que o teste de tamanho errado verifica é "if ( (k0.length == PublicKey.KEYSIZE_BYTES) && (k1.length == PrivateKey.KEYSIZE_BYTES) ) {" [23:19] sem avaliação de valor, etc. [23:20] um segundo [23:23] você pode verificar se x, a chave privada, é < p [23:23] if (m.compareTo(CryptoConstants.elgp) >= 0) [23:23] já fiz isso. [23:23] (throw new IllegalArgumentException("ARGH. Data cannot be larger than the ElGamal prime. FIXME");) essa exceção nunca é lançada. [23:23] er x? hmm. [23:24] 'k. talvez queiramos roubar o algo de geração de chaves elg do bouncycastle ou de outra impl [23:25] ok. 0.3> questões do sdk [23:26] elg está pendente, mas fora isso o sdk está bem perto de 0.8 (aka release que corresponde às especificações) [23:26] (só resta a questão de elg mais a modificação do LeaseSet) [23:26] eu gostaria de ter o SDK 0.8 pronto pra sair junto com o lançamento das especificações, mas acho que não devemos nos comprometer com isso. [23:27] ou mesmo se precisamos incluir o SDK 0.1 no lançamento das especificações. [23:27] gah! irritante [23:28] o miracl que o nop indicou pra mim faz exatamente a mesma coisa que a gente faz [23:28] e eles não têm verificações [23:28] sem sinal, porém. [23:28] (já que miracl é em c) [23:28] * jrand0m supõe [23:28] sim [23:29] mas ainda assim, eu garanto que nunca tenhamos um BigInteger com sinal [23:30] biginteger.toByteArray() retorna um array de bytes com sinal [23:30] foi mal, continua [23:30] 'k [23:30] alguma novidade no front do python, jeremiah? [23:31] e aí [23:31] foi mal, eu estava lendo o backlog [23:31] heh oi [23:31] não, ainda estou me acostumando com classes [23:31] legal [23:31] sem problema [23:31] acho que vou dormir um pouco na real [23:31] 'k [23:32] 0.4: plano de lançamento [23:32] precisamos resolver as questões do sdk no próximo dia ou algo assim, de um jeito ou de outro. [23:32] precisamos começar a wiki-ficar o modelo de segurança [23:32] (wiki, onde estás) [23:33] precisamos colocar o modelo de desempenho no ar (sem problema, vou ter isso em um dia ou dois) [23:33] precisamos atualizar as especificações para incluir quaisquer mods de elg, além de URLs reais para outras especificações. [23:33] miracl [23:33] tem um port [23:33] para java [23:33] talvez precisemos hospedar as especificações && / || o sdk fora dos EUA por causa das regras de exportação [não que eu ligue] [23:34] certo, mas o port em java do miracl não tem criptografia elg, da última vez que verifiquei. [23:34] vou verificar de novo. [23:34] jrand0m, a gente não liga, mas nos preocupamos com isso depois [23:34] jrand0m se tiver bigdig() e modexp() [23:34] tá tranquilo [23:34] *** yodel (~yodel@anon.iip) entrou no canal #iip-dev [23:34] um segundo [23:34] acho que achei nosso problema [23:35] boa, o que foi, thecrypto? [23:35] pode verificar, jrand0m [23:35] nosso k não está sendo verificado quanto a ser relativamente primo [23:36] isso causaria os problemas descritos, thecrypto? eu achei que isso só deixaria a criptografia insegura (um problema, de qualquer forma) [23:36] mas isso significaria que só algumas mensagens com a chave falhariam [23:36] é algo na geração de chaves [23:36] nop> vamos achar algo pra resolver. mas eu descrevi algumas perguntas específicas no meu e-mail que são independentes de implementação [23:36] ok, thecrypto, vamos trabalhar nisso depois da reunião [23:37] a questão do texto cifrado duplo? [23:37] ok [23:37] nop> essa é uma das perguntas [23:37] * nop vai ler [23:39] nop> alguma ideia de quando o wiki vai estar no ar? se for só dns, qual é o IP pra eu editar meu arquivo hosts e começar a editar? [23:40] pergunta rápida, jrand0m: onde falha? o benchmark roda perfeitamente e ele gera um novo par de chaves toda vez? [23:41] deixa eu colocar no ar, espera [23:41] wiki.invisiblenet.net == jasonclinton.com [64.91.236.103] [23:41] gracias mihi [23:42] thecrypto> ele gera um novo par de chaves a cada vez. falha num caso de teste de duas linhas que eu fiz enquanto depurava o ElGamalAESEngine [23:42] posso ver esse ElGamalAESEngine? [23:42] só faz commit no CVS e eu vejo qual é o problema [23:43] ok, o wiki está com CNAME configurado [23:43] deve propagar em breve [23:43] * jrand0m não faz commit de coisas que não funcionam, mas eu te mando por e-mail [23:43] valeu, nop [23:43] está no ar [23:43] ;) [23:43] (Link: http://wiki.invisiblenet.net)http://wiki.invisiblenet.net [23:43] no meu micro não tá, não [23:43] ;) [23:44] o que vamos colocar no wiki [23:44] ? [23:44] o doc de segurança, além de um lugar pra distribuir as especificações. [23:44] talvez até o site do i2p antes do lançamento 1.0, mas pelo menos o doc de segurança. [23:45] *** Saída: sirk ((null)) [23:45] *** Saída: shardy_ (Tempo limite de ping) [23:46] ok. dados os 5 pontos acima do plano de lançamento, eu gostaria de soltar as especificações na sexta, sábado ou domingo, no mais tardar. [23:46] *** shardy_ (~shardy@anon.iip) entrou no canal #iip-dev [23:46] tenho um cara de grphx trabalhando no site [23:47] pro i2p [23:47] algum problema com esse prazo? [prazo na sexta, adiaremos só se Coisas Ruins Acontecerem] [23:47] claro [23:47] jrand0m: enviou? [23:47] 'k, então só os docs de segurança e o local de distribuição das specs do i2p [23:47] não, thecrypto, são meia dúzia de arquivos. eu envio depois da reunião. [23:47] ok [23:48] eu gostaria deles mais cedo porque estamos movendo as mesas hoje, então vou precisar mover os computadores em breve [23:48] jrand0m, vou precisar olhar seu e-mail e respondo em breve [23:48] multi-tarefa [23:49] 'k. [23:49] 0.5> apps [23:49] o serviço de nomes está sumido, já que o co não está por aqui ;) [mas acho que ele acabou de voltar às aulas também, então isso já era esperado no curto prazo] [23:49] o mihi tem um app i2ptunnel incrível incrível [23:50] *** Saída: WinBear_ (EOF From client) [23:50] tira um ou dois `awesome's ;) [23:50] heh [23:51] bem, é muito impressionante. ainda há coisas pra adicionar, mas do jeito que está é um encaminhador de portas funcional com desempenho razoável. uma prova de conceito muito boa [23:51] ele depende de muitas coisas que não consigo ver na especificação (por exemplo, que pacotes GUARANTEED são entregues em ordem) [23:52] pacotes garantidos não são entregues em ordem, mas a impl em java bloqueia ao enviar guaranteed, então se você usar a impl em java com guaranteed e não tiver múltiplas threads de envio, fica garantida a ordem. [23:52] idealmente, seria legal se ele fizesse FEC ou tivesse ordenação & reconstrução embutidas ou algo assim [23:52] (para que não bloqueasse no envio e não exigisse GUARANTEED) [23:53] acho que isso é ifs demais... [23:53] s/bot/bit/ [23:55] mas talvez eu tenha algum tempo pra adicionar reordenação/reenvio a ele... [23:55] bem, é assim que a impl do cliente java é implementada ;) guaranteed não é recomendado para uso síncrono de baixa latência, pois requer um ack (que por sua vez é uma entrega de mensagem completa, embora sem a cripto fim a fim do lado do cliente, só cripto i2np) [23:55] certo [23:56] mais algum app no horizonte? deveríamos ter uma página no wiki com apps & ideias de apps para devs se envolverem? [23:57] * jrand0m acha que provavelmente não estamos muito longe de o xml rpc do yodel poder operar via o sdk do i2p (ou através do tunnel do mihi ou nativamente) [23:57] hmm [23:57] teste [23:57] tset [23:57] ainda conectado? [23:57] si sr [23:58] estamos desconectando as linhas telefônicas agora [23:58] IIP, desafia as linhas telefônicas [23:58] heh [23:58] :) [23:58] posso voltar pelo front do IM e transferência de arquivos [23:58] irado [00:00] ok. isso é tudo que eu tenho de itens de pauta. [00:00] algum comentário/pergunta/pendência/frisbee? [00:00] * thecrypto joga um frisbee [00:00] * jrand0m leva um frisbee na cara [00:01] só quero terminar essa parte de cripto pra poder voltar e otimizar o elg [00:01] e fazer o mesmo para python, espero [00:01] fechou. vou te mandar o código nos próximos 5 [00:02] isso seria bom [00:03] * jrand0m prepara o *baf*er [00:03] * jrand0m toma impulso [00:03] * jrand0m *baf*a a reunião até o fim.