*** jab <jab!~jab@user/jab> has quit IRC | 00:31 | |
*** jab <jab!~jab@user/jab> has joined #libre-soc | 00:32 | |
*** jab <jab!~jab@user/jab> has quit IRC | 03:12 | |
*** ghostmansd <ghostmansd!~ghostmans@broadband-188-32-220-156.ip.moscow.rt.ru> has quit IRC | 03:14 | |
*** jn <jn!~quassel@user/jn/x-3390946> has quit IRC | 03:35 | |
*** jn <jn!~quassel@2a02:908:1065:960:20d:b9ff:fe49:15fc> has joined #libre-soc | 03:36 | |
*** jn <jn!~quassel@user/jn/x-3390946> has joined #libre-soc | 03:36 | |
*** lxo <lxo!~lxo@gateway/tor-sasl/lxo> has quit IRC | 06:12 | |
*** lxo <lxo!~lxo@gateway/tor-sasl/lxo> has joined #libre-soc | 06:27 | |
*** psydroid <psydroid!~psydroid@user/psydroid> has quit IRC | 11:26 | |
*** jevinskie[m] <jevinskie[m]!~jevinskie@2001:470:69fc:105::bb3> has quit IRC | 11:26 | |
*** underpantsgnome[ <underpantsgnome[!~tinybronc@2001:470:69fc:105::2:1af6> has quit IRC | 11:26 | |
*** EmanuelLoos[m] <EmanuelLoos[m]!~emanuel-l@2001:470:69fc:105::6260> has quit IRC | 11:26 | |
*** sadoon[m] <sadoon[m]!~sadoonunr@2001:470:69fc:105::1:f0fa> has quit IRC | 11:26 | |
*** cesar1 <cesar1!~cesar@2001:470:69fc:105::76c> has quit IRC | 11:26 | |
*** programmerjake <programmerjake!~programme@2001:470:69fc:105::172f> has quit IRC | 11:26 | |
*** programmerjake <programmerjake!~programme@2001:470:69fc:105::172f> has joined #libre-soc | 11:30 | |
*** cesar <cesar!~cesar@2001:470:69fc:105::76c> has joined #libre-soc | 12:09 | |
*** EmanuelLoos[m] <EmanuelLoos[m]!~emanuel-l@2001:470:69fc:105::6260> has joined #libre-soc | 12:09 | |
*** jevinskie[m] <jevinskie[m]!~jevinskie@2001:470:69fc:105::bb3> has joined #libre-soc | 12:09 | |
*** sadoon[m] <sadoon[m]!~sadoonunr@2001:470:69fc:105::1:f0fa> has joined #libre-soc | 12:09 | |
*** ghostmansd <ghostmansd!~ghostmans@broadband-188-32-220-156.ip.moscow.rt.ru> has joined #libre-soc | 12:27 | |
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@broadband-188-32-220-156.ip.moscow.rt.ru> has quit IRC | 12:35 | |
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@176.59.54.123> has joined #libre-soc | 12:38 | |
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@176.59.54.123> has quit IRC | 12:53 | |
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@broadband-188-32-220-156.ip.moscow.rt.ru> has joined #libre-soc | 12:58 | |
*** lxo <lxo!~lxo@gateway/tor-sasl/lxo> has quit IRC | 13:21 | |
lkcl | markos, if you're up for another laughably-simple "challenge", and wanted to learn REMAP Indexing, i've an algorithm for you :) | 13:39 |
---|---|---|
lkcl | when you're well-rested | 13:40 |
*** lxo <lxo!~lxo@linux-libre.fsfla.org> has joined #libre-soc | 14:11 | |
markos | lkcl, shoot, the coming couple of weeks are going to be slow but I'll be more available by the end of the month | 14:13 |
lkcl | 7 instructions to do the inner loop of chacha20. | 14:17 |
lkcl | https://www.oryx-embedded.com/doc/chacha_8c_source.html#l00260 | 14:17 |
markos | lol | 14:18 |
markos | looks trivial | 14:18 |
lkcl | a Vertical-First Loop, where "svstep." will set CR0.EQ=1 on end-of-inner loop, so you can bc back around the xor/add/ROL32 instructions | 14:19 |
lkcl | the *very next instruction* is a CTR-dec-based bc back to setvl to do it again, where mtctr sets CTR to 8, 12, or 20 | 14:19 |
lkcl | it's so astoundingly simple that it's worth doing, because the *entire lot* - the entire core algorithm, all rounds - fits into a single L1 Cache-Line | 14:20 |
lkcl | the "tricky" bit will be setting up the REMAP Indices | 14:21 |
lkcl | i say "tricky" - it's not. | 14:21 |
markos | ok, I'll take a look on Monday now I have to reconfigure my whole lab here, putting some systems into their boxes, network switches etc | 14:21 |
lkcl | niiice. | 14:21 |
markos | it's a cable mess -or will be even more shortly | 14:21 |
lkcl | haha | 14:22 |
lkcl | today i did a different kind of "cabling" - fitting a rubber propane hose onto a 3-ring camping stove | 14:22 |
lkcl | the tendons in my wrists are still hurting | 14:22 |
lkcl | it took over 20 minutes to get the fricking hose onto the brass fitting, putting far more pressure on it than i have strength in my arms (because of RSI) | 14:23 |
lkcl | i'll live :) | 14:23 |
markos | yes, and you have to be very careful with these pipes | 14:24 |
markos | couldn't you ask someone else to do this? | 14:25 |
lkcl | the end-nozzle is on a free-rotating "thing" | 14:25 |
lkcl | it's done, now. | 14:26 |
lkcl | on the regulator was fine, it was a smaller diameter nozzle | 14:26 |
markos | I don't mind doing electrical work on my own, at least simpler stuff, but I don't touch anything that involves gas pipes and boilers | 14:27 |
lkcl | and was "jagged". the one on the cooker was "rounded" bulbs - so the hose kept popping back off. | 14:27 |
markos | too scared I'm going to blow things up | 14:27 |
lkcl | barbed. you know what i mean | 14:27 |
lkcl | haha | 14:27 |
lkcl | well the regulator has a valve/indicator | 14:27 |
lkcl | and i can always take a deep sniff :) | 14:28 |
markos | actually, how's this, you pick a port of a full crypto library to port to svp64 | 14:30 |
markos | and we do it | 14:30 |
markos | this should be more tricky than video codecs | 14:30 |
markos | but it would be worth a shot | 14:30 |
markos | pick a crypto library to port I mean | 14:31 |
markos | not just a few functions | 14:31 |
markos | picking a library would have the benefit of unit tests which we can use | 14:32 |
markos | and it would also make for an important part of an SVP64-able linux part | 14:32 |
markos | I mean video codecs are cool, but crypto is much more fundamental for an OS | 14:33 |
markos | s/linux part/linux port | 14:33 |
markos | also it would show even more limitations we might have currently and we could fix them long before we finalize the spec | 14:34 |
lkcl | nice idea - out of budget though for this first crypto-primitives grant | 14:48 |
lkcl | there's enough to get perhaps 3 maybe 4 algorithms done, plus a preliminary report, proofs, and HDL implementations | 14:49 |
lkcl | from that we can, yes, go for a full crypto-library. | 14:49 |
lkcl | the other laughably-simple on is ec25519. | 14:50 |
lkcl | all of the "difficult" functions - big-mul, big-shift, big-add, because they're all 256-bit (including the modulo arithmetic one) it's a fixed VL of 4, for QTY 4of 64-bit registers | 14:52 |
lkcl | https://www.oryx-embedded.com/doc/curve25519_8c_source.html#l00191 | 14:52 |
lkcl | that *is* a high-value target | 14:56 |
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@broadband-188-32-220-156.ip.moscow.rt.ru> has quit IRC | 14:57 | |
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@176.59.174.38> has joined #libre-soc | 14:57 | |
markos | I'd still pick a library like this and just finish just 3-4 algorithms then | 15:17 |
lkcl | these are... depressing | 15:19 |
lkcl | https://hg.mozilla.org/projects/nss/file/764124fddaa2a908ffa8222732d31829b71c357f/lib/freebl/chacha20-ppc64le.S | 15:19 |
lkcl | https://elixir.bootlin.com/linux/latest/source/arch/x86/crypto/chacha-avx2-x86_64.S | 15:20 |
markos | I think my method of integrating python simulator with C has benefit compared to a straight asm algorithm for 2 reasons, a) parallel testing of binutils b) actual real testing of the algorithm using provided unit tests and if you're patient enough, actual software that uses it :) | 15:20 |
markos | oh wow | 15:21 |
markos | 1k lines | 15:21 |
markos | well that's not surprising | 15:21 |
lkcl | full loop-unrolled. | 15:22 |
markos | yes | 15:22 |
markos | simd code hates branches | 15:22 |
lkcl | yes i love the integration-idea | 15:22 |
lkcl | although the typical way crypto is done is, you have exactly *one* unit test - the reference input/output from the paper. | 15:23 |
lkcl | and it's entirely standalone programs. | 15:23 |
markos | sure, but one might claim that the unit test is 'rigged' | 15:24 |
markos | using a reference *unmodified* unit test from a well established crypto library makes the point moot | 15:25 |
markos | in the first case you have to prove that both your function *AND* the unit test are correct | 15:25 |
lkcl | nah. crypto algorithms are a high-value taget, it's usually 8-10 years before they get adopted | 15:25 |
markos | sometimes they may be trivial but in most complex crypto algorithms they are not | 15:25 |
lkcl | the number of people studying them and picking them apart is at least one order of magnitude higher than any other software | 15:26 |
markos | my point is, if you provide both implementation and unit test, you have to make sure the unit test is also valid, testing it against a known algorithm or a reference implementation | 15:26 |
markos | though having said that, these can probably be found online anyway | 15:27 |
lkcl | indeed | 15:27 |
lkcl | exactly | 15:27 |
lkcl | all traced back to the original paper | 15:27 |
markos | ok indeed | 15:27 |
lkcl | which in turn is studied to death by academics and security researchers | 15:27 |
lkcl | 540 lines for VSX. | 15:28 |
lkcl | and that's macros, so it's fully loop-unrolled (again), which will start to hit L1-I/D-Cache to L2 bus-contention on IBM POWER9 | 15:31 |
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@176.59.174.38> has quit IRC | 15:51 | |
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@176.59.174.38> has joined #libre-soc | 15:52 | |
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@176.59.174.38> has quit IRC | 16:17 | |
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@broadband-188-32-220-156.ip.moscow.rt.ru> has joined #libre-soc | 16:17 | |
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@broadband-188-32-220-156.ip.moscow.rt.ru> has quit IRC | 17:43 | |
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@176.59.174.108> has joined #libre-soc | 17:44 | |
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@176.59.174.108> has quit IRC | 17:49 | |
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@broadband-188-32-220-156.ip.moscow.rt.ru> has joined #libre-soc | 17:49 | |
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@broadband-188-32-220-156.ip.moscow.rt.ru> has quit IRC | 17:56 | |
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@broadband-188-32-220-156.ip.moscow.rt.ru> has joined #libre-soc | 18:56 | |
*** jab <jab!~jab@user/jab> has joined #libre-soc | 19:14 | |
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@broadband-188-32-220-156.ip.moscow.rt.ru> has quit IRC | 19:46 | |
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@176.59.174.183> has joined #libre-soc | 19:46 | |
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@176.59.174.183> has quit IRC | 19:52 | |
*** lxo <lxo!~lxo@linux-libre.fsfla.org> has quit IRC | 21:38 | |
*** lxo <lxo!~lxo@linux-libre.fsfla.org> has joined #libre-soc | 21:38 | |
*** lxo <lxo!~lxo@linux-libre.fsfla.org> has quit IRC | 21:43 | |
*** lxo <lxo!~lxo@linux-libre.fsfla.org> has joined #libre-soc | 21:46 | |
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@broadband-188-32-220-156.ip.moscow.rt.ru> has joined #libre-soc | 21:48 |
Generated by irclog2html.py 2.17.1 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!