All pastes #2077264 Raw Edit

Untitled

public text v1 · immutable
#2077264 ·published 2011-06-09 11:50 UTC
rendered paste body
import java.math.BigInteger;

class RSA {
    
    public static void main(String[] args) {
        BigInteger n = new BigInteger("4111577933");
        BigInteger p = new BigInteger("62731");
        BigInteger q = new BigInteger("65543");
        BigInteger e = new BigInteger("63139");
        BigInteger z = p.add(new BigInteger("-1"))
                    .multiply(q.add(new BigInteger("-1")));
        
        BigInteger[] asd = euclid(e, z);
        
        System.out.println(asd[0].add(n)+ " * " + e + " + " +  asd[1] + " * " + z + " = " + asd[2]);
        BigInteger c = new BigInteger("1210034980");
        
        BigInteger m = c.modPow(asd[0].add(n), n);
        System.out.println(m);
    }
    public static BigInteger[] euclid(BigInteger a, BigInteger b) {
        BigInteger x = new BigInteger("0");
        BigInteger y = new BigInteger("1");
        BigInteger u = new BigInteger("1");
        BigInteger v = new BigInteger("0");
        BigInteger m,n,q,r;
        BigInteger gcd = b;
        
        while (!a.equals(new BigInteger("0"))) {
            q = gcd.divide(a);
            r = gcd.mod(a);
            m = x.subtract(u.multiply(q));
            n = y.subtract(v.multiply(q));
            gcd = a;
            a = r;
            x = u;
            y = v;
            u = m;
            v = n;
        }
        BigInteger[] temp = {x, y, gcd};
        return temp;
    }
}