Download from here
For the inverse and fast squaring code, see Crypto codes: 1
Finds eth root modulo p:
This test will return:
Matlab codes: http://www-users.math.umd.edu/~lcw/MatlabCode/
For the inverse and fast squaring code, see Crypto codes: 1
Finds eth root modulo p:
public class RSA {
//find x from x^e = c (mod p)
public static long findRoot(long e, long c, long p)
{
long x = 0;
//find e^-1 (mod p-1)
long eInverse = crypto.inverse(p-1, e);
//x = c^d (mod p)
x = crypto.fastSq(p, c, eInverse);
return x;
}
//test: answer = 6059
public static void main(String[] args) {
long e = 1583;
long c = 4714;
long p = 7919;
long x = RSA.findRoot(e,c, p);
System.out.println("Solution to x^"+e+" = "+c+" (mod "+p+"): x= "+x);
}
}
This test will return:
Solution to x^1583 = 4714 (mod 7919): x= 6059
Matlab codes: http://www-users.math.umd.edu/~lcw/MatlabCode/
No comments:
Post a Comment