IRCaBot 2.1.0
GPLv3 © acetone, 2021-2022
#i2p-dev
/2025/02/04
@eyedeekay
&eche|on
&kytv
&zzz
+R4SAS
+RN
+RN_
+StormyCloud
+T3s|4
+dr|z3d
+hagen
+lbt
+orignal
+postman
+segfault
+weko
+wodencafe
Arch
DeltaOreo
FreefallHeavens_
Irc2PGuest17123
Irc2PGuest30976
Irc2PGuest52978
Irc2PGuest59134
Irc2PGuest99152
Nausicaa
Onn4l7h
Onn4|7h
Over1
Sisyphus
Sleepy
SoniEx2
T3s|4_
acetone_
aeiou
anon2
b3t4f4c3
bak83_
boonst
cumlord
dickless
eyedeekay_bnc
mareki2p_
not_bob_afk
poriori_
profetikla
qend-irc2p
r3med1tz
radakayot_
rapidash
schwarzchild-radius
shiver_
solidx66
thetia
u5657
uop23ip
w8rabbit
x74a6
eyedeekay The go-i2cp library's about to get a lot more advanced...
orignal we will release this weekend
eyedeekay We're going tomorrow unless something else happens
eyedeekay zzz I've been running with the patch overnight and tried a few I2CP applications to see if it broke anything, I did not notice a problem but let me know if you're satisfied with the "soak time" so far.
eyedeekay It gave me a good reason to mess with go-i2cp more than I have, the only thing I used it for before was a presence test to see if I2P was running
zzz no calamaties overnight, all good here
zzz thanks for testing
eyedeekay Thanks for the patch
eyedeekay I'm going to get this show on the road in the next hour then
zzz super
zzz quick postmortem: Bad code, poor job of testing, compiler didn't catch, and one bug covered up the other
eyedeekay Thanks, btw question for after release: is there an implementation of an I2CP client library that is mostly feature-complete and preferably talks to the TCP port? go-i2cp is missing features and I need to make a checklist
zzz only ours, which is net.i2p.client.impl
zzz and whatever irc2pguest is up to
eyedeekay Works for me that's what I'll use
eyedeekay net.i2p.client.impl that is
zzz and ofc the msgs themselves are in net.i2p.data.i2cp
eyedeekay Release files are up on files.i2p-projekt.de
orignal I see usual high number of transit tunnels today
segfault zzz: you said me, ntcp2 a bit hard protocol, so i'll spend about 2 mounth before testing
segfault zzz: i start reading docs
segfault and ntcp2 use noise
segfault so, i can just use noice-c library, right?
segfault or will i do anything special?
segfault guys, also i have a terminology question. what are "static" and "ephemeral" keys?
segfault in noise protocol
eyedeekay Re: noise-c yeah probably you can, NTCP2 right now is basically done by preprocessing and post-processing standard noise interactions
zzz getting the su3 now to put on stats. eyedeekay I never got the 2.7.0 file ((( somewhere in the release process please ask me if I did it
eyedeekay sorry about that, announced this time, will keep announcing in the future. Re: fetching them you've got time, I've been refreshing tracker2 for a while so it won't be in the news until I get the torrent listed
zzz yeah not just announce but ask me if I did it, thanks
dr|z3d torrent won't be listed until you start it, eyedeekay...
eyedeekay I have to reach tracker2 to upload the torrent file
dr|z3d I thought you meant you were refreshing the homepage to see if it got listed.
eyedeekay Nope, haven't been able to upload it yet
dr|z3d stop http client proxy, start..
dr|z3d you probably got rate limited.
eyedeekay Not the limiter, "destination unreachable"
dr|z3d works for me, instant.
zzz segfault, there are mods to the standard noise protocol, plus the data phase that's not specified by noise, our spec makes it all clear
zzz static keys are the permanent ones you publish in the netdb; ephemeral keys are one-time-use per-connection
zzz eyedeekay, maybe you told me last time and I forgot, dunno
eyedeekay Me either, regardless right now I'm working on getting the torrent out so that I can update the news
zzz it's a race now, place bets who's going to have NTCP2 working first, eyedeekay or segfault
segfault eyedeekay: zzz: thx
segfault eyedeekay: zzz: so, noice-c is not enough?
segfault zzz: i bet eyedeekay will be first, haha
segfault zzz: i hardly ever have free time for that
eyedeekay Not enough but most
zzz noise lib is a good starting point but not everything
segfault now i'm rtfm...
zzz 3rd section 'additions to the framework'
segfault "our spec makes it all clear" please, don't start implementation war. every developer say that his implementation is better
zzz haha. anyway, idk has a 3 year head start, but maybe he's stuck or distracted, you have a chance
orignal if I remeber NTCP2 is not standard noise
orignal like last round or something
zzz it's standard but with 'extras'
orignal but "standard" pretty much is MixKey and MixHash
zzz yup
orignal however someone here doesn't understand one thing
zzz just the padding and obfuscating X and Y are different
orignal you can't implement NTCP2 without signed own RouterInfo
zzz gotta start somewhere
orignal you could it with NTCP1
orignal but not with NTCP2
orignal someone should start with realistic tasks
orignal instead looking for a library "doing everything"
orignal RI includes identity, NTCP2 address with static key and signaure
zzz coming at some point, names subject to change
zzz Transport Type
zzz NTCP2PQ1 MLKEM512_X25519
zzz NTCP2PQ2 MLKEM768_X25519
zzz NTCP2PQ3 MLKEM1024_X25519
zzz SSU2PQ1 MLKEM512_X25519
zzz SSU2PQ2 MLKEM768_X25519
zzz or maybe not, may be able to do it with SSU2 options/flags
orignal are you talking DH?
zzz yeah hybrid DH
orignal what will be static key?
zzz X25519. MLKEM is ephemeral only
orignal longer X and Y?
zzz MLKEM keys go in message 2 and 3 payloads
orignal then just a priprty
orignal of an address
zzz maybe, we could do SSU2 and SSU2PQ on the same port. But it's real hard to do NTCP2 and NTCP2PQ on the same port because we have no header or flags
zzz but I haven't thought about it too hard yet
zzz correction, the PQ keys are in messages 1 and 2
orignal run in on different ports, not a big deal for me
zzz here's the hybrid XK handshake. e1 and ekem1 ae the additions
zzz XK: XKhfs:
zzz <- s <- s
zzz Blinded message
zzz -> e, es, p -> e, es, e1, p
zzz <- e, ee, p <- e, ee, ekem1, p
zzz -> s, se -> s, se
zzz <- p <- p
zzz p -> p ->
zzz e1 = one-time ephemeral PQ key, sent from Alice to Bob
zzz ekem1 = the KEM ciphertext, sent from Bob to Alice
orignal woyld it fit MTU?
zzz SSU2PQ1 and SSU2PQ2 fit. There is no SSU2PQ3, it's too big, unless we completely rewrite SSU2 to fragment messages 1 and 2
orignal as exepected
zzz SSU2PQ2 is a little bigger than the minimum 1280 MTU though, so you can use it most of the time but not always
orignal 1280 is used too often
zzz pretty sure we'd start with the smallest one, MLKEM-512, it's probably good enough, especially as a hybrid
zzz Sizes, not including IP overhead:
zzz Type Type Code X len Msg 1 len Msg 1 Enc len Msg 1 Dec len PQ key len pl len
zzz X25519 4 32 80+pl 16+pl pl -- pl
zzz MLKEM512_X25519 5 32 880+pl 816+pl 800+pl 800 pl
zzz MLKEM768_X25519 6 32 1264+pl 1200+pl 1184+pl 1184 pl
zzz MLKEM1024_X25519 7 n/a too big
zzz that's for SSU2. Here it is again with better formatting
zzz Type Type Code X len Msg 1 len Msg 1 Enc len Msg 1 Dec len PQ key len pl len
zzz ================ ========= ===== ========= ============= ============= ========== =======
zzz X25519 4 32 80+pl 16+pl pl -- pl
zzz MLKEM512_X25519 5 32 880+pl 816+pl 800+pl 800 pl
zzz MLKEM768_X25519 6 32 1264+pl 1200+pl 1184+pl 1184 pl
zzz MLKEM1024_X25519 7 n/a too big
orignal when are we going to start implemnting this?
zzz dunno. I put a wild guess at the bottom of the proposal on various milestones from late 2025 - mid 2027
zzz but a lot of it isn't really that hard, we could go faster
orignal but do we even need to do it?
zzz don't know that either
orignal eveybody understands x25519/EdDSA
orignal because it's faster
orignal and SHA1 is not strong anymore that why DSA must be replaced
zzz probably the most important one to do first is ratchet.
orignal but what the point of PQ?
orignal to be resistant against theritical machine?
zzz right. you've seen the charts on when X25519 will be broken. 2030? 2035? 2040?
orignal in my opinion not in our lives
orignal for me quantium computer is a hype
orignal to suck money
orignal same way as AI
zzz maybe. But NIST and Cloudflare say do it now. SSL already did it. I don't know what the right answer is
orignal because they are paid for telling this shit
orignal which ssl?
orignal not part of openssl yet
zzz you sure? it's in chrome and firefox. I'm looking for the reference
orignal chrome uses boringssl
orignal by google
orignal yes, but I'm talking about openssl/libressl
zzz yup. I was wrong, I thought they already had it
orignal boringssl has one
orignal if I start implemnting now I would take it from there
zzz looks like they took it from boringssl
zzz but now they're stuck on key formats, we don't really care openssl-library.org/post/2025-01-21-blog-positionandplans
orignal we will see
zzz ok, here it is, they'll have it in 3.5 scheduled for April 8. openssl-library.org/post/2025-02-04-release-announcement-3.5
zzz announced today
zzz good timing ))