http://xa63tpfoaqt3zru2ehxjjfbpadwj4ha6qsdvtcqtyr3b7hmt4iaq.b32.i2p/spec.html
For private
messages, the first 512 bytes are ElGamal/2048 encrypted to the channel's
encryption key, which has the AES/256 session key and IV within it, and the
remaining bytes are AES/256/CBC encrypted. The AES/256 encrypted area begins with a random number of nonzero padding
bytes, followed by 0x0, then the internal payload size (as a 4 byte unsigned
integer), followed by the total payload size (the same as the Size header),
followed by the actual Zip encoded data, a random number of...