Changes between Initial Version and Version 1 of Ticket #12022


Ignore:
Timestamp:
Feb 26, 2016, 3:21:34 PM (7 years ago)
Author:
Domagoj Šarić
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #12022 – Description

    initial v1  
    1 multiprecision::powm() with unchecked uints is _much_ slower (i.e. I actually perceive the time it takes for the function to return on an 4GHz i5 in release builds) than say the equivalent libtomcrypt/math operation. I'm guessing the major reason for this is the https://en.wikipedia.org/wiki/RSA_(cryptosystem)#Using_the_Chinese_remainder_algorithm optimisation (or lack thereof in multiprecision).
     1multiprecision::powm() with unchecked uints is _much_ slower (i.e. I actually perceive the time it takes for the function to return on an 4GHz i5 in release builds) than say the equivalent libtomcrypt/math operation. I'm guessing the major reason for this is the CRT[1] optimisation (or lack thereof in multiprecision).
    22So, can you implement a CRT 'enabled' powm overload (I presume this would also require a function for factoring a large multiprecision uint into to dp, dq, etc. factors)?
     3
     4[1]
     5https://en.wikipedia.org/wiki/RSA_(cryptosystem)#Using_the_Chinese_remainder_algorithm
     6http://crypto.stackexchange.com/questions/2575/chinese-remainder-theorem-and-rsa