java version + signatures (Fwd: I2P implementation questions)
<auto97841-revL73yDgGBWk0Htik3J/[email protected]> Thu, 31 Jul 2003 17:50:54 -0700
| Newsgroups | gmane.comp.security.invisiblenet.iip.devel |
|---|---|
| Message-ID | <[email protected]> |
from a private email I recieved: [mention that some of the Java code won't compile] Ooops. Thecrypto and I have been developing using Java 1.4.x. We've switched down to 1.3 and as soon as the CVS server is up the 1.3 support will be committed. This is important so that JVMs such as Kaffe, GJC, and the like have a chance of compiling the client API. I'm not 100% dead set on always doing everything Kaffe friendly, but the client API should be pretty universal (though I'm not crazy enough to jump back to 1.1.6 support). [a questions about the hashes and what they're calculated against] The only place the SHA256 hash is used is in the Payload data structure. - It is calculated against the encryption key (for authentication) - It is calculated against the payload (for verification) For the first of those, the SHA256 is calculated exactly and only against the bytes of the encryption key (SessionKey.getData()). For the second, the SHA256 is calculated against the unpadded, unencrypted message body (the body being the actual content intended on being sent - "Hello World" type stuff, not that packed with some various headers and trailing fields). There is also a new place its used in the Payload structure, based on some crypto discussions that occured on #iip-dev today related to the AES IV (aka wrt the message hezekiah posted up earlier). Hezekiah, were you going to post up the summary and commit the changes or am I? > 3. In data/i2cp/SessionConfig.java, what is supposed to be signed in the signSessionConfig method? The signSessionConfig, and the rest of the signing functions, runs against the bytes of the structure up until the signature. e.g. for SessionConfig, the signature algorithm runs against the bytes from the destination structure, followed by a 1 byte integer specifying the number of lease revocations, followed by each of the actual lease revocations, and finally followed by the mapping structure. Is there some way I could make this more clear in the specs? The java code will reflect this as soon as I can commit to our CVS server ;) > 4. Note: you are misspelling "receive" as "recieve". No offense meant, just a note. fucking hell. my bad. I made that mistake all over the place, from the specs to the code. As tempting as it is to stick with it, I'll go ahead and fix it momentarily :) gracias, -jrandom Concerned about your privacy? Follow this link to get FREE encrypted email: https://www.hushmail.com/?l=2 Free, ultra-private instant messaging with Hush Messenger https://www.hushmail.com/services.php?subloc=messenger&l=434 Promote security and make money with the Hushmail Affiliate Program: https://www.hushmail.com/about.php?subloc=affiliate&l=427