mirror of
https://github.com/zach-sb/SENG2250_Assignment3.git
synced 2025-11-09 02:57:37 +11:00
71 lines
1.4 KiB
Java
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;
|
|
}
|
|
|
|
}
|