Source Codes > Network Security Algorithms > DHKeyexchange
import java.math.BigInteger;
import java.util.Scanner;
public class DHKeyExchange {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.print("Enter n:");
BigInteger n=new BigInteger(sc.next());
System.out.print("Enter g:");
BigInteger g=new BigInteger(sc.next());
System.out.print("Enter x:");
int x=sc.nextInt();
System.out.print("Enter y:");
int y=sc.nextInt();
BigInteger p=g.pow(x).mod(n);
BigInteger q=g.pow(y).mod(n);
BigInteger k1=q.pow(x).mod(n);
BigInteger k2=p.pow(y).mod(n);
System.out.println("generated by A : "+k1);
System.out.println("generated by B : "+k2);
}
}
import java.util.Scanner;
public class DHKeyExchange {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.print("Enter n:");
BigInteger n=new BigInteger(sc.next());
System.out.print("Enter g:");
BigInteger g=new BigInteger(sc.next());
System.out.print("Enter x:");
int x=sc.nextInt();
System.out.print("Enter y:");
int y=sc.nextInt();
BigInteger p=g.pow(x).mod(n);
BigInteger q=g.pow(y).mod(n);
BigInteger k1=q.pow(x).mod(n);
BigInteger k2=p.pow(y).mod(n);
System.out.println("generated by A : "+k1);
System.out.println("generated by B : "+k2);
}
}