i believe i just did something no one has ever done before: i wrote a constant-time galois field implementation on a 6502 chipset, which not only does not have a constant-time hardware multiply instruction, but does not have a multiply instruction at all
-
-
here's the same routine made constant time by always adding-then-doubling which requires 283 instructions AND TAKES 374 CYCLES JUST TO MULTIPLY TWO BYTESpic.twitter.com/TBV7N5mlUh
Prikaži ovu nit -
the 6510 chips in commodore 64s run at ~1MHz depending on whether it's the PAL or NTSC version, and a field element in this 434-bit prime field takes 56 bytes, so multiplying two field elements takes roughly 20,944 cycles or ~21ms assuming page boundaries aren't crossed
Prikaži ovu nit -
i'm not sure how many field element operations i'm going to need to walk the isogeny graph yet, but i feel pretty confident that this is going to be the slowest post-quantum cryptographic implementation in existence, and quite possibly just straight up slowest crypto in the world
Prikaži ovu nit -
this amusingly means that i will hold the title for implementing both the fastest and slowest elliptic curve related cryptographic implementations in the world

Prikaži ovu nit
Kraj razgovora
Novi razgovor -
-
-
This is amazing. Paging
@a2_qkumba &@JBrooksBSI. 6502 code tends to get magically faster when you show it to them :-) Or join#coding on the Apple2Infinitum Slack! -
there’s a 6502 slack? may i please join?

- Još 1 odgovor
Novi razgovor -
-
-
Neil Parker has a page with 6502 mul/div routines: http://nparker.llx.com/a2/mult.html For graphics engines, I often used lookup tables and/or log approx (mul via add). Along those lines, Blinn came up with neat tricks for FP-style piecewise-linear numbers:https://www.yumpu.com/en/document/view/6104114/floating-point-tricks-ieee-computer-graphics-and-applications …
Hvala. Twitter će to iskoristiti za poboljšanje vaše vremenske crte. PoništiPoništi
-
-
-
Did you see my DM?
Hvala. Twitter će to iskoristiti za poboljšanje vaše vremenske crte. PoništiPoništi
-
-
-
I used to watch some 8bit coding streams and every time I see this kind of stuff I'm so amazed. This is a whole other world you guys have!
Hvala. Twitter će to iskoristiti za poboljšanje vaše vremenske crte. PoništiPoništi
-
-
-
Hvala. Twitter će to iskoristiti za poboljšanje vaše vremenske crte. PoništiPoništi
-
Čini se da učitavanje traje već neko vrijeme.
Twitter je možda preopterećen ili ima kratkotrajnih poteškoća u radu. Pokušajte ponovno ili potražite dodatne informacije u odjeljku Status Twittera.
𝖍𝖆𝖘𝖍 𝖋𝖚𝖓𝖈𝖙𝖎𝖔𝖓𝖘