Post Reply 
modular exponentiation?
06-25-2018, 06:02 AM
Post: #16
RE: modular exponentiation?
Hello,

>I've never even heard of binary multiplication chains.
>I've certainly heard of powers-of-two multiplication by bit-shifting though.
>I don't know if this is the same thing

Yes, they are. When you do "powers-of-two multiplication by bit-shifting", you do things like:
res= 0
while a!=0
if a is odd then res= res+b
a= a shift right (divide by 2)
b= b+b (or b shift left: multiply by 2)
end

power of 2 power by bit shifting is
res= 0
while a!=0
if a is odd then res= res*b // Note the + changed into a *
a= a shift right (divide by 2) // no changes there
b= b*b // Multiply by 2 changed into a square (the power equivalent of +)
end

So, same algo, different functions...

Where this is interesting and applies to the original "question" is that breaking the power loops allows you to add the modulo function in the innerloop and never end up with large numbers.

The net result is that you will have to perform
sum(ln(n)*1.5) multiplications and modulo calculations (=~8800) assuming that bits are odd with 50% probability...

With some luck your CPU does have a build in / or % function...
The main issue is that you need to do calculations with numbers that can be as big as 10^20 (2 10 digits number being multiplied) which takes 67 bits... and this overflows a 64 bit register :-(
So you will have to create a longer precision arithmetics for the multiplication and modulo...

Cyrille
Cyrille

Although I work for the HP calculator group, the views and opinions I post here are my own. I do not speak for HP.
Find all posts by this user
Quote this message in a reply
Post Reply 


Messages In This Thread
modular exponentiation? - Bill Duncan - 06-23-2018, 11:49 PM
RE: modular exponentiation? - Thomas Klemm - 06-24-2018, 12:21 AM
RE: modular exponentiation? - Bill Duncan - 06-24-2018, 03:20 AM
RE: modular exponentiation? - Thomas Klemm - 06-24-2018, 12:33 AM
RE: modular exponentiation? - Thomas Okken - 06-24-2018, 12:48 AM
RE: modular exponentiation? - mfleming - 06-24-2018, 02:46 AM
RE: modular exponentiation? - mfleming - 06-24-2018, 02:58 AM
RE: modular exponentiation? - Paul Dale - 06-24-2018, 03:42 AM
RE: modular exponentiation? - J-F Garnier - 06-24-2018, 08:41 AM
RE: modular exponentiation? - John Keith - 06-28-2018, 12:42 AM
RE: modular exponentiation? - ijabbott - 06-28-2018, 06:07 PM
RE: modular exponentiation? - John Keith - 06-28-2018, 09:40 PM
RE: modular exponentiation? - J-F Garnier - 06-24-2018, 11:32 AM
RE: modular exponentiation? - sasa - 06-24-2018, 10:21 PM
RE: modular exponentiation? - ijabbott - 06-25-2018, 10:09 PM
RE: modular exponentiation? - Bill Duncan - 06-25-2018, 10:45 PM
RE: modular exponentiation? - brickviking - 06-25-2018, 02:04 AM
RE: modular exponentiation? - Thomas Okken - 06-25-2018, 02:44 AM
RE: modular exponentiation? - brickviking - 06-25-2018, 10:21 PM
RE: modular exponentiation? - cyrille de brébisson - 06-25-2018 06:02 AM
RE: modular exponentiation? - Bill Duncan - 06-25-2018, 02:49 PM
RE: modular exponentiation? - Thomas Okken - 06-25-2018, 03:43 PM
RE: modular exponentiation? - Bill Duncan - 06-25-2018, 04:06 PM
RE: modular exponentiation? - Thomas Klemm - 06-25-2018, 04:31 PM
RE: modular exponentiation? - StephenG1CMZ - 06-25-2018, 05:42 PM
RE: modular exponentiation? - Thomas Klemm - 06-28-2018, 09:56 PM
RE: modular exponentiation? - John Keith - 06-29-2018, 12:47 AM
RE: modular exponentiation? - Bill Duncan - 07-08-2018, 09:50 PM
RE: modular exponentiation? - Joe Horn - 07-09-2018, 02:32 AM
RE: modular exponentiation? - Thomas Klemm - 07-09-2018, 05:18 AM
RE: modular exponentiation? - Gerald H - 07-09-2018, 09:55 AM
RE: modular exponentiation? - Thomas Klemm - 07-09-2018, 01:37 PM
RE: modular exponentiation? - wynen - 10-26-2018, 06:08 PM
RE: modular exponentiation? - rprosperi - 10-26-2018, 07:37 PM
RE: modular exponentiation? - Albert Chan - 10-27-2018, 12:24 AM
RE: modular exponentiation? - pier4r - 10-27-2018, 07:28 PM



User(s) browsing this thread: 1 Guest(s)