private boolean createNewKeyexchange() {
		
		if (type == CLIENT) {

			try {
				// create new a
				crypto.createNewRandom();

				// calc new A
				BigInteger A = crypto.calcA(g);

				// send A
				sendBytes(A.toByteArray());

				// get B
				byte[] B = readBytes();

				// create AES Key
				crypto.createAESKey(B);

				return true;

			} catch (IOException e) {

				e.printStackTrace();
				
			}

		} else if (type == SERVER) {

			try {
				// create new a
				crypto.createNewRandom();
				
				// create A
				B = readBytes();
				BigInteger A = crypto.calcA(g);
				sendBytes(A.toByteArray());
				crypto.createAESKey(B);
				
			} catch (IOException e) {
				
				e.printStackTrace();
				
			}
			
		}
		
		return false;
	}