+FreefallHeavens
+R4SAS
+RN
+RN_
+acetone
+cims
+eche|off
+nilbog
+onon_
+orignal
+postman
+qend-irc2p
+rednode
+snex
+wodencafe
Arch
Danny
Holmes
Irc2PGuest22226
Irc2PGuest38237
Irc2PGuest44044
Irc2PGuest63745
Irc2PGuest66257
Irc2PGuest96092
Onn4l7h
Onn4|7h
Over
SilentWave
Sisyphus
Sleepy
T3s|4
T3s|4_
Zapek
[-_-]
aargh4
ahiru
ananas
anontor
dr4wd3
dr|z3d
duanin2
i2potus
ice_juice
justaper1
makoto
marek22k
maylay
n2_
not_bob_afk2
pinotto
poriori
profetikla
r00tobo_BNC
rapidash
test7363673
uop23ip
user1
w8rabbit
x74a6
zelgomer
zzz
fa
Ahh the trick to getting a i2pgit recovery email was using @i2pmail.org instead of @mail.i2p
orignal
zzz, how do you calculte "distance" between peer ordering key and router hash? xor?
zzz
orignal, we don't calculate distance exactly
orignal
the what your H function you have mentioned before?
orignal
I have peer ordering key and router hash what do I do with it?
zzz
one sec let me double check
zzz
ok
zzz
k0 = peerorderingkey[0-7]; k1 = peerorderingkey[8-15]; H() = siphash(k0, k1, routerhash)
zzz
then for slices we just use H[0] & 0x03
orignal
so you orderring key is 16 bytes only?
zzz
it's 32 bytes actually, but not really necessary
zzz
we do use 16-31 for ordering middle hops but only if tunnel is 4 hops or more
zzz
we also don't use slices for exploratory, we just order the peers by siphash
zzz
so our client ordering and exploratory ordering are completely different, I'd forgotten about that
orignal
fine
orignal
so siphash
zzz
yeah, siphash is fast and easy, good enough for this application
zzz
but most of this we did 15 years ago, maybe you have better ideas
orignal
I thoutgh it was for NTCP2 only
zzz
I think I had some other hash function but switched to siphash after I learned about it for NTCP2
orignal
how about HMAC?
zzz
sure
zzz
here's our expl. tunnel ordering, it's really basic:
zzz
public int compare(Hash l, Hash r) {
zzz
long lh = SipHashInline.hash24(k0, k1, l.getData());
zzz
long rh = SipHashInline.hash24(k0, k1, r.getData());
zzz
if (lh > rh)
zzz
return 1;
orignal
anyway I see your point
zzz
if (lh < rh)
zzz
return -1;
zzz
return 0;
zzz
}
zzz
yup. siphash is good if you just need something fast and deterministic but opaque. But you can use just about any hash function you want for this
orignal
I will check want's faster
orignal
siphash or HMAC-SHA1
zzz
google says "SipHash is vastly faster than HMAC"
orignal
thanks
orignal
let's use siphash
IRCaBot
New messages won't show without JavaScript.
My JS code is small and simple. Check it at /realtimechat.js and come back with enabled!
My JS code is small and simple. Check it at /realtimechat.js and come back with enabled!