SENG2250_Assignment3/Q2Tools.java
2021-11-05 16:14:18 +11:00

71 lines
1.4 KiB
Java

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;
}
}