import java.math.BigInteger; public class Q2Tools { Q2Tools() { //Nothing to do here } public void generateRSA() { int e = 65537; //Generate p //Generate q } /** * A^B mod C * @param A * @param B * @param C */ public void fastModularExpon(int A, int B, int C) { String bInBinary = Integer.toBinaryString(B); int test = 0; System.out.println(bInBinary); int k = 0; for(int i = bInBinary.length()-1; i >= 0; i--) { if(bInBinary.charAt(i)=='1') { double temp = Math.pow(2, k); System.out.println(2+"^"+k+"="+temp); test += temp; } else { System.out.println(0+"^"+k+"=0"); } k++; } System.out.println(test); } /** * Simply wrapper for Integer.toBinaryString * @param number integer to be converted to binary * @return binary of number as an Biginteger */ public BigInteger convertToBinaryBigInt(int number) { //Take input number, convert to binary string String binaryString = Integer.toBinaryString(number); BigInteger bigBinary = new BigInteger(binaryString); return bigBinary; } }