JAVA   23

DH

Guest on 14th August 2022 06:37:48 AM

  1. import java.math.*;
  2.  
  3. public class DH {
  4.    public static void main(String arg[]) {
  5.       try {
  6.          BigInteger p = new BigInteger(arg[0]);
  7.          BigInteger g = new BigInteger(arg[1]);
  8.          BigInteger a = new BigInteger(arg[2]);
  9.          BigInteger b = new BigInteger(arg[3]);
  10.  
  11.          BigInteger x = g.pow(a.intValue());
  12.          System.out.println(g+"^"+a+" = "+x);
  13.          x = g.modPow(a, p);
  14.          System.out.println(g+"^"+a+" mod "+p+" = "+x);
  15.          BigInteger y = x.pow(b.intValue());
  16.          System.out.println("("+g+"^"+a+" mod "+p+")^"+b+" = "+y);
  17.          x = x.modPow(b, p);
  18.          System.out.println("("+g+"^"+a+" mod "+p+")^"+b+" mod "+p+" = "+x);
  19.          System.out.println();
  20.          
  21.          x = g.pow(b.intValue());
  22.          System.out.println(g+"^"+b+" = "+x);
  23.          x = g.modPow(b, p);
  24.          System.out.println(g+"^"+b+" mod "+p+" = "+x);
  25.          y = x.pow(b.intValue());
  26.          System.out.println("("+g+"^"+b+" mod "+p+")^"+a+" = "+y);
  27.          x = x.modPow(a, p);
  28.          System.out.println("("+g+"^"+b+" mod "+p+")^"+a+" mod "+p+" = "+x);
  29.       } catch (Exception e) {
  30.          System.out.println("Usage: java DH p g a b");
  31.       }
  32.    }
  33. }

Raw Paste


Login or Register to edit or fork this paste. It's free.