return true if the specified value is a legal public value rather than a dangerous degenerate or confined subgroup value . tor-spec 5.2 before computing g ^ xy , both client and server must verify that the received g ^ x or g ^ y value is not degenerate ; that is , it must be strictly greater than 1 and strictly less than p-1 where p is the dh modulus . implementations must not complete a handshake with degenerate keys . concode_field_sep BigInteger P1024 concode_elem_sep int PRIVATE_KEY_SIZE concode_elem_sep DHParameterSpec DH_PARAMETER_SPEC concode_elem_sep int DH_LEN concode_elem_sep KeyAgreement dh concode_elem_sep BigInteger G concode_elem_sep KeyPair keyPair concode_elem_sep TorPublicKey onionKey concode_elem_sep int DH_SEC_LEN concode_field_sep byte[] getSharedSecret concode_elem_sep KeyAgreement createDH concode_elem_sep boolean deriveKeysFromHandshakeResponse concode_elem_sep boolean deriveKeysFromDHPublicAndHash concode_elem_sep BigInteger getPublicValue concode_elem_sep byte[] getPublicKeyBytes concode_elem_sep byte[] createOnionSkin concode_elem_sep KeyPair generateKeyPair
boolean function ( BigInteger arg0 ) { if ( arg0 . signum ( ) < 1 || arg0 . equals ( BigInteger . ONE ) ) return false ; if ( arg0 . compareTo ( P1024 . subtract ( BigInteger . ONE ) ) >= 0 ) return false ; return true ; }