Forums before death by AOL, social media and spammers... "We can't have nice things"
|    comp.arch    |    Apparently more than just beeps & boops    |    131,241 messages    |
[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]
|    Message 129,457 of 131,241    |
|    Terje Mathisen to All    |
|    SHA3 - 32 registers required for speed?    |
|    21 Aug 25 12:17:13    |
      From: terje.mathisen@tmsw.no              I looked at the (newish) SHA3 backup algorithm for the current SHA2, it       is based on a 5x5x64 bit internal core, with mixing operations that have       been based on having each of those 5x5=25 stripes in a separate 64-bit       (unsigned) variable, and then do a lot of logic ops across them, and       using rotations for vertical motion.              With a core containing 25 named variables, you need an easy way to       access any of them, so even using SIMD might be a stretch?              I see a github SHA3 project that simply defines an array of uint64_t,       and all the ops index into this, but unless the compiler can extract       them all into registers, this is going to generate a lot of extra $L1       traffic.              Terje       --       - |
[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]
(c) 1994, bbs@darkrealms.ca