[Libre-soc-bugs] [Bug 773] High-Level Demos of Cryptographic and Other Relevant Algorithms

bugzilla-daemon at libre-soc.org bugzilla-daemon at libre-soc.org
Wed Sep 6 18:17:36 BST 2023


https://bugs.libre-soc.org/show_bug.cgi?id=773

Luke Kenneth Casson Leighton <lkcl at lkcl.net> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |lkcl at lkcl.net

--- Comment #6 from Luke Kenneth Casson Leighton <lkcl at lkcl.net> ---
(In reply to Jacob Lifshay from comment #5)
> markos, you were running into the issue that ed25519 needs too many
> registers, if you use all 64 bits of each register and use the bigint
> instructions you can probably squeeze into fewer registers, since the
> ed25519 code referenced in comment #0 uses only 51 bits (edit: corrected)
> out of each 64-bit register.

child subtasks needed! jacob can you raise them so that markos is
not distracted?

dsrd should work extremely well to "unpack" the 51-bits, using
Vertical-First.  2 input regs are a 128-bit "FIFO" in essence
whilst the output is "the current constant plus the backend
remainder of the FIFO".

   bitsleft = 128
   r1, r2, j = input[0], input[1], 2
   loop i:
        output[i], r2 = dsrd(r1, r2, 51)
        bitsleft -= 51
        if bitsleft <= 64:
             r2 |= input[j]
             j += 1

something like that although it relies on Vertical-First mode
which the entire ed25519 algorithm would have to be based on.

-- 
You are receiving this mail because:
You are on the CC list for the bug.


More information about the libre-soc-bugs mailing list