// Sample use of Java classes MessageDigest and SecureRandom. See the Java // API for more information. Recall, MessageDigest supplies hash objects and // SecureRandom supplies a crytographically strong random number (a large // number with a high probability of being prime). import java.io.*; import java.net.*; // For Socket, etc. import java.math.*; // For BigInteger public class DH_Client { public static void main (String arg[]) { InputStreamReader isr; BufferedReader in; PrintWriter out; try { DiffieHellmanExchange dh = new DiffieHellmanExchange("DHKey"); // Connect to the server Socket connect = new Socket("localhost", 8284); isr = new InputStreamReader(connect.getInputStream()); in = new BufferedReader(isr); out = new PrintWriter(connect.getOutputStream(), true); dh.computeSecret(in,out); System.out.println("Client: secret = "+dh.s_secret); } catch (Exception e) { System.out.println("Yikes!"); } } }