private static void startSession() { Session session = Session.getInstance(true); Pair<BigInteger, BigInteger> privateKeys = session.getPrivateKey(); System.out.println(""); System.out.println("Private key x: " + privateKeys.getFirst()); System.out.println("Private key y: " + privateKeys.getSecond()); System.out.println(""); System.out.println("Please introduce message to sign:"); String text = null; while (text == null) { try { text = (new BufferedReader(new InputStreamReader(System.in))).readLine(); } catch (IOException e) { e.printStackTrace(); } } Pair<BigInteger, BigInteger> signature = DSA.sign( true, text, session.getGlobalKeyG(), session.getGlobalKeyP(), session.getGlobalKeyQ(), privateKeys.getFirst()); System.out.println( "Signature (r,s): (" + signature.getFirst() + ", " + signature.getSecond() + ")"); System.out.println(""); System.out.println("Do you want to verify a message?"); System.out.println(" 1.Yes (y)"); System.out.println(" 2.No (press enter)"); String alg = null; try { alg = (new BufferedReader(new InputStreamReader(System.in))).readLine(); } catch (IOException e) { e.printStackTrace(); } switch (alg) { case "y": verifyMessage(); break; default: System.out.println("Bye!"); System.exit(1); break; } }