Wiktor Pogoda
Wiktor Pogoda

Reputation: 75

Octave - how to operate with big numbers

I work on RSA algorithm in octave, but it isn't working in proper way. Problem appears while i try to use "^" function. Check my example below:

>> mod((80^65), 133)

terminal gives me:

ans = 0

I cannot fix this stuff, it's funny becouse even my system calculator return correct number (54)

Upvotes: 4

Views: 2217

Answers (1)

Wiktor Pogoda
Wiktor Pogoda

Reputation: 75

to calculate this in correct way you can use fast power-modulo algorithm. In c++, check function below where -> a^b mod m:

int power_modulo_fast(int a, int b, int m)
{
int i;
int result = 1;
int x = a % m;

for (i=1; i<=b; i<<=1)
{
  x %= m;

    if ((b&i) != 0)
      {
    result *= x;
    result %= m;
      }

   x *= x;
}

  return result;
}

Upvotes: 4

Related Questions