Show Idle (>14 d.) Chans


← 2020-04-26 | 2020-04-28 →
01:35 verisimilitude So, I've started work on my general SHA Ada library, and I expect to perhaps have part of it in a presentable state for 2020-04-28; what are you working on that may be ready within the month? Also, spyked, I read the ``Again on ``general-purpose'' tools'' and found it interesting, along with its brother article; in particular, the section on ``syntactic meaning'' brought to mind my ideas for a programming system that lacks a preference
01:35 verisimilitude for symbols in a character set.
01:36 verisimilitude I thought about going into detail in a comment, but didn't figure it would be appreciated if I elaborated on my ideas in relation and linked to my website for further details, so I write it here in less detail.
~ 3 hours 9 minutes ~
04:45 spyked verisimilitude: thanks for reading! sure, I'd appreciate any comments or links to articles on the subj, here or somewhere else
~ 7 hours 38 minutes ~
12:24 asciilifeform http://logs.nosuchlabs.com/log/asciilifeform/2020-04-27#1010680 << this mostly. proggy written, and turned out almost as painful as barrett ; nao typesetting the (handwritten) proof of correctness for it .
12:24 snsabot Logged on 2020-04-27 01:35:39 verisimilitude: So, I've started work on my general SHA Ada library, and I expect to perhaps have part of it in a presentable state for 2020-04-28; what are you working on that may be ready within the month? Also, spyked, I read the ``Again on ``general-purpose'' tools'' and found it interesting, along with its brother article; in particular, the section on ``syntactic meaning'' brought to mind my ideas for a programming system that lacks a preference
12:24 snsabot Logged on 2020-04-20 11:47:10 asciilifeform: speaking of adaisms, i have ch21's modular inverter written. nao grinding out the proofs for it, and the human text..
12:26 asciilifeform all it is, is modular multiplicative inverse, i.e. in constant spacetime, for given n,m find i where n*i === 1 mod m .
12:26 asciilifeform among other places , is needed in rsa key gen .
12:27 asciilifeform ( also used in bitcoinism's ecc, as illustrated by jfw )
12:27 asciilifeform as with barrett earlier, none of the published classical algos were usable as-found
12:30 shinohai *sigh* freenode weather
12:32 asciilifeform finally, ~3y after starting series, can generate rsa keys...
12:40 asciilifeform !w poll
12:40 watchglass Polling 11 nodes...
12:40 watchglass 205.134.172.6:8333 : (172-6.core.ai.net) Alive: (0.022s) V=99999 (/therealbitcoin.org:0.9.99.99/) Jumpers=0x1 (TRB-Compat.) Blocks=627871
12:40 watchglass 205.134.172.4:8333 : (172-4.core.ai.net) Alive: (0.083s) V=70001 (/therealbitcoin.org:0.7.0.1/) Jumpers=0x1 (TRB-Compat.) Blocks=627871
12:40 watchglass 108.31.170.3:8333 : (pool-108-31-170-3.washdc.fios.verizon.net) Alive: (0.111s) V=99999 (/therealbitcoin.org:0.9.99.99/) Jumpers=0x1 (TRB-Compat.) Blocks=627871 (Operator: asciilifeform)
12:40 watchglass 205.134.172.26:8333 : Alive: (0.081s) V=99999 (/therealbitcoin.org:0.9.99.99/) Jumpers=0x1 (TRB-Compat.) Return Addr=0.0.0.0:8333 Blocks=627869
12:40 watchglass 205.134.172.27:8333 : Alive: (0.144s) V=99999 (/therealbitcoin.org:0.9.99.99/) Jumpers=0x1 (TRB-Compat.) Blocks=627871 (Operator: asciilifeform)
12:40 watchglass 192.151.158.26:8333 : Alive: (0.146s) V=70001 (/therealbitcoin.org:0.7.0.1/) Jumpers=0x1 (TRB-Compat.) Blocks=623623
12:40 watchglass 208.94.240.42:8333 : Alive: (0.167s) V=99999 (/therealbitcoin.org:0.9.99.99/) Jumpers=0x1 (TRB-Compat.) Blocks=627871
12:40 watchglass 143.202.160.10:8333 : Alive: (0.283s) V=70001 (/therealbitcoin.org:0.7.0.1/) Jumpers=0x1 (TRB-Compat.) Blocks=627871
12:40 watchglass 213.109.238.156:8333 : Alive: (0.345s) V=99999 (/therealbitcoin.org:0.9.99.99/) Jumpers=0x1 (TRB-Compat.) Blocks=627871
12:40 watchglass 188.121.168.69:8333 : (rev-188-121-168-69.radiolan.sk) Alive: (0.378s) V=99999 (/therealbitcoin.org:0.9.99.99/) Jumpers=0x1 (TRB-Compat.) Blocks=627871
12:40 watchglass 103.36.92.112:8333 : (terebe.ns01.net) Alive: (0.574s) V=99999 (/therealbitcoin.org:0.9.99.99/) Jumpers=0x1 (TRB-Compat.) Blocks=627871
~ 23 minutes ~
13:04 asciilifeform in other lulz, postage moscow -> washingtonistan nao faster than lulazon inside usa .
13:04 asciilifeform 6d vs. 2-3w.
13:05 asciilifeform ( on top of this : ~same~ b00k -- ~5x cheaper . )
13:11 Apocalyptic indeed quite lulzy
13:11 Apocalyptic asciilifeform, looking forward to read ch21
~ 16 minutes ~
13:28 asciilifeform why ty Apocalyptic . didja eat 1-20 already ?
13:30 Apocalyptic eaten in the proper sense probably up to 5/6 only
13:32 asciilifeform Apocalyptic: any sticking points ?
13:40 Apocalyptic none that I remember, I simply put it on the backburner but nonetheless skimmed the rest. Barrett's also caught my attention as I never encountered it before
13:41 Apocalyptic *algo
13:45 asciilifeform Apocalyptic: the likely reason you haven't heard of it, is that most traditional rsatrons use montgomery's. which dun work on even #s, and this is considered acceptable usually in single-purpose rsa proggy. but doesn't cut in in general-purpose numeric system .
13:46 asciilifeform see this re subj .
13:46 asciilifeform the interesting bit is that the 2 algos are ~evenly matched re performance in practice . and proof is similarly tricky in both .
13:47 asciilifeform so i've actually nfi montgomery is as popular as it is, aside from folx blindly parroting one another .
13:47 asciilifeform *nfi why
13:48 asciilifeform i had similar difficulty w/ modular inverse : most of the classical algos (e.g. penck's algo in knuth vol.2 ) presume an odd modulus always
13:49 asciilifeform i refuse to bake any such presumptions into ffa .
13:50 asciilifeform ( and in particular , rsa keygen requires working with an even modulus, cuz (p - 1)(q - 1) is, unsurprisingly , even )
13:51 asciilifeform afaik all old rsatrons used euclid's algo for the m-even case. i.e. with division. which cannot be constant-timespaced .
13:52 asciilifeform what i ended up with, was a modified variant of vanstone's (orig. penck's) that computes full extended gcd in const. spacetime.
13:52 asciilifeform ( with only add/subtract/shift, just like my variant of stein's ordinary gcd . )
13:55 asciilifeform ( to be painfully pedantic, this aint strictly troo -- euclid's ~could~ be written w/ 2*bitness divisions. but then would be as slow as non-barrettian mod-exp. )
13:55 snsabot Logged on 2020-04-27 13:51:41 asciilifeform: afaik all old rsatrons used euclid's algo for the m-even case. i.e. with division. which cannot be constant-timespaced .
13:57 asciilifeform at any rate, this piece is 100% done, the vpatch -- baked. nao needs the human text .
~ 8 hours 57 minutes ~
22:54 ben_vulpes buenas noches, asciilifeform. i'm considering running some Ada code in a "real-time" environment; one where i don't have to worry about the kernel fucking off to massage the NIC for arbitrary periods of time. i'm inclined to use Ada, and would like to solicit your input on going down the "bare metal ada" rabbit hole. is something in the vein of
22:54 ben_vulpes https://stackoverflow.com/questions/56721890/setting-up-a-bare-metal-x86-ada-toolchain reasonable? or should i just write everything in C and use RTAI to make my life easier
22:55 asciilifeform ohai ben_vulpes . ave1 baked a working example .
22:55 asciilifeform for x64.
22:55 asciilifeform i have a yet-unpublished one for mips32
22:56 asciilifeform ( based on his, but is quite specific to pic32mz processor )
22:56 asciilifeform my ffa plan includes eventual port to that machine, for pocket-sized rsatronics.
22:57 asciilifeform i also have a yet-incomplete msdos port, with similar aim.
22:58 asciilifeform ben_vulpes: if your proggy can be written w/out using heapism, it'll work w/ ave1's .
22:58 ben_vulpes how are {version of the library with no OS support} and {one withe 64-bit arm support} mutually exclusive?
22:59 asciilifeform afaik they are not. but you'll need to provide some asm for i/o in either case
22:59 asciilifeform see ave1's example for x64
22:59 asciilifeform ben_vulpes: care to say moar re what sorta application ?
22:59 ben_vulpes forgive the innumeracy, but what is the upside of no-heapism outside of crypto?
23:00 asciilifeform that you don't need an allocator
23:00 asciilifeform cuz if you do, you will 1) have to write one 2) put up with the fact that it can't allocate in O(1) or alternatively 3) can't deallocate in O(1)
23:00 asciilifeform for realtimeism, 2/3 is a killer
23:01 ben_vulpes naturlich
23:02 ben_vulpes do the other niceties (scheduler, for one) require heap?
23:02 asciilifeform afaik scheduler/tasks does not, per se
23:03 asciilifeform for that matter most of ada does not assume existence of heap. e.g. ffa runs w/ heap disabled .
23:03 asciilifeform tbf i don't miss the heap at all.
23:04 asciilifeform for thread-completeness: full list of what's disabled in ffa.
23:05 ben_vulpes http://logs.nosuchlabs.com/log/asciilifeform/2020-04-27#1010742 << eat udp packets, write to serial ports
23:05 snsabot Logged on 2020-04-27 22:59:29 asciilifeform: ben_vulpes: care to say moar re what sorta application ?
23:05 asciilifeform ben_vulpes: you'll need to write some magick to init & drive the nick
23:06 asciilifeform it's a known headache if you haven't already discovered .
23:06 snsabot (trilema) 2019-05-30 asciilifeform: phf: i once sank good bit of time into attempt to bring up the ubiquitous 'crab nic' (realtek gb) from asm. broke teeth, it needs a working interrupt stack to run (i.e. 'spittoon in 1 strand', need entire os) . since then, found the 'seekrit' datashit, theoretically could do it, but not had time.
23:06 ben_vulpes this line of thought is what brought me to RTAI/Xenomai; that and their preexisting incorporation into buildroot. i have but one life etc
23:07 asciilifeform if yer system runs a linux, it won't be realtime. (i tried various 'rt' patches , for machining application, it was crock of shit)
23:07 asciilifeform when you said 'real time', i assumed already arrived at this conclusion, i.e. ready to write a basic machine init, i/o stack etc
23:08 ben_vulpes mm, no see previous 'innumeracy' comment.
23:08 asciilifeform the basics aint in fact very hard on pc. here for instance is simple demo .
23:08 snsabot (trilema) 2018-07-06 asciilifeform: ok here goes, ftr : http://loper-os.org/pub/x86-64-toystore-os.tar.gz >> sha512==e292a6d4296bc3cc63d2bc78bb7def807f7c4e9f8e630b292afec00b08c1fc2f8eeff5d074560804828ee7aee8ab5e43e698436c203c990d994863882e51446a
23:08 asciilifeform nic is a bitch tho.
23:09 asciilifeform ben_vulpes: 1st step is to determine how 'hard real time' is yer realtime. e.g. do you need to generate waveforms to 1% accuracy using empty loops ?
23:09 asciilifeform ... service a signal in <1ms 100% of the time ?
23:10 ben_vulpes no, in the absence of counsel to the contrary, i think i'd prefer to rely on eg 'Pololu Maestro' for that sort of work
23:10 asciilifeform w/out knowing something about your problem domain, i cannot say whether you can get away with a cut-down linux + gnat targeting same, or need to write mini 'os'
23:10 asciilifeform fwiw asciilifeform's most 'hard real time' piece was FG. and there i cut out the von neumann machine entirely and went w/ fpga.
23:10 ben_vulpes sub ms is not even a problem; i am more interested in 'can eat udp packets, verify sigs and act on contents without disappearing for a half second to service dma'
23:11 asciilifeform ben_vulpes: if yer verifying sigs in realtime with something other than ffa (or own proggy written w/ same algos) and enemy has access to any evidence of operation lag time, yer key will be factored.
23:11 ben_vulpes where dma is "whatever strange it must"
23:12 asciilifeform why do you think i spent 3+y writing it.
23:12 ben_vulpes yes yes
23:12 asciilifeform orig aim specifically was 'eat udp packets w/ rsaolade'
23:13 ben_vulpes asciilifeform must have forgotten that i was once a human
23:13 asciilifeform to be pedantic, can ~verify~ w/whatever you like , if yer ~generating~ sigs...
23:13 asciilifeform lol
23:13 ben_vulpes read, wrote...
23:14 asciilifeform ben_vulpes: i assumed you slept in merlin's cave, is all, lol
23:15 ben_vulpes ben_vulpes, sank; republic, shattered
23:15 ben_vulpes but enough maudlinnery, i'm not here for the feels
23:15 asciilifeform ben_vulpes: ftr asciilifeform was drummed out a while before 'shattered'
23:16 ben_vulpes literally dgaf
23:16 asciilifeform at any rate, sounds like ben_vulpes might be baking something quite similar to what's on asciilifeform's chalkboard.
23:17 ben_vulpes anyways, upstack, some subset of nodes must decrypt, but all must verify
23:17 asciilifeform you'll want to pick a nic and get the datashit, and write basic init for it. interrupt handlers are pretty easy to adaize, there are existing provisions for it.
23:18 asciilifeform ada scheduler means you don't in fact need the linux kernel's
23:18 ben_vulpes i'm not convinced yet (innumeracy); the combination of commodity hardware and relaxed timing is compelling
23:19 asciilifeform if you don't need Gb/s throughput, or realtime for that matter at all, can work w/ linux + asciilifeform's ada-udp .
23:19 ben_vulpes for the near term, tens of ms are acceptable. i'm not driving a mill body or anything.
23:20 asciilifeform at the very least can start there.
23:21 asciilifeform i wrote that lib for specifically this application, btw.
23:21 ben_vulpes did you abandon the esp32?
23:22 asciilifeform i did. was unimpressed w/ the availability , and with the actual signal range .
23:23 asciilifeform imho this is more promising direction re radio for subj .
23:23 snsabot Logged on 2019-11-18 17:16:03 asciilifeform: superkuh: re: mesh nets, so happens that i've dug into the subj, but w/out publishable results just yet.
23:24 ben_vulpes classic thread!
23:24 asciilifeform roughly speaking, 'uwb' over 0-30Mhz .
23:24 asciilifeform 'not caught -- not thief'.
23:25 ben_vulpes i'll be satisfied with hard connections.
23:26 asciilifeform linked udp lib + gnat is errything afaik you need to start experimenting (on ordinary linux, that is)
23:27 ben_vulpes i honestly don't know how to make the call on the necessity of real-time.
23:27 asciilifeform simplest way is to actually try.
23:29 ben_vulpes on the other hand, a hostile node can take everyone else on the LAN down with eg ping floods. this is a classic "threat modeling" problem, i realize now.
23:30 asciilifeform and so happens that i've already posted world's simplest rsatron. which, also happens, beats koch's speedwise even w/out bvt's asmism patches.
23:31 asciilifeform ( spoiler : avoiding branches actually wins on past decade+ of x64 irons )
23:33 asciilifeform ben_vulpes: flooding goes away if you 1) don't relay what wasn't signed w/ known sig 2) don't relay anyffin w/ timestamp (covered by sig) > x ticks ago 3) don't relay anyffin that was relayed in past M min (hash table) .
23:33 * asciilifeform spent many yrs thinking about this, and other assoc. headaches.
23:35 asciilifeform ddosism similarly goes away if yer system is 100% ip addr - agnostic. i.e. you have e.g. /24 block of entry points, ddos is stuck spreading itself then b/w 256 ip
23:36 asciilifeform ... because for so long as even 1 is reachable, yer in biz
23:37 asciilifeform added bonus if yer entry points are spread across multiple pipes (and/or multiple physical locations)
23:37 ben_vulpes doesn't this mean one is on the hook for a router in addition to everything else?
23:37 asciilifeform no more so than usual
23:37 asciilifeform key is that neither participant in 'conversation' ought to give a damn re originating ip of replies
23:38 asciilifeform i.e. the exact opposite of the traditional countermeasure to ddos
23:39 asciilifeform 'reply' is simply any incoming packet that passes sig verify, decrypts appropriately, and afterwards decodes correctly such that seen as 'reply' .
23:41 asciilifeform timestamp & random 'nonce' you will want visible in plaintext, so as not to blow cpu cycles rsaing on replayed crud
23:41 ben_vulpes what does the relaying, in this model? each node?
23:41 asciilifeform ( principal attack on any such system is replay of valid packets )
23:41 asciilifeform each node.
23:43 asciilifeform ideal building block , is a box w/ 2 nic jacks, 1 eats gb/s from firehose (heathen net) and other emits only what passed 1+2+3 , to preconfig'd list of peers. ideally over a separate physical pipe indep. from the former's.
23:43 asciilifeform ( and naturally in reverse. )
23:44 asciilifeform optionally also ought to emit certain amt of garbage (on heathen end) to frustrate traffic analysis.
23:44 asciilifeform garbage packets must have valid sigs, or otherwise will be distinguishable by 3rd party from actual payloads.
23:45 asciilifeform ( it is not difficult to infer rsa pubkey from large body of valid ciphertexts )
23:46 asciilifeform likewise, garbage packets can have any destinations (udp, recall) but at least some of the time ought to have same destination as actual payload-bearing packets.
23:47 asciilifeform ideally heathen pipe will be kept saturated at all times.
23:48 ben_vulpes i'm not convinced that i have a use for 'heathen pipe'
23:48 asciilifeform well it's that or shortwave
23:48 asciilifeform or how do you intend to link the nodes.
23:49 ben_vulpes physically!
23:49 asciilifeform i.e. run own fiber ? if can afford, wainot
23:49 ben_vulpes fiber seems overkill
23:50 ben_vulpes cat5 should be adequate.
23:50 asciilifeform afaik cat5 gives you ~10km max
23:50 ben_vulpes should be adequate.
23:50 asciilifeform and i admit it aint clear to me what is the point of gossipnet inside 1 house..
23:51 ben_vulpes me either!
23:51 asciilifeform as prototype -- sure. but afaik whole point is to impose an independent routing topology on a hostile net.
23:51 ben_vulpes one doesn't want just anyone suborning a hardport though.
23:52 asciilifeform if enemy has access to your inhouse cat5, he can suborn w/ 220v .
23:52 asciilifeform oblig.
23:53 asciilifeform crypto, in that case, dun help.
23:53 asciilifeform can suborn w/ a jerry can and match, for that matter.
23:54 asciilifeform oblig .
23:55 ben_vulpes not to give the game away, but yes i know
23:57 asciilifeform so then why build 'maginot line'.
23:59 asciilifeform gossipnet b/w your garage door opener and yer lamps controller is mp's archaetypical 'taking the rifle fishing' imho.
23:59 asciilifeform rifle dun do any good as fishing pole.
23:59 asciilifeform heavy, and rusts.
← 2020-04-26 | 2020-04-28 →